X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/ab350a77b1d3b0e251cc28329f2e16f0566e521e..b88cda6e5b4472fc1bb0ae00d9fb974ec4f61d7a:/cgitrc.5.txt diff --git a/cgitrc.5.txt b/cgitrc.5.txt index 5903a93..9a9965b 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -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 @@ -161,7 +161,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 +243,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 +296,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 @@ -458,38 +460,56 @@ 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. -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. + +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 EXAMPLE CGITRC FILE