]> gitweb.ps.run Git - ps-cgit/blobdiff - cgitrc.5.txt
filter: add lua support
[ps-cgit] / cgitrc.5.txt
index b4603ef2287c204939fd184bd62d56532e963086..78f33c8308e6379a9e643da006c660b122f571bd 100644 (file)
@@ -39,7 +39,8 @@ agefile::
        to specify the date and time of the youngest commit in the repository.
        The first line in the file is used as input to the "parse_date"
        function in libgit. Recommended timestamp-format is "yyyy-mm-dd
-       hh:mm:ss". Default value: "info/web/last-modified".
+       hh:mm:ss". You may want to generate this file from a post-receive
+       hook. Default value: "info/web/last-modified".
 
 branch-sort::
        Flag which, when set to "age", enables date ordering in the branch ref
@@ -50,32 +51,40 @@ cache-root::
        Path used to store the cgit cache entries. Default value:
        "/var/cache/cgit". See also: "MACRO EXPANSION".
 
+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".
+
 cache-dynamic-ttl::
        Number which specifies the time-to-live, in minutes, for the cached
-       version of repository pages accessed without a fixed SHA1. Default
-       value: "5".
+       version of repository pages accessed without a fixed SHA1. Negative
+       values have infinite ttl. Default value: "5".
 
 cache-repo-ttl::
        Number which specifies the time-to-live, in minutes, for the cached
-       version of the repository summary page. Default value: "5".
+       version of the repository summary page. Negative values have infinite
+       ttl. Default value: "5".
 
 cache-root-ttl::
        Number which specifies the time-to-live, in minutes, for the cached
-       version of the repository index page. Default value: "5".
+       version of the repository index page. Negative values have infinite
+       ttl. 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. Default value: "15".
+       of scanning a path for git repositories. Negative values have infinite
+       ttl. 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".
 
 cache-size::
        The maximum number of entries in the cgit cache. Default value: "0"
        (i.e. caching is disabled).
 
-cache-static-ttl::
-       Number which specifies the time-to-live, in minutes, for the cached
-       version of repository pages accessed with a fixed SHA1. Default value:
-       "5".
-
 case-sensitive-sort::
        Sort items in the repo list case sensitively. Default value: "1".
        See also: repository-sort, section-sort.
@@ -124,8 +133,9 @@ enable-filter-overrides::
 
 enable-http-clone::
        If set to "1", cgit will act as an dumb HTTP endpoint for git clones.
-       If you use an alternate way of serving git repositories, you may wish
-       to disable this. Default value: "1".
+       You can add "http://$HTTP_HOST$SCRIPT_NAME/$CGIT_REPO_URL" to clone-url
+       to expose this feature. If you use an alternate way of serving git
+       repositories, you may wish to disable this. Default value: "1".
 
 enable-index-links::
        Flag which, when set to "1", will make cgit generate extra links for
@@ -167,7 +177,7 @@ enable-git-config::
        "scan-path", and must be defined prior, to augment repo-specific
        settings. The keys gitweb.owner, gitweb.category, and gitweb.description
        will map to the cgit keys repo.owner, repo.section, and repo.desc,
-       respectivly. All git config keys that begin with "cgit." will be mapped
+       respectively. All git config keys that begin with "cgit." will be mapped
        to the corresponding "repo." key in cgit. Default value: "0". See also:
        scan-path, section-from-path.
 
@@ -275,7 +285,7 @@ nocache::
        value: "0".
 
 noplainemail::
-       If set to "1" showing full author email adresses will be disabled.
+       If set to "1" showing full author email addresses will be disabled.
        Default value: "0".
 
 noheader::
@@ -547,6 +557,44 @@ config files, e.g. "repo.desc" becomes "desc".
 
 FILTER API
 ----------
+By default, filters are separate processes that are executed each time they
+are needed.  Alternative technologies may be used by prefixing the filter
+specification with the relevant string; available values are:
+
+'exec:'::
+       The default "one process per filter" mode.
+
+'lua:'::
+       Executes the script using a built-in Lua interpreter. The script is
+       loaded once per execution of cgit, and may be called multiple times
+       during cgit's lifetime, making it a good choice for repeated filters
+       such as the 'email filter'. It responds to three functions:
+
+       'filter_open(argument1, argument2, argument3, ...)'::
+               This is called upon activation of the filter for a particular
+               set of data.
+       'filter_write(buffer)'::
+               This is called whenever cgit writes data to the webpage.
+       'filter_close()'::
+               This is called when the current filtering operation is
+               completed.
+       
+       Additionally, cgit exposes to the Lua the following built-in functions:
+
+       'html(str)'::
+               Writes 'str' to the webpage.
+       'html_txt(str)'::
+               HTML escapes and writes 'str' to the webpage.
+       'html_attr(str)'::
+               HTML escapes for an attribute and writes "str' to the webpage.
+       'html_url_path(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.
+
+
+Parameters are provided to filters as follows.
+
 about filter::
        This filter is given a single parameter: the filename of the source
        file to filter. The filter can use the filename to determine (for
@@ -583,8 +631,8 @@ environment variable will be unset.
 
 MACRO EXPANSION
 ---------------
-The following cgitrc options supports a simple macro expansion feature,
-where tokens prefixed with "$" are replaced with the value of a similary
+The following cgitrc options support a simple macro expansion feature,
+where tokens prefixed with "$" are replaced with the value of a similarly
 named environment variable:
 
 - cache-root
@@ -611,7 +659,7 @@ EXAMPLE CGITRC FILE
 -------------------
 
 ....
-# Enable caching of up to 1000 output entriess
+# Enable caching of up to 1000 output entries
 cache-size=1000
 
 
@@ -627,7 +675,7 @@ enable-index-owner=1
 
 
 # Allow http transport git clone
-enable-git-clone=1
+enable-http-clone=1
 
 
 # Show extra links for each repository on the index page
@@ -691,7 +739,7 @@ mimetype.png=image/png
 mimetype.svg=image/svg+xml
 
 
-# Highlight source code with python pygments-based highligher
+# Highlight source code with python pygments-based highlighter
 source-filter=/var/www/cgit/filters/syntax-highlighting.py
 
 # Format markdown, restructuredtext, manpages, text files, and html files