]> git.cameronkatri.com Git - cgit.git/blobdiff - cgitrc.5.txt
remove trailing whitespaces from source files
[cgit.git] / cgitrc.5.txt
index b7dc5a4ca665e092a7f5f03a9f749fccd02984b1..b7570db3ed30f2010a706fecc4e4d9b30dcc3541 100644 (file)
@@ -42,6 +42,13 @@ agefile::
        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
@@ -53,37 +60,41 @@ cache-root::
 
 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".
@@ -121,9 +132,9 @@ email-filter::
        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
@@ -390,10 +401,10 @@ side-by-side-diffs::
        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
@@ -538,8 +549,9 @@ repo.readme::
        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:
@@ -589,8 +601,9 @@ specification with the relevant string; available values are:
                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)'::
@@ -603,6 +616,8 @@ specification with the relevant string; available values are:
                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.
@@ -620,10 +635,11 @@ commit filter::
        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
@@ -632,7 +648,34 @@ source filter::
        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)
@@ -673,6 +716,16 @@ the environment variables defined in "FILTER API":
 - 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
 -------------------