]> git.cameronkatri.com Git - cgit.git/blobdiff - cgitrc.5.txt
cgitrc.5: improve example config
[cgit.git] / cgitrc.5.txt
index a22423bcaeb9ebce08f73e1c219707511635dea7..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".
@@ -70,6 +76,10 @@ cache-static-ttl::
        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.
+
 clone-prefix::
        Space-separated list of common prefixes which, when combined with a
        repository url, generates valid clone urls for the repository. This
@@ -88,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".
@@ -106,11 +122,6 @@ 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-gitweb-owner::
-       If set to "1" and scan-path is enabled, we first check each repository
-       for the git config value "gitweb.owner" to determine the owner.
-       Default value: "1". See also: scan-path.
-
 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
@@ -121,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
@@ -146,6 +161,16 @@ 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,
+       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
        suggested to use the value "/favicon.ico" since certain browsers will
@@ -226,11 +251,23 @@ mimetype.<ext>::
        Set the mimetype for the specified filename extension. This is used
        by the `plain` command when returning blob content.
 
+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. 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
+         by one or more file extensions (like jpg), all separated by whitespace
+       Default value: none. See also: "mimetype.<ext>".
+
 module-link::
        Text which will be used as the formatstring for a hyperlink when a
        submodule is printed in a directory listing. The arguments for the
        formatstring are the path and SHA1 of the submodule commit. Default
-       value: "./?repo=%s&page=commit&id=%s"
+       value: none.
 
 nocache::
        If set to the value "1" caching will be disabled. This settings is
@@ -252,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
@@ -269,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".
@@ -309,11 +355,17 @@ section::
        after this option will inherit the current section name. Default value:
        none.
 
+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
+       be preserved. Default value: "1". See also: section,
+       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.
+       above the repo directory. Default value: "0".
 
 side-by-side-diffs::
        If set to "1" shows side-by-side diffs instead of unidiffs per
@@ -349,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
@@ -360,12 +412,18 @@ virtual-root::
        NOTE: cgit has recently learned how to use PATH_INFO to achieve the
        same kind of virtual urls, so this option will probably be deprecated.
 
+
 REPOSITORY SETTINGS
 -------------------
 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".
@@ -374,10 +432,17 @@ 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
-       as default instead. Default value: "master".
+       as default instead. Default value: branch pointed to by HEAD, or
+       "master" if there is no suitable HEAD.
 
 repo.desc::
        The value to show as repository description. Default value: none.
@@ -417,6 +482,12 @@ repo.module-link::
        formatstring are the path and SHA1 of the submodule commit. Default
        value: <module-link>
 
+repo.module-link.<path>::
+       Text which will be used as the formatstring for a hyperlink when a
+       submodule with the specified subdirectory path is printed in a
+       directory listing. The only argument for the formatstring is the SHA1
+       of the submodule commit. Default value: none.
+
 repo.max-stats::
        Override the default maximum statistics period. Valid values are equal
        to the values specified for the global "max-stats" setting. Default
@@ -437,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
@@ -472,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
@@ -544,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
 
@@ -560,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
 
@@ -601,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