]> gitweb.ps.run Git - ps-cgit/blobdiff - cgitrc.5.txt
filter: add page source to email filter
[ps-cgit] / cgitrc.5.txt
index 2c48081dd649a76a89c16c0c5be5f9e9066a0240..6a926aa922fe3d556b3933ebc6d663a8ecac7bff 100644 (file)
@@ -117,6 +117,14 @@ css::
        Url which specifies the css document to include in all cgit pages.
        Default value: "/cgit.css".
 
+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 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
        suitable for embedding in other html pages. Default value: none. See
@@ -133,8 +141,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
@@ -456,6 +465,10 @@ repo.defbranch::
 repo.desc::
        The value to show as repository description. Default value: none.
 
+repo.email-filter::
+       Override the default email-filter. Default value: none. See also:
+       "enable-filter-overrides". See also: "FILTER API".
+
 repo.enable-commit-graph::
        A flag which can be used to disable the global setting
        `enable-commit-graph'. Default value: none.
@@ -556,6 +569,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
@@ -568,6 +619,13 @@ commit filter::
        be filtered is available on standard input and the filtered text is
        expected on standard output.
 
+email filter::
+       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 to filter. The filter can use the filename to determine (for