The gitiles.config
file supporting the site contains several configuration options.
The title of the site. Default: Gitiles
.
[gitiles] siteTitle = Acme Inc. Git Browser
canonicalHostName
. Default: null
, determine the hostname from the local host.
baseGitUrl
the base URL for git repositories.
gerritUrl
, URL prefix to linkify Gerrit Change-Id
headers in commit messages. If you are using the Gerrit Gitiles plugin, this is set based on Gerrit's configuration. Default: null
, do not link Change-Id
.
[gitiles] canonicalHostName = gitiles.example.org gerritUrl = https://gerrit.example.org/r/ baseGitUrl = git://git.example.org/
Set exportAll
to instruct jGit to export all repositories, ignoring the check for existence of git-daemon-export-ok
file at the root of the repository.
Default: false
, repositories need to be explicitly marked for export.
[gitiles] exportAll = true
The web views are defined via Soy templates, you inject your own version which will be passed to the renderer. See .soy
files in the source code for available templates
[gitiles] customTemplates = path/to/somefile.soy customTemplates = path/to/another.soy
It's possible to inject custom styles within the template. To do this add the following to gitiles.config
:
[gitiles] customTemplates = path/to/afile.soy [template] customVariant=aVariant
Where customVariant
is the variable defined in the default templates themselves. Then you can define afile.soy
as follows:
{namespace gitiles} {deltemplate gitiles.customHeadTagPart variant="'aVariant'"} <link rel="stylesheet" type="text/css" href="/static/file.css" /> {/deltemplate}
It is also possible to define a <style>
tag there if desired.
By default dates are formatted including the local user time zone as that matches git tools. Some users/administrators may prefer normalizing to a particular timezone so times are directly comparable without doing timezone arithmetic.
Setting fixedTimeZone
to a valid Java TimeZone ID causes all dates in the UI to be implicitly converted to this timezone, and the now-redundant timezone offset to be dropped from the output.
[gitiles] fixedTimeZone = UTC
Gitiles sets the Access-Control-Allow-Origin
header to the HTTP origin of the client if the client's domain matches a regular expression defined in allowOriginRegex
.
[gitiles] allowOriginRegex = http://localhost
By default allowOriginRegex
is unset, denying all cross-origin requests.
Redirect requests to old gitweb URLs after having migrated to Gitiles. Matching URLs will be redirected permanently to their Gitiles equivalent. Default: true
.
[gitiles] redirectGitweb = false
Markdown can be completely disabled by setting render to false.
[markdown] render = false
Markdown files are limited by default to 5 MiB of input text per file. This limit is configurable, but should not be raised beyond available memory.
[markdown] inputLimit = 5M
Referenced images are inlined as base64 encoded URIs. The image limit places an upper bound on the byte size of input.
[markdown] imageLimit = 256K
The following extensions can be enabled/disabled in the markdown section:
githubFlavor
: enable extensions that mirror GitHub Flavor Markdown behavior. Default is true.
autolink
: automatically convert plain URLs and email addresses into links. Default follows githubFlavor
.
blocknote
: Gitiles style note/promo/aside blocks to raise awareness to important content. Default false.
ghthematicbreak
: accept --
for <hr>
, like GitHub Flavor Markdown. Default follows githubFlavor
.
multicolumn
: Gitiles extension to layout content in a 12 cell grid, delinated by section headers. Default false.
namedanchor
: Gitiles extension to extract named anchors using #{id}
syntax. Default false.
safehtml
: Gitiles extension to accept very limited HTML; for security reasons all other HTML is dropped regardless of this setting. Default follows githubFlavor
.
smartquote
: Gitiles extension to convert single and double quote ASCII characters to Unicode smart quotes when in prose. Default false.
strikethrough
: strikethrough text with GitHub Flavor Markdown style ~~
. Default follows githubFlavor
.
tables
: format tables with GitHub Flavor Markdown. Default follows githubFlavor
.
toc
: Gitiles extension to replace [TOC]
in a paragraph by itself with a server-side generated table of contents extracted from section headers. Default true.
IFrame support requires markdown.safehtml
to be true.
IFrame source URLs can be whitelisted by providing a list of allowed URLs. URLs ending with a /
are treated as prefixes, allowing any source URL beginning with that prefix.
[markdown] allowiframe = https://google.com/
URLs not ending with a /
are treated as exact matches, and only those source URLs will be allowed.
[markdown] allowiframe = https://example.com allowiframe = https://example.org
If the list has a single entry with the value true
, all source URLs will be allowed.
[markdown] allowiframe = true
Google Analytics can be enabled on every rendered markdown page by adding the Property ID to the configuration file:
[google] analyticsId = UA-XXXX-Y