]> git.cameronkatri.com Git - cgit.git/blobdiff - cgitrc.5.txt
css: vertically align the cgit logo image
[cgit.git] / cgitrc.5.txt
index 5903a938c8c4cbe9c5b1e110ae8fbbb787f656f9..a22423bcaeb9ebce08f73e1c219707511635dea7 100644 (file)
@@ -42,7 +42,7 @@ agefile::
 
 cache-root::
        Path used to store the cgit cache entries. Default value:
-       "/var/cache/cgit".
+       "/var/cache/cgit". See also: "MACRO EXPANSION".
 
 cache-dynamic-ttl::
        Number which specifies the time-to-live, in minutes, for the cached
@@ -76,6 +76,11 @@ clone-prefix::
        setting is only used if `repo.clone-url` is unspecified. Default value:
        none.
 
+clone-url::
+       Space-separated list of clone-url templates. This setting is only
+       used if `repo.clone-url` is unspecified. Default value: none. See
+       also: "MACRO EXPANSION", "FILTER API".
+
 commit-filter::
        Specifies a command which will be invoked to format commit messages.
        The command will get the message on its STDIN, and the STDOUT from the
@@ -161,7 +166,7 @@ header::
 
 include::
        Name of a configfile to include before the rest of the current config-
-       file is parsed. Default value: none.
+       file is parsed. Default value: none. See also: "MACRO EXPANSION".
 
 index-header::
        The content of the file specified with this option will be included
@@ -243,7 +248,8 @@ noheader::
 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
-       scan-path. Default value: none. See also: scan-path.
+       scan-path. Default value: none. See also: scan-path, "MACRO
+       EXPANSION".
 
 readme::
        Text which will be used as default value for "repo.readme". Default
@@ -295,7 +301,8 @@ scan-path::
        scan-path loads only the directories listed in the file pointed to by
        project-list. Be advised that only the global settings taken
        before the scan-path directive will be applied to each repository.
-       Default value: none. See also: cache-scanrc-ttl, project-list.
+       Default value: none. See also: cache-scanrc-ttl, project-list,
+       "MACRO EXPANSION".
 
 section::
        The name of the current repository section - all repositories defined
@@ -361,7 +368,7 @@ repo.about-filter::
 
 repo.clone-url::
        A list of space-separated urls which can be used to clone this repo.
-       Default value: none.
+       Default value: none. See also: "MACRO EXPANSION".
 
 repo.commit-filter::
        Override the default commit-filter. Default value: none. See also:
@@ -404,6 +411,12 @@ repo.logo-link::
        calculated url of the repository index page will be used. Default
        value: global logo-link.
 
+repo.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: <module-link>
+
 repo.max-stats::
        Override the default maximum statistics period. Valid values are equal
        to the values specified for the global "max-stats" setting. Default
@@ -458,38 +471,62 @@ 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.
-- 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.
-- 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.
+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.
+
+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.
+
+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.
 
 Also, all filters are handed the following environment variables:
-- CGIT_REPO_URL        ( = repo.url       setting )
-- CGIT_REPO_NAME       ( = repo.name      setting )
-- CGIT_REPO_PATH       ( = repo.path      setting )
-- CGIT_REPO_OWNER      ( = repo.owner     setting )
-- CGIT_REPO_DEFBRANCH  ( = repo.defbranch setting )
-- CGIT_REPO_SECTION    ( = section        setting )
-- CGIT_REPO_CLONE_URL  ( = repo.clone-url setting )
+
+- CGIT_REPO_URL (from repo.url)
+- CGIT_REPO_NAME (from repo.name)
+- CGIT_REPO_PATH (from repo.path)
+- CGIT_REPO_OWNER (from repo.owner)
+- CGIT_REPO_DEFBRANCH (from repo.defbranch)
+- CGIT_REPO_SECTION (from repo.section)
+- CGIT_REPO_CLONE_URL (from repo.clone-url)
 
 If a setting is not defined for a repository and the corresponding global
 setting is also not defined (if applicable), then the corresponding
-environment variable will be an empty string.
+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
+named environment variable:
+
+- cache-root
+- include
+- project-list
+- scan-path
+
+Macro expansion will also happen on the content of $CGIT_CONFIG, if
+defined.
+
+One usage of this feature is virtual hosting, which in its simplest form
+can be accomplished by adding the following line to /etc/cgitrc:
+
+       include=/etc/cgitrc.d/$HTTP_HOST
+
+The following options are expanded during request processing, and support
+the environment variables defined in "FILTER API":
 
-Note that under normal circumstance all these environment variables are
-defined. If however the total size of the defined settings exceed the
-allocated buffer within cgit then only the environment variables that fit
-in the allocated buffer are handed to the filter.
+- clone-url
+- repo.clone-url
 
 
 EXAMPLE CGITRC FILE
@@ -500,8 +537,8 @@ EXAMPLE CGITRC FILE
 cache-size=1000
 
 
-# Specify some default clone prefixes
-clone-prefix=git://example.com ssh://example.com/pub/git http://example.com/git
+# 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