blob: dc7977dcc0410a1644e92ca65d0fd4b6b9d8018c [file] [log] [blame] [view]
David Pursehouse240fbff2016-08-25 09:58:15 +09001# Configuration
2
3The `gitiles.config` file supporting the site contains several configuration
4options.
5
6[TOC]
7
David Pursehousef7018102016-08-25 10:10:23 +09008## Core configuration
9
10### Cross-Origin Resource Sharing (CORS)
11
12Gitiles sets the `Access-Control-Allow-Origin` header to the
13HTTP origin of the client if the client's domain matches a regular
14expression defined in `allowOriginRegex`.
15
16```
17[gitiles]
18 allowOriginRegex = http://localhost
19```
20
21By default `allowOriginRegex` is unset, denying all cross-origin requests.
22
David Pursehouse240fbff2016-08-25 09:58:15 +090023## Markdown
24
25### Disabling markdown
26
27Markdown can be completely disabled by setting render to false.
28
29```
30[markdown]
31 render = false
32```
33
34### Markdown size
35
36Markdown files are limited by default to 5 MiB of input text
37per file. This limit is configurable, but should not be raised
38beyond available memory.
39
40```
41[markdown]
42 inputLimit = 5M
43```
44
45### Image size
46
47Referenced [images are inlined](#Images) as base64 encoded URIs.
48The image limit places an upper bound on the byte size of input.
49
50```
51[markdown]
52 imageLimit = 256K
53```
54
Shawn Pearceb55cf2b2017-06-29 21:56:37 -070055### Extensions
56
57The following extensions can be enabled/disabled in the markdown
58section:
59
60* `githubFlavor`: enable extensions that mirror GitHub Flavor
61 Markdown behavior. Default is true.
62
63* `autolink`: automatically convert plain URLs and email
David Pursehouse0c122622017-07-02 13:33:58 +090064 addresses into links. Default follows `githubFlavor`.
Shawn Pearceb55cf2b2017-06-29 21:56:37 -070065
66* `blocknote`: Gitiles style note/promo/aside blocks to raise
67 awareness to important content. Default false.
68
69* `ghthematicbreak`: accept `--` for `<hr>`, like GitHub Flavor
70 Markdown. Default follows `githubFlavor`.
71
72* `multicolumn`: Gitiles extension to layout content in a 12 cell
73 grid, delinated by section headers. Default false.
74
75* `namedanchor`: Gitiles extension to extract named anchors using
76 `#{id}` syntax. Default false.
77
78* `safehtml`: Gitiles extension to accept very limited HTML; for
79 security reasons all other HTML is dropped regardless of this
80 setting. Default follows `githubFlavor`.
81
82* `smartquote`: Gitiles extension to convert single and double quote
83 ASCII characters to Unicode smart quotes when in prose. Default
84 false.
85
86* `strikethrough`: strikethrough text with GitHub Flavor Markdown
87 style `~~`. Default follows `githubFlavor`.
88
89* `tables`: format tables with GitHub Flavor Markdown. Default
90 follows `githubFlavor`.
91
92* `toc`: Gitiles extension to replace `[TOC]` in a paragraph by itself
93 with a server-side generated table of contents extracted from section
94 headers. Default true.
95
David Pursehousebbcc5132016-08-26 13:26:13 +090096### IFrames
97
Shawn Pearceb55cf2b2017-06-29 21:56:37 -070098IFrame support requires `markdown.safehtml` to be true.
99
David Pursehousebbcc5132016-08-26 13:26:13 +0900100IFrame source URLs can be whitelisted by providing a list of allowed
101URLs. URLs ending with a `/` are treated as prefixes, allowing any source
102URL beginning with that prefix.
103
104```
105[markdown]
106 allowiframe = https://google.com/
107```
108
109URLs not ending with a `/` are treated as exact matches, and only those
110source URLs will be allowed.
111
112
113```
114[markdown]
115 allowiframe = https://example.com
116 allowiframe = https://example.org
117```
118
119If the list has a single entry with the value `true`, all source URLs
120will be allowed.
121
122
123```
124[markdown]
125 allowiframe = true
126```
127
David Pursehouse240fbff2016-08-25 09:58:15 +0900128## Google Analytics
129
130[Google Analytics](https://www.google.com/analytics/) can be
131enabled on every rendered markdown page by adding the Property ID
132to the configuration file:
133
134```
135[google]
136 analyticsId = UA-XXXX-Y
137```