]> git.cameronkatri.com Git - cgit.git/blobdiff - cgitrc.5.txt
cgitrc.5: improve example config
[cgit.git] / cgitrc.5.txt
index 95a104955424ef2113e1ebea4747814f2698064e..b072467cb2595b39284b10c84b4b086010d59262 100644 (file)
@@ -29,9 +29,10 @@ GLOBAL SETTINGS
 about-filter::
        Specifies a command which will be invoked to format the content of
        about pages (both top-level and for each repository). The command will
-       get the content of the about-file on its STDIN, and the STDOUT from the
-       command will be included verbatim on the about page. Default value:
-       none. See also: "FILTER API".
+       get the content of the about-file on its STDIN, the name of the file
+       as the first argument, and the STDOUT from the command will be
+       included verbatim on the about page. Default value: none. See
+       also: "FILTER API".
 
 agefile::
        Specifies a path, relative to each repository path, which can be used
@@ -40,6 +41,11 @@ agefile::
        function in libgit. Recommended timestamp-format is "yyyy-mm-dd
        hh:mm:ss". Default value: "info/web/last-modified".
 
+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
+       value: "name".
+
 cache-root::
        Path used to store the cgit cache entries. Default value:
        "/var/cache/cgit". See also: "MACRO EXPANSION".
@@ -92,6 +98,12 @@ commit-filter::
        be used to implement bugtracker integration. Default value: none.
        See also: "FILTER API".
 
+commit-sort::
+       Flag which, when set to "date", enables strict date ordering in the
+       commit log, and when set to "topo" enables strict topological
+       ordering. If unset, the default ordering of "git log" is used. Default
+       value: unset.
+
 css::
        Url which specifies the css document to include in all cgit pages.
        Default value: "/cgit.css".
@@ -120,6 +132,10 @@ enable-index-links::
        each repo in the repository index (specifically, to the "summary",
        "commit" and "tree" pages). Default value: "0".
 
+enable-index-owner::
+       Flag which, when set to "1", will make cgit display the owner of
+       each repo in the repository index. Default value: "1".
+
 enable-log-filecount::
        Flag which, when set to "1", will make cgit print the number of
        modified files for each commit on the repository log page. Default
@@ -148,11 +164,12 @@ enable-tree-linenumbers::
 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" 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 to the corresponding "repo."
-       key in cgit. Default value: "0". See also: scan-path, section-from-path.
+       "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
+       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. If specified, it is
@@ -192,12 +209,6 @@ local-time::
        Flag which, if set to "1", makes cgit print commit and tag times in the
        servers timezone. Default value: "0".
 
-commit-sort::
-       Flag which, when set to "date", enables strict date ordering in the
-       commit log, and when set to "topo" enables strict topological
-       ordering. If unset, the default ordering of "git log" is used. Default
-       value: unset.
-
 logo::
        Url which specifies the source of an image which will be used as a logo
        on all cgit pages. Default value: "/cgit.png".
@@ -244,8 +255,8 @@ mimetype-file::
        Specifies the file to use for automatic mimetype lookup. If specified
        then this field is used as a fallback when no "mimetype.<ext>" match is
        found. If unspecified then no such lookup is performed. The typical file
-       to use on a Linux system is /etc/mime.types. Default value: none. See
-       also: "mimetype.<ext>". The format of the file must comply to:
+       to use on a Linux system is /etc/mime.types. The format of the file must
+       comply to:
        - a comment line is an empty line or a line starting with a hash (#),
          optionally preceded by whitespace
        - a non-comment line starts with the mimetype (like image/png), followed
@@ -278,13 +289,16 @@ project-list::
        EXPANSION".
 
 readme::
-       Text which will be used as default value for "repo.readme". Default
-       value: none.
+       Text which will be used as default value for "repo.readme". Multiple
+       config keys may be specified, and cgit will use the first found file
+       in this list. This is useful in conjunction with scan-path. Default
+       value: none. See also: scan-path, repo.readme.
 
 remove-suffix::
        If set to "1" and scan-path is enabled, if any repositories are found
        with a suffix of ".git", this suffix will be removed for the url and
-       name. Default value: "0". See also: scan-path.
+       name. This must be defined prior to scan-path. Default value: "0".
+       See also: scan-path.
 
 renamelimit::
        Maximum number of files to consider when detecting renames. The value
@@ -295,6 +309,12 @@ 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
+       most recently updated repository. Default value: "name". See also:
+       section, case-sensitive-sort, section-sort.
+
 robots::
        Text used as content for the "robots" meta-tag. Default value:
        "index, nofollow".
@@ -335,12 +355,6 @@ section::
        after this option will inherit the current section name. Default value:
        none.
 
-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
-       most recently updated repository. Default value: "name". See also:
-       section, case-sensitive-sort, section-sort.
-
 section-sort::
        Flag which, when set to "1", will sort the sections on the repository
        listing by name. Set this flag to "0" if the order in the cgitrc file should
@@ -348,7 +362,7 @@ section-sort::
        case-sensitive-sort, repository-sort.
 
 section-from-path::
-       A number which, if specified before scan-path, specifies how many
+       A number which, if defined prior to scan-path, specifies how many
        path elements from each repo path to use as a default section name.
        If negative, cgit will discard the specified number of path elements
        above the repo directory. Default value: "0".
@@ -387,8 +401,8 @@ strict-export::
        Filename which, if specified, needs to be present within the repository
        for cgit to allow access to that repository. This can be used to emulate
        gitweb's EXPORT_OK and STRICT_EXPORT functionality and limit cgit's
-       repositories to match those exported by git-daemon. This option MUST come
-       before 'scan-path'.
+       repositories to match those exported by git-daemon. This option must
+       be defined prior to scan-path.
 
 virtual-root::
        Url which, if specified, will be used as root for all cgit links. It
@@ -405,6 +419,11 @@ repo.about-filter::
        Override the default about-filter. Default value: none. See also:
        "enable-filter-overrides". See also: "FILTER API".
 
+repo.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
+       value: "name".
+
 repo.clone-url::
        A list of space-separated urls which can be used to clone this repo.
        Default value: none. See also: "MACRO EXPANSION".
@@ -413,6 +432,12 @@ repo.commit-filter::
        Override the default commit-filter. Default value: none. See also:
        "enable-filter-overrides". See also: "FILTER API".
 
+repo.commit-sort::
+       Flag which, when set to "date", enables strict date ordering in the
+       commit log, and when set to "topo" enables strict topological
+       ordering. If unset, the default ordering of "git log" is used. Default
+       value: unset.
+
 repo.defbranch::
        The name of the default branch for this repository. If no such branch
        exists in the repository, the first branch name (when sorted) is used
@@ -442,12 +467,6 @@ repo.enable-subject-links::
        A flag which can be used to override the global setting
        `enable-subject-links'. Default value: none.
 
-repo.commit-sort::
-       Flag which, when set to "date", enables strict date ordering in the
-       commit log, and when set to "topo" enables strict topological
-       ordering. If unset, the default ordering of "git log" is used. Default
-       value: unset.
-
 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.
@@ -489,7 +508,12 @@ repo.readme::
        A path (relative to <repo.path>) which specifies a file to include
        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" Default value: <readme>.
+       a colon. For example, "master:docs/readme.mkd". If the value begins
+       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 allowed snapshot-formats for this repo, restricted by the
@@ -524,9 +548,11 @@ config files, e.g. "repo.desc" becomes "desc".
 FILTER API
 ----------
 about filter::
-       This filter is given no arguments. The about text that is to be
-       filtered is available on standard input and the filtered text is
-       expected on standard output.
+       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 type of syntax to follow when formatting the readme file.
+       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
@@ -596,6 +622,14 @@ clone-url=git://foo.org/$CGIT_REPO_URL git@foo.org:$CGIT_REPO_URL
 css=/css/cgit.css
 
 
+# Show owner on index page
+enable-index-owner=1
+
+
+# Allow http transport git clone
+enable-git-clone=1
+
+
 # Show extra links for each repository on the index page
 enable-index-links=1
 
@@ -612,6 +646,10 @@ enable-log-filecount=1
 enable-log-linecount=1
 
 
+# Sort branches by date
+branch-sort=age
+
+
 # Add a cgit favicon
 favicon=/favicon.ico
 
@@ -653,6 +691,47 @@ mimetype.png=image/png
 mimetype.svg=image/svg+xml
 
 
+# Highlight source code with python pygments-based highligher
+source-filter=/var/www/cgit/filters/syntax-highlighting.py
+
+# Format markdown, restructuredtext, manpages, text files, and html files
+# through the right converters
+about-filter=/var/www/cgit/filters/about-formatting.sh
+
+##
+## Search for these files in the root of the default branch of repositories
+## for coming up with the about page:
+##
+readme=:README.md
+readme=:readme.md
+readme=:README.mkd
+readme=:readme.mkd
+readme=:README.rst
+readme=:readme.rst
+readme=:README.html
+readme=:readme.html
+readme=:README.htm
+readme=:readme.htm
+readme=:README.txt
+readme=:readme.txt
+readme=:README
+readme=:readme
+readme=:INSTALL.md
+readme=:install.md
+readme=:INSTALL.mkd
+readme=:install.mkd
+readme=:INSTALL.rst
+readme=:install.rst
+readme=:INSTALL.html
+readme=:install.html
+readme=:INSTALL.htm
+readme=:install.htm
+readme=:INSTALL.txt
+readme=:install.txt
+readme=:INSTALL
+readme=:install
+
+
 ##
 ## List of repositories.
 ## PS: Any repositories listed when section is unset will not be