hh:mm:ss". You may want to generate this file from a post-receive
hook. Default value: "info/web/last-modified".
+auth-filter::
+ Specifies a command that will be invoked for authenticating repository
+ access. Receives quite a few arguments, and data on both stdin and
+ stdout for authentication processing. Details follow later in this
+ document. If no auth-filter is specified, no authentication is
+ performed. Default value: none. See also: "FILTER API".
+
branch-sort::
Flag which, when set to "age", enables date ordering in the branch ref
list, and when set to "name" enables ordering by branch name. Default
cache-static-ttl::
Number which specifies the time-to-live, in minutes, for the cached
- version of repository pages accessed with a fixed SHA1. Negative
- values have infinite ttl. Default value: -1".
+ version of repository pages accessed with a fixed SHA1. See also:
+ "CACHE". Default value: -1".
cache-dynamic-ttl::
Number which specifies the time-to-live, in minutes, for the cached
- version of repository pages accessed without a fixed SHA1. Negative
- values have infinite ttl. Default value: "5".
+ version of repository pages accessed without a fixed SHA1. See also:
+ "CACHE". Default value: "5".
cache-repo-ttl::
Number which specifies the time-to-live, in minutes, for the cached
- version of the repository summary page. Negative values have infinite
- ttl. Default value: "5".
+ version of the repository summary page. See also: "CACHE". Default
+ value: "5".
cache-root-ttl::
Number which specifies the time-to-live, in minutes, for the cached
- version of the repository index page. Negative values have infinite
- ttl. Default value: "5".
+ version of the repository index page. See also: "CACHE". Default
+ value: "5".
cache-scanrc-ttl::
Number which specifies the time-to-live, in minutes, for the result
- of scanning a path for git repositories. Negative values have infinite
- ttl. Default value: "15".
+ of scanning a path for git repositories. See also: "CACHE". Default
+ value: "15".
cache-about-ttl::
Number which specifies the time-to-live, in minutes, for the cached
- version of the repository about page. Negative values have infinite
- ttl. Default value: "15".
+ version of the repository about page. See also: "CACHE". Default
+ value: "15".
+
+cache-snapshot-ttl::
+ Number which specifies the time-to-live, in minutes, for the cached
+ version of snapshots. See also: "CACHE". Default value: "5".
cache-size::
- The maximum number of entries in the cgit cache. Default value: "0"
- (i.e. caching is disabled).
+ The maximum number of entries in the cgit cache. When set to "0",
+ caching is disabled. See also: "CACHE". Default value: "0"
case-sensitive-sort::
Sort items in the repo list case sensitively. Default value: "1".
Specifies a command which will be invoked to format names and email
address of committers, authors, and taggers, as represented in various
places throughout the cgit interface. This command will receive an
- email address as its only command line argument, and the text to
- format on STDIN. It is to write the formatted text back out onto
- STDOUT. Default value: none. See also: "FILTER API".
+ email address and an origin page string as its command line arguments,
+ and the text to format on STDIN. It is to write the formatted text back
+ out onto STDOUT. Default value: none. See also: "FILTER API".
embedded::
Flag which, when set to "1", will make cgit generate a html fragment
default. Default value: "0".
snapshots::
- Text which specifies the default set of snapshot formats generated by
- cgit. The value is a space-separated list of zero or more of the
- values "tar", "tar.gz", "tar.bz2", "tar.xz" and "zip". Default value:
- none.
+ Text which specifies the default set of snapshot formats that cgit
+ generates links for. The value is a space-separated list of zero or
+ more of the values "tar", "tar.gz", "tar.bz2", "tar.xz" and "zip".
+ Default value: none.
source-filter::
Specifies a command which will be invoked to format plaintext blobs
file. Default value: <readme>.
repo.snapshots::
- A mask of allowed snapshot-formats for this repo, restricted by the
- "snapshots" global setting. Default value: <snapshots>.
+ A mask of snapshot formats for this repo that cgit generates links for,
+ restricted by the global "snapshots" setting. Default value:
+ <snapshots>.
repo.section::
Override the current section name for this repository. Default value:
This is called whenever cgit writes data to the webpage.
'filter_close()'::
This is called when the current filtering operation is
- completed.
-
+ completed. It must return an integer value. Usually 0
+ indicates success.
+
Additionally, cgit exposes to the Lua the following built-in functions:
'html(str)'::
URL escapes for a path and writes 'str' to the webpage.
'html_url_arg(str)'::
URL escapes for an argument and writes 'str' to the webpage.
+ 'html_include(file)'::
+ Includes 'file' in webpage.
Parameters are provided to filters as follows.
expected on standard output.
email filter::
- This filter is given a single parameter: the email address of the
- relevent user. The filter will then receive the text string to format
- on standard input and is expected to write to standard output the
- formatted text to be included in the page.
+ This filter is given two parameters: the email address of the relevent
+ author and a string indicating the originating page. The filter will
+ then receive the text string to format on standard input and is
+ expected to write to standard output the formatted text to be included
+ in the page.
source filter::
This filter is given a single parameter: the filename of the source
file that is to be filtered is available on standard input and the
filtered contents is expected on standard output.
-Also, all filters are handed the following environment variables:
+auth filter::
+ The authentication filter receives 12 parameters:
+ - filter action, explained below, which specifies which action the
+ filter is called for
+ - http cookie
+ - http method
+ - http referer
+ - http path
+ - http https flag
+ - cgit repo
+ - cgit page
+ - cgit url
+ - cgit login url
+ When the filter action is "body", this filter must write to output the
+ HTML for displaying the login form, which POSTs to the login url. When
+ the filter action is "authenticate-cookie", this filter must validate
+ the http cookie and return a 0 if it is invalid or 1 if it is invalid,
+ in the exit code / close function. If the filter action is
+ "authenticate-post", this filter receives POST'd parameters on
+ standard input, and should write a complete CGI request, preferably
+ with a 302 redirect, and write to output one or more "Set-Cookie"
+ HTTP headers, each followed by a newline.
+
+ Please see `filters/simple-authentication.lua` for a clear example
+ script that may be modified.
+
+
+All filters are handed the following environment variables:
- CGIT_REPO_URL (from repo.url)
- CGIT_REPO_NAME (from repo.name)
- repo.clone-url
+CACHE
+------
+
+All cache ttl values are in minutes. Negative ttl values indicate that a page
+type will never expire, and thus the first time a URL is accessed, the result
+will be cached indefinitely, even if the underlying git repository changes.
+Conversely, when a ttl value is zero, the cache is disabled for that
+particular page type, and the page type is never cached.
+
+
EXAMPLE CGITRC FILE
-------------------