Diffstat (limited to 'cgitrc.5.txt')
| -rw-r--r-- | cgitrc.5.txt | 405 |
1 files changed, 97 insertions, 308 deletions
diff --git a/cgitrc.5.txt b/cgitrc.5.txt index 527233d..8eafc4a 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -54,73 +54,47 @@ branch-sort:: list, and when set to "name" enables ordering by branch name. Default value: "name". -cache-about-ttl:: +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 the repository about page. See also: "CACHE". Default - value: "15". + 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. See also: - "CACHE". 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. See also: "CACHE". Default - value: "5". - -cache-root:: - Path used to store the cgit cache entries. Default value: - "/var/cache/cgit". See also: "MACRO EXPANSION". + 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. See also: "CACHE". 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. See also: "CACHE". Default - value: "15". - -case-sensitive-sort:: - Sort items in the repo list case sensitively. Default value: "1". - See also: repository-sort, section-sort. - -cache-size:: - The maximum number of entries in the cgit cache. When set to "0", - caching is disabled. See also: "CACHE". Default value: "0" - -cache-snapshot-ttl:: - Number which specifies the time-to-live, in minutes, for the cached - version of snapshots. See also: "CACHE". Default value: "5". + of scanning a path for git repositories. Negative values have infinite + ttl. Default value: "15". -cache-static-ttl:: +cache-about-ttl:: Number which specifies the time-to-live, in minutes, for the cached - version of repository pages accessed with a fixed SHA1. See also: - "CACHE". Default value: -1". - -ci-branch-url:: - Url template used by the "ci" tab when a branch is being viewed. If - unspecified, `ci-url` is used instead. Default value: none. See also: - "CI URL EXPANSION". + version of the repository about page. Negative values have infinite + ttl. Default value: "15". -ci-filter:: - Specifies a command which decides whether the "ci" tab is shown for - the ref currently being viewed, which is useful when only some refs - have a pipeline. Default value: none. See also: "FILTER API". - -ci-tag-url:: - Url template used by the "ci" tab when a tag is being viewed. If - unspecified, `ci-url' is used instead. Default value: none. See also: - "CI URL EXPANSION". +cache-size:: + The maximum number of entries in the cgit cache. Default value: "0" + (i.e. caching is disabled). -ci-url:: - Url template used by the "ci" tab for refs which are not covered by - `ci-branch-url` or `ci-tag-url`. When at least one of the three ci url - settings is specified, cgit adds a "ci" tab which redirects to the - expanded url for the ref currently being viewed. Default value: none. - See also: "CI URL EXPANSION". +case-sensitive-sort:: + Sort items in the repo list case sensitively. Default value: "1". + See also: repository-sort, section-sort. clone-prefix:: Space-separated list of common prefixes which, when combined with a @@ -148,8 +122,7 @@ commit-sort:: css:: Url which specifies the css document to include in all cgit pages. - Default value: "/cgit.css". May be given multiple times, each - css URL path is added in the head section of the document in turn. + Default value: "/cgit.css". email-filter:: Specifies a command which will be invoked to format names and email @@ -164,11 +137,6 @@ embedded:: suitable for embedding in other html pages. Default value: none. See also: "noheader". -enable-blame:: - Flag which, when set to "1", will allow cgit to provide a "blame" page - for files, and will make it generate links to that page in appropriate - places. Default value: "0". - enable-commit-graph:: Flag which, when set to "1", will make cgit print an ASCII-art commit history graph to the left of the commit messages in the repository @@ -178,33 +146,12 @@ enable-filter-overrides:: Flag which, when set to "1", allows all filter settings to be overridden in repository-specific cgitrc files. Default value: none. -enable-follow-links:: - Flag which, when set to "1", allows users to follow a file in the log - view. Default value: "0". - -enable-git-config:: - Flag which, when set to "1", will allow cgit to use git config to set - any repo specific settings. This option is used in conjunction with - "scan-path", and must be defined prior, to augment repo-specific - settings. The keys gitweb.owner, gitweb.category, gitweb.description, - and gitweb.homepage will map to the cgit keys repo.owner, repo.section, - repo.desc, and repo.homepage 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. - enable-http-clone:: - If set to "1", cgit will act as a dumb HTTP endpoint for git clones. + If set to "1", cgit will act as an dumb HTTP endpoint for git clones. 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-html-serving:: - Flag which, when set to "1", will allow the /plain handler to serve - mimetype headers that result in the file being treated as HTML by the - browser. When set to "0", such file types are returned instead as - text/plain or application/octet-stream. Default value: "0". See also: - "repo.enable-html-serving". - enable-index-links:: Flag which, when set to "1", will make cgit generate extra links for each repo in the repository index (specifically, to the "summary", @@ -239,15 +186,20 @@ enable-tree-linenumbers:: Flag which, when set to "1", will make cgit generate linenumber links for plaintext blobs printed in the tree view. Default value: "1". +enable-git-config:: + Flag which, when set to "1", will allow cgit to use git config to set + any repo specific settings. This option is used in conjunction with + "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, + 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. + favicon:: - Url used as link to a shortcut icon for cgit. It is suggested to - always include the value "/favicon.ico" since certain browsers will - ignore other values. May be given multiple times, each favicon URL - path is added in the head section of the document in turn, letting - the browser pick the icon it prefers. The mimetype of each icon is - deduced from the extension of its url ("ico", "png", "svg", "gif", - "jpg", "jpeg", "webp" and "avif" are recognized) and emitted as a - "type" attribute. Default value: "/favicon.svg", "/favicon.ico". + Url used as link to a shortcut icon for cgit. It is suggested to use + the value "/favicon.ico" since certain browsers will ignore other + values. Default value: "/favicon.ico". footer:: The content of the file specified with this option will be included @@ -266,10 +218,17 @@ include:: Name of a configfile to include before the rest of the current config- file is parsed. Default value: none. See also: "MACRO EXPANSION". -js:: - Url which specifies the javascript script document to include in all cgit - pages. Default value: "/cgit.js". Setting this to an empty string will - disable generation of the link to this file in the head section. +index-header:: + The content of the file specified with this option will be included + verbatim above the repository index. This setting is deprecated, and + will not be supported by cgit-1.0 (use root-readme instead). Default + value: none. + +index-info:: + The content of the file specified with this option will be included + verbatim below the heading on the repository index page. This setting + is deprecated, and will not be supported by cgit-1.0 (use root-desc + instead). Default value: none. local-time:: Flag which, if set to "1", makes cgit print commit and tag times in the @@ -277,7 +236,7 @@ local-time:: logo:: Url which specifies the source of an image which will be used as a logo - on all cgit pages. Default value: "/cgit.svg". + on all cgit pages. Default value: "/cgit.png". logo-link:: Url loaded when clicking on the cgit logo image. If unspecified the @@ -288,10 +247,6 @@ max-atom-items:: Specifies the number of items to display in atom feeds view. Default value: "10". -max-blob-size:: - Specifies the maximum size of a blob to display HTML for in KBytes. - Default value: "0" (limit disabled). - max-commit-count:: Specifies the number of entries to list per page in "log" view. Default value: "50". @@ -302,13 +257,16 @@ max-message-length:: max-repo-count:: Specifies the number of entries to list per page on the repository - index page. The value "0" shows all repositories without limitation. - Default value: "50". + index page. Default value: "50". max-repodesc-length:: Specifies the maximum number of repo description characters to display on the repository index page. Default value: "80". +max-blob-size:: + Specifies the maximum size of a blob to display HTML for in KBytes. + Default value: "0" (limit disabled). + max-stats:: Set the default maximum statistics period. Valid values are "week", "month", "quarter" and "year". If unspecified, statistics are @@ -336,6 +294,11 @@ module-link:: formatstring are the path and SHA1 of the submodule commit. Default value: none. +nocache:: + If set to the value "1" caching will be disabled. This settings is + deprecated, and will not be honored starting with cgit-1.0. Default + value: "0". + noplainemail:: If set to "1" showing full author email addresses will be disabled. Default value: "0". @@ -344,15 +307,6 @@ noheader:: Flag which, when set to "1", will make cgit omit the standard header on all pages. Default value: none. See also: "embedded". -owner-filter:: - Specifies a command which will be invoked to format the Owner - column of the main page. The command will get the owner on STDIN, - and the STDOUT from the command will be included verbatim in the - table. This can be used to link to additional context such as an - owners home page. When active this filter is used instead of the - default owner query url. Default value: none. - See also: "FILTER API". - project-list:: A list of subdirectories inside of scan-path, relative to it, that should loaded as git repositories. This must be defined prior to @@ -376,6 +330,10 @@ renamelimit:: "-1" uses the compiletime value in git (for further info, look at `man git-diff`). Default value: "-1". +repo.group:: + Legacy alias for "section". This option is deprecated and will not be + supported in cgit-1.0. + repository-sort:: The way in which repositories in each section are sorted. Valid values are "name" for sorting by the repo name or "age" for sorting by the @@ -441,12 +399,8 @@ side-by-side-diffs:: snapshots:: 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.lz", "tar.xz", - "tar.zst" and "zip". The special value "all" enables all snapshot - formats. Default value: none. - All compressors use default settings. Some settings can be influenced - with environment variables, for example set ZSTD_CLEVEL=10 in web - server environment for higher (but slower) zstd compression. + 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 @@ -495,22 +449,6 @@ repo.branch-sort:: list, and when set to "name" enables ordering by branch name. Default value: "name". -repo.ci-branch-url:: - Override the global setting `ci-branch-url' for this repository. - Default value: <ci-branch-url>. See also: "CI URL EXPANSION". - -repo.ci-filter:: - Override the default ci-filter. Default value: none. See also: - "enable-filter-overrides". See also: "FILTER API". - -repo.ci-tag-url:: - Override the global setting `ci-tag-url' for this repository. Default - value: <ci-tag-url>. See also: "CI URL EXPANSION". - -repo.ci-url:: - Override the global setting `ci-url' for this repository. Default - value: <ci-url>. See also: "CI URL EXPANSION". - repo.clone-url:: A list of space-separated urls which can be used to clone this repo. Default value: none. See also: "MACRO EXPANSION". @@ -538,22 +476,10 @@ repo.email-filter:: Override the default email-filter. Default value: none. See also: "enable-filter-overrides". See also: "FILTER API". -repo.enable-blame:: - A flag which can be used to disable the global setting - `enable-blame'. Default value: none. - repo.enable-commit-graph:: A flag which can be used to disable the global setting `enable-commit-graph'. Default value: none. -repo.enable-follow-links:: - A flag which can be used to disable the global setting - `enable-follow-links'. Default value: none. - -repo.enable-html-serving:: - A flag which can be used to override the global setting - `enable-html-serving`. Default value: none. - repo.enable-log-filecount:: A flag which can be used to disable the global setting `enable-log-filecount'. Default value: none. @@ -570,23 +496,6 @@ repo.enable-subject-links:: A flag which can be used to override the global setting `enable-subject-links'. Default value: none. -repo.extra-head-content:: - This value will be added verbatim to the head section of each page - displayed for this repo. Default value: none. - -repo.hide:: - Flag which, when set to "1", hides the repository from the repository - index. The repository can still be accessed by providing a direct path. - Default value: "0". See also: "repo.ignore". - -repo.homepage:: - The value to show as repository homepage. Default value: none. - -repo.ignore:: - Flag which, when set to "1", ignores the repository. The repository - is not shown in the index and cannot be accessed by providing a direct - path. Default value: "0". See also: "repo.hide". - repo.logo:: Url which specifies the source of an image which will be used as a logo on this repo's pages. Default value: global logo. @@ -620,10 +529,6 @@ repo.owner:: A value used to identify the owner of the repository. Default value: none. -repo.owner-filter:: - Override the default owner-filter. Default value: none. See also: - "enable-filter-overrides". See also: "FILTER API". - repo.path:: An absolute path to the repository directory. For non-bare repositories this is the .git-directory. Default value: none. @@ -633,27 +538,20 @@ repo.readme:: verbatim as the "About" page for this repo. You may also specify a git refspec by head or by hash by prepending the refspec followed by a colon. For example, "master:docs/readme.mkd". If the value begins - with a colon, i.e. ":docs/readme.rst", the head giving in query or - the default branch of the repository will be used. Sharing any file - will expose that entire directory tree to the "/about/PATH" endpoints, - so be sure that there are no non-public files located in the same - directory as the readme file. Default value: <readme>. - -repo.section:: - Override the current section name for this repository. Default value: - none. + with a colon, i.e. ":docs/readme.rst", the default branch of the + repository will be used. Sharing any file will expose that entire + directory tree to the "/about/PATH" endpoints, so be sure that there + are no non-public files located in the same directory as the readme + file. Default value: <readme>. repo.snapshots:: A mask of snapshot formats for this repo that cgit generates links for, restricted by the global "snapshots" setting. Default value: <snapshots>. -repo.snapshot-prefix:: - Prefix to use for snapshot links instead of the repository basename. - For example, the "linux-stable" repository may wish to set this to - "linux" so that snapshots are in the format "linux-3.15.4" instead - of "linux-stable-3.15.4". Default value: <empty> meaning to use - the repository basename. +repo.section:: + Override the current section name for this repository. Default value: + none. repo.source-filter:: Override the default source-filter. Default value: none. See also: @@ -701,7 +599,7 @@ specification with the relevant string; available values are: This is called when the current filtering operation is completed. It must return an integer value. Usually 0 indicates success. - + Additionally, cgit exposes to the Lua the following built-in functions: 'html(str)':: @@ -727,6 +625,25 @@ about filter:: The about text that is to be filtered is available on standard input and the filtered text is expected on standard output. +commit filter:: + This filter is given no arguments. The commit message text that is to + 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 + example) the syntax highlighting mode. The contents of the source + file that is to be filtered is available on standard input and the + filtered contents is expected on standard output. + auth filter:: The authentication filter receives 12 parameters: - filter action, explained below, which specifies which action the @@ -746,51 +663,13 @@ auth filter:: 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 response, preferably + 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. -ci filter:: - This filter is given three parameters: the name of the branch or tag - being viewed, the string "branch" or "tag" to say which of the two it - is, and the ci url that the "ci" tab would redirect to. It decides - whether that tab is shown at all, by returning zero from the exit code - / close function to show it and non-zero to hide it. Nothing is written - to its standard input, and it must not write to standard output, since - that would land in the middle of the page being rendered. - - The filter is consulted while rendering every page of the repository, - not only ref pages, so a filter which contacts the ci system should - cache its verdict and use a short timeout. Please see - `filters/ci-jenkins.sh` for an example. - -commit filter:: - This filter is given no arguments. The commit message text that is to - 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 relevant - 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. - -owner filter:: - This filter is given no arguments. The owner text is available on - standard input and the filter is expected to write to standard - output. The output is included in the Owner column. - -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 - example) the syntax highlighting mode. The contents of the source - file that is to be filtered is available on standard input and the - filtered contents is expected on standard output. - All filters are handed the following environment variables: @@ -833,83 +712,6 @@ the environment variables defined in "FILTER API": - repo.clone-url -CI URL EXPANSION ----------------- -The options `ci-url', `ci-branch-url' and `ci-tag-url' (and their -`repo.'-prefixed counterparts) are url templates in which the following -tokens are substituted when the "ci" tab is followed: - -$ref:: - The name of the branch or tag currently being viewed. - -$repo:: - The url of the repository, i.e. the value of `repo.url'. - -$slug:: - $repo with any ".git" suffix removed and all slashes replaced by - dashes, e.g. "sayauz/web.git" becomes "sayauz-web". - -Two consecutive dollar signs produce a single literal one, and any other -"$" is left untouched. Tokens are substituted verbatim, so the resulting -url must already be properly encoded. - -When a tag is being viewed, `ci-tag-url' is used; for anything else -`ci-branch-url' is used. Whichever of the two applies falls back to -`ci-url' when it is unset, and the "ci" tab yields "404 Not found" when -neither is set for the current ref. This makes it possible to point at a -Jenkins multibranch pipeline, where branches and tags live at different -locations: - - ci-branch-url=https://ci.example.org/job/$slug/job/$ref - ci-tag-url=https://ci.example.org/job/$slug/view/tags/job/$ref - -Setting `repo.ci-url' discards the values which the repository would -otherwise inherit from the global `ci-branch-url' and `ci-tag-url', so -that a single repository can be pointed at a different ci system without -having to override both of them. - -Note that cgit itself never contacts the ci system, so a tab shown for a -ref which has no pipeline only reveals that after being followed. Use -`ci-filter' to suppress the tab in that case. - - -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. - -SIGNATURES ----------- - -Cgit can host .asc signatures corresponding to various snapshot formats, -through use of git notes. For example, the following command may be used to -add a signature to a .tar.xz archive: - - git notes --ref=refs/notes/signatures/tar.xz add -C "$( - gpg --output - --armor --detach-sign cgit-1.1.tar.xz | - git hash-object -w --stdin - )" v1.1 - -If it is instead desirable to attach a signature of the underlying .tar, this -will be linked, as a special case, beside a .tar.* link that does not have its -own signature. For example, a signature of a tarball of the latest tag might -be added with a similar command: - - tag="$(git describe --abbrev=0)" - git notes --ref=refs/notes/signatures/tar add -C "$( - git archive --format tar --prefix "cgit-${tag#v}/" "$tag" | - gpg --output - --armor --detach-sign | - git hash-object -w --stdin - )" "$tag" - -Since git-archive(1) is expected to produce stable output between versions, -this allows one to generate a long-term signature of the contents of a given -tag. - EXAMPLE CGITRC FILE ------------------- @@ -921,15 +723,8 @@ cache-size=1000 # Specify some default clone urls using macro expansion clone-url=git://foo.org/$CGIT_REPO_URL git@foo.org:$CGIT_REPO_URL - # Specify the css url css=/css/cgit.css -css=/css/solarized.css - - -# Add a "ci" tab pointing at a Jenkins multibranch pipeline -ci-branch-url=https://ci.foo.org/job/$slug/job/$ref -ci-tag-url=https://ci.foo.org/job/$slug/view/tags/job/$ref # Show owner on index page @@ -944,10 +739,6 @@ enable-http-clone=1 enable-index-links=1 -# Enable blame page and create links to it from tree page -enable-blame=1 - - # Enable ASCII art commit history graph on the log pages enable-commit-graph=1 @@ -964,8 +755,7 @@ enable-log-linecount=1 branch-sort=age -# Add cgit favicons -favicon=/favicon.svg +# Add a cgit favicon favicon=/favicon.ico @@ -1125,4 +915,3 @@ AUTHOR ------ Lars Hjemli <hjemli@gmail.com> Jason A. Donenfeld <Jason@zx2c4.com> -Saya Andy <saya.andy@posteo.com> |