about summary refs log tree commit diff
path: root/README
blob: 010dd5ccb02fac5da080833331dabdcd8ef165cd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

                       cgit - cgi for git


This is an attempt to create a fast web interface for the git scm, using a 
frontside cache to decrease server io-pressure.

When cgit is invoked, it looks for a cached page matching the request. If no
such cachefile exist (or it has expired), it is (re)generated. Finally, the
cachefile is returned to the client.

If the cachefile has expired, but cgit is unable to lock the cachefile, the 
client will get the stale cachefile after all. This is done to favour page
throughput over page freshness.

Also, when a cachefile is generated, a few cache-related http-headers are
created: "Modified" is set to current time(2), while "Expires" is set to 
time(2) + <cachefile TTL> * 60 (unless the TTL is negative, in which case it
is read as "60 * 60 * 24 * 365"). This is done to avoid repeated requests for
already visited pages.

The following cache-related options can be set in /etc/cgitrc:

  cache-root=<path>           root directory for cache files
  cache-root-ttl=<min>        TTL for the repo listing page
  cache-repo-ttl=<min>        TTL for repo summary pages
  cache-dynamic-ttl=<min>     TTL for pages with symbolic references
  cache-static-ttl=<min>      TTL for pages with sha1 references

The cachefiles are split into different directories, based on the requested
repository and page:

  Repo listing:  <cachedir>/index.html
  Repo summary:  <cachedir>/<repo>/index.html
  Repo subpage:  <cachedir>/<repo>/<page>/<querystring>.html
120687a531cde&follow=1'>Fix C lexer to require a digit in a float literalJune McEnroe 2021-01-13Support long double in c.shJune McEnroe 2021-01-13Update Terminal.app coloursJune McEnroe 2021-01-13Increase dark white brightness slightlyJune McEnroe 2021-01-13Add hilex example to htagml manualJune McEnroe 2021-01-12Style causal.agency like bin HTMLJune McEnroe 2021-01-12Avoid matching tag text inside HTML elementsJune McEnroe 2021-01-12Use hilex for up -hJune McEnroe 2021-01-12Use hilex for bin HTMLJune McEnroe 2021-01-12Don't output a pre in hilex by defaultJune McEnroe 2021-01-12Move hilex out of hilex directoryJune McEnroe 2021-01-12Consolidate hilex formatters into hilex.cJune McEnroe 2021-01-12Remove hacky tagging from hilexJune McEnroe 2021-01-12Add htagml -iJune McEnroe 2021-01-12Render tag index in HTMLJune McEnroe 2021-01-12Add htagml -xJune McEnroe 2021-01-12Prevent matching the same tag twiceJune McEnroe 2021-01-12Process htagml file line by lineJune McEnroe 2021-01-12Split fields by tab onlyJune McEnroe 2021-01-12List both Makefile and html.sh under README.7June McEnroe 2021-01-12Add htagml exampleJune McEnroe 2021-01-12Use mandoc and htagml for bin htmlJune McEnroe 2021-01-12Add htagmlJune McEnroe 2021-01-12Replace causal.agency with a simple mdoc pageJune McEnroe 2021-01-11Publish "Using vi"June McEnroe 2021-01-11Enable diff.colorMovedJune McEnroe 2021-01-10Set less search case-insensitiveJune McEnroe 2021-01-10Set EXINITJune McEnroe 2021-01-09Add c -t flag to print expression typeJune McEnroe 2021-01-05Update taglineJune McEnroe