summaryrefslogtreecommitdiffabout
path: root/cgitrc.5.txt
Unidiff
Diffstat (limited to 'cgitrc.5.txt') (more/less context) (ignore whitespace changes)
-rw-r--r--cgitrc.5.txt6
1 files changed, 6 insertions, 0 deletions
diff --git a/cgitrc.5.txt b/cgitrc.5.txt
index 2efd6aa..ffb3e0f 100644
--- a/cgitrc.5.txt
+++ b/cgitrc.5.txt
@@ -1,417 +1,423 @@
1CGITRC(5) 1CGITRC(5)
2======== 2========
3 3
4 4
5NAME 5NAME
6---- 6----
7cgitrc - runtime configuration for cgit 7cgitrc - runtime configuration for cgit
8 8
9 9
10SYNOPSIS 10SYNOPSIS
11-------- 11--------
12Cgitrc contains all runtime settings for cgit, including the list of git 12Cgitrc contains all runtime settings for cgit, including the list of git
13repositories, formatted as a line-separated list of NAME=VALUE pairs. Blank 13repositories, formatted as a line-separated list of NAME=VALUE pairs. Blank
14lines, and lines starting with '#', are ignored. 14lines, and lines starting with '#', are ignored.
15 15
16 16
17GLOBAL SETTINGS 17GLOBAL SETTINGS
18--------------- 18---------------
19agefile:: 19agefile::
20 Specifies a path, relative to each repository path, which can be used 20 Specifies a path, relative to each repository path, which can be used
21 to specify the date and time of the youngest commit in the repository. 21 to specify the date and time of the youngest commit in the repository.
22 The first line in the file is used as input to the "parse_date" 22 The first line in the file is used as input to the "parse_date"
23 function in libgit. Recommended timestamp-format is "yyyy-mm-dd 23 function in libgit. Recommended timestamp-format is "yyyy-mm-dd
24 hh:mm:ss". Default value: "info/web/last-modified". 24 hh:mm:ss". Default value: "info/web/last-modified".
25 25
26cache-root:: 26cache-root::
27 Path used to store the cgit cache entries. Default value: 27 Path used to store the cgit cache entries. Default value:
28 "/var/cache/cgit". 28 "/var/cache/cgit".
29 29
30cache-dynamic-ttl:: 30cache-dynamic-ttl::
31 Number which specifies the time-to-live, in minutes, for the cached 31 Number which specifies the time-to-live, in minutes, for the cached
32 version of repository pages accessed without a fixed SHA1. Default 32 version of repository pages accessed without a fixed SHA1. Default
33 value: "5". 33 value: "5".
34 34
35cache-repo-ttl:: 35cache-repo-ttl::
36 Number which specifies the time-to-live, in minutes, for the cached 36 Number which specifies the time-to-live, in minutes, for the cached
37 version of the repository summary page. Default value: "5". 37 version of the repository summary page. Default value: "5".
38 38
39cache-root-ttl:: 39cache-root-ttl::
40 Number which specifies the time-to-live, in minutes, for the cached 40 Number which specifies the time-to-live, in minutes, for the cached
41 version of the repository index page. Default value: "5". 41 version of the repository index page. Default value: "5".
42 42
43cache-size:: 43cache-size::
44 The maximum number of entries in the cgit cache. Default value: "0" 44 The maximum number of entries in the cgit cache. Default value: "0"
45 (i.e. caching is disabled). 45 (i.e. caching is disabled).
46 46
47cache-static-ttl:: 47cache-static-ttl::
48 Number which specifies the time-to-live, in minutes, for the cached 48 Number which specifies the time-to-live, in minutes, for the cached
49 version of repository pages accessed with a fixed SHA1. Default value: 49 version of repository pages accessed with a fixed SHA1. Default value:
50 "5". 50 "5".
51 51
52clone-prefix:: 52clone-prefix::
53 Space-separated list of common prefixes which, when combined with a 53 Space-separated list of common prefixes which, when combined with a
54 repository url, generates valid clone urls for the repository. This 54 repository url, generates valid clone urls for the repository. This
55 setting is only used if `repo.clone-url` is unspecified. Default value: 55 setting is only used if `repo.clone-url` is unspecified. Default value:
56 none. 56 none.
57 57
58commit-filter:: 58commit-filter::
59 Specifies a command which will be invoked to format commit messages. 59 Specifies a command which will be invoked to format commit messages.
60 The command will get the message on its STDIN, and the STDOUT from the 60 The command will get the message on its STDIN, and the STDOUT from the
61 command will be included verbatim as the commit message, i.e. this can 61 command will be included verbatim as the commit message, i.e. this can
62 be used to implement bugtracker integration. Default value: none. 62 be used to implement bugtracker integration. Default value: none.
63 63
64css:: 64css::
65 Url which specifies the css document to include in all cgit pages. 65 Url which specifies the css document to include in all cgit pages.
66 Default value: "/cgit.css". 66 Default value: "/cgit.css".
67 67
68embedded:: 68embedded::
69 Flag which, when set to "1", will make cgit generate a html fragment 69 Flag which, when set to "1", will make cgit generate a html fragment
70 suitable for embedding in other html pages. Default value: none. See 70 suitable for embedding in other html pages. Default value: none. See
71 also: "noheader". 71 also: "noheader".
72 72
73enable-index-links:: 73enable-index-links::
74 Flag which, when set to "1", will make cgit generate extra links for 74 Flag which, when set to "1", will make cgit generate extra links for
75 each repo in the repository index (specifically, to the "summary", 75 each repo in the repository index (specifically, to the "summary",
76 "commit" and "tree" pages). Default value: "0". 76 "commit" and "tree" pages). Default value: "0".
77 77
78enable-log-filecount:: 78enable-log-filecount::
79 Flag which, when set to "1", will make cgit print the number of 79 Flag which, when set to "1", will make cgit print the number of
80 modified files for each commit on the repository log page. Default 80 modified files for each commit on the repository log page. Default
81 value: "0". 81 value: "0".
82 82
83enable-log-linecount:: 83enable-log-linecount::
84 Flag which, when set to "1", will make cgit print the number of added 84 Flag which, when set to "1", will make cgit print the number of added
85 and removed lines for each commit on the repository log page. Default 85 and removed lines for each commit on the repository log page. Default
86 value: "0". 86 value: "0".
87 87
88favicon:: 88favicon::
89 Url used as link to a shortcut icon for cgit. If specified, it is 89 Url used as link to a shortcut icon for cgit. If specified, it is
90 suggested to use the value "/favicon.ico" since certain browsers will 90 suggested to use the value "/favicon.ico" since certain browsers will
91 ignore other values. Default value: none. 91 ignore other values. Default value: none.
92 92
93footer:: 93footer::
94 The content of the file specified with this option will be included 94 The content of the file specified with this option will be included
95 verbatim at the bottom of all pages (i.e. it replaces the standard 95 verbatim at the bottom of all pages (i.e. it replaces the standard
96 "generated by..." message. Default value: none. 96 "generated by..." message. Default value: none.
97 97
98head-include:: 98head-include::
99 The content of the file specified with this option will be included 99 The content of the file specified with this option will be included
100 verbatim in the html HEAD section on all pages. Default value: none. 100 verbatim in the html HEAD section on all pages. Default value: none.
101 101
102header:: 102header::
103 The content of the file specified with this option will be included 103 The content of the file specified with this option will be included
104 verbatim at the top of all pages. Default value: none. 104 verbatim at the top of all pages. Default value: none.
105 105
106include:: 106include::
107 Name of a configfile to include before the rest of the current config- 107 Name of a configfile to include before the rest of the current config-
108 file is parsed. Default value: none. 108 file is parsed. Default value: none.
109 109
110index-header:: 110index-header::
111 The content of the file specified with this option will be included 111 The content of the file specified with this option will be included
112 verbatim above the repository index. This setting is deprecated, and 112 verbatim above the repository index. This setting is deprecated, and
113 will not be supported by cgit-1.0 (use root-readme instead). Default 113 will not be supported by cgit-1.0 (use root-readme instead). Default
114 value: none. 114 value: none.
115 115
116index-info:: 116index-info::
117 The content of the file specified with this option will be included 117 The content of the file specified with this option will be included
118 verbatim below the heading on the repository index page. This setting 118 verbatim below the heading on the repository index page. This setting
119 is deprecated, and will not be supported by cgit-1.0 (use root-desc 119 is deprecated, and will not be supported by cgit-1.0 (use root-desc
120 instead). Default value: none. 120 instead). Default value: none.
121 121
122local-time:: 122local-time::
123 Flag which, if set to "1", makes cgit print commit and tag times in the 123 Flag which, if set to "1", makes cgit print commit and tag times in the
124 servers timezone. Default value: "0". 124 servers timezone. Default value: "0".
125 125
126logo:: 126logo::
127 Url which specifies the source of an image which will be used as a logo 127 Url which specifies the source of an image which will be used as a logo
128 on all cgit pages. 128 on all cgit pages.
129 129
130logo-link:: 130logo-link::
131 Url loaded when clicking on the cgit logo image. If unspecified the 131 Url loaded when clicking on the cgit logo image. If unspecified the
132 calculated url of the repository index page will be used. Default 132 calculated url of the repository index page will be used. Default
133 value: none. 133 value: none.
134 134
135max-commit-count:: 135max-commit-count::
136 Specifies the number of entries to list per page in "log" view. Default 136 Specifies the number of entries to list per page in "log" view. Default
137 value: "50". 137 value: "50".
138 138
139max-message-length:: 139max-message-length::
140 Specifies the maximum number of commit message characters to display in 140 Specifies the maximum number of commit message characters to display in
141 "log" view. Default value: "80". 141 "log" view. Default value: "80".
142 142
143max-repo-count:: 143max-repo-count::
144 Specifies the number of entries to list per page on therepository 144 Specifies the number of entries to list per page on therepository
145 index page. Default value: "50". 145 index page. Default value: "50".
146 146
147max-repodesc-length:: 147max-repodesc-length::
148 Specifies the maximum number of repo description characters to display 148 Specifies the maximum number of repo description characters to display
149 on the repository index page. Default value: "80". 149 on the repository index page. Default value: "80".
150 150
151max-stats:: 151max-stats::
152 Set the default maximum statistics period. Valid values are "week", 152 Set the default maximum statistics period. Valid values are "week",
153 "month", "quarter" and "year". If unspecified, statistics are 153 "month", "quarter" and "year". If unspecified, statistics are
154 disabled. Default value: none. See also: "repo.max-stats". 154 disabled. Default value: none. See also: "repo.max-stats".
155 155
156module-link:: 156module-link::
157 Text which will be used as the formatstring for a hyperlink when a 157 Text which will be used as the formatstring for a hyperlink when a
158 submodule is printed in a directory listing. The arguments for the 158 submodule is printed in a directory listing. The arguments for the
159 formatstring are the path and SHA1 of the submodule commit. Default 159 formatstring are the path and SHA1 of the submodule commit. Default
160 value: "./?repo=%s&page=commit&id=%s" 160 value: "./?repo=%s&page=commit&id=%s"
161 161
162nocache:: 162nocache::
163 If set to the value "1" caching will be disabled. This settings is 163 If set to the value "1" caching will be disabled. This settings is
164 deprecated, and will not be honored starting with cgit-1.0. Default 164 deprecated, and will not be honored starting with cgit-1.0. Default
165 value: "0". 165 value: "0".
166 166
167noheader:: 167noheader::
168 Flag which, when set to "1", will make cgit omit the standard header 168 Flag which, when set to "1", will make cgit omit the standard header
169 on all pages. Default value: none. See also: "embedded". 169 on all pages. Default value: none. See also: "embedded".
170 170
171renamelimit:: 171renamelimit::
172 Maximum number of files to consider when detecting renames. The value 172 Maximum number of files to consider when detecting renames. The value
173 "-1" uses the compiletime value in git (for further info, look at 173 "-1" uses the compiletime value in git (for further info, look at
174 `man git-diff`). Default value: "-1". 174 `man git-diff`). Default value: "-1".
175 175
176repo.group:: 176repo.group::
177 A value for the current repository group, which all repositories 177 A value for the current repository group, which all repositories
178 specified after this setting will inherit. Default value: none. 178 specified after this setting will inherit. Default value: none.
179 179
180robots:: 180robots::
181 Text used as content for the "robots" meta-tag. Default value: 181 Text used as content for the "robots" meta-tag. Default value:
182 "index, nofollow". 182 "index, nofollow".
183 183
184root-desc:: 184root-desc::
185 Text printed below the heading on the repository index page. Default 185 Text printed below the heading on the repository index page. Default
186 value: "a fast webinterface for the git dscm". 186 value: "a fast webinterface for the git dscm".
187 187
188root-readme:: 188root-readme::
189 The content of the file specified with this option will be included 189 The content of the file specified with this option will be included
190 verbatim below the "about" link on the repository index page. Default 190 verbatim below the "about" link on the repository index page. Default
191 value: none. 191 value: none.
192 192
193root-title:: 193root-title::
194 Text printed as heading on the repository index page. Default value: 194 Text printed as heading on the repository index page. Default value:
195 "Git Repository Browser". 195 "Git Repository Browser".
196 196
197snapshots:: 197snapshots::
198 Text which specifies the default (and allowed) set of snapshot formats 198 Text which specifies the default (and allowed) set of snapshot formats
199 supported by cgit. The value is a space-separated list of zero or more 199 supported by cgit. The value is a space-separated list of zero or more
200 of the following values: 200 of the following values:
201 "tar" uncompressed tar-file 201 "tar" uncompressed tar-file
202 "tar.gz"gzip-compressed tar-file 202 "tar.gz"gzip-compressed tar-file
203 "tar.bz2"bzip-compressed tar-file 203 "tar.bz2"bzip-compressed tar-file
204 "zip" zip-file 204 "zip" zip-file
205 Default value: none. 205 Default value: none.
206 206
207source-filter:: 207source-filter::
208 Specifies a command which will be invoked to format plaintext blobs 208 Specifies a command which will be invoked to format plaintext blobs
209 in the tree view. The command will get the blob content on its STDIN 209 in the tree view. The command will get the blob content on its STDIN
210 and the name of the blob as its only command line argument. The STDOUT 210 and the name of the blob as its only command line argument. The STDOUT
211 from the command will be included verbatim as the blob contents, i.e. 211 from the command will be included verbatim as the blob contents, i.e.
212 this can be used to implement e.g. syntax highlighting. Default value: 212 this can be used to implement e.g. syntax highlighting. Default value:
213 none. 213 none.
214 214
215summary-branches:: 215summary-branches::
216 Specifies the number of branches to display in the repository "summary" 216 Specifies the number of branches to display in the repository "summary"
217 view. Default value: "10". 217 view. Default value: "10".
218 218
219summary-log:: 219summary-log::
220 Specifies the number of log entries to display in the repository 220 Specifies the number of log entries to display in the repository
221 "summary" view. Default value: "10". 221 "summary" view. Default value: "10".
222 222
223summary-tags:: 223summary-tags::
224 Specifies the number of tags to display in the repository "summary" 224 Specifies the number of tags to display in the repository "summary"
225 view. Default value: "10". 225 view. Default value: "10".
226 226
227virtual-root:: 227virtual-root::
228 Url which, if specified, will be used as root for all cgit links. It 228 Url which, if specified, will be used as root for all cgit links. It
229 will also cause cgit to generate 'virtual urls', i.e. urls like 229 will also cause cgit to generate 'virtual urls', i.e. urls like
230 '/cgit/tree/README' as opposed to '?r=cgit&p=tree&path=README'. Default 230 '/cgit/tree/README' as opposed to '?r=cgit&p=tree&path=README'. Default
231 value: none. 231 value: none.
232 NOTE: cgit has recently learned how to use PATH_INFO to achieve the 232 NOTE: cgit has recently learned how to use PATH_INFO to achieve the
233 same kind of virtual urls, so this option will probably be deprecated. 233 same kind of virtual urls, so this option will probably be deprecated.
234 234
235REPOSITORY SETTINGS 235REPOSITORY SETTINGS
236------------------- 236-------------------
237repo.clone-url:: 237repo.clone-url::
238 A list of space-separated urls which can be used to clone this repo. 238 A list of space-separated urls which can be used to clone this repo.
239 Default value: none. 239 Default value: none.
240 240
241repo.commit-filter::
242 Override the default commit-filter. Default value: <commit-filter>.
243
241repo.defbranch:: 244repo.defbranch::
242 The name of the default branch for this repository. If no such branch 245 The name of the default branch for this repository. If no such branch
243 exists in the repository, the first branch name (when sorted) is used 246 exists in the repository, the first branch name (when sorted) is used
244 as default instead. Default value: "master". 247 as default instead. Default value: "master".
245 248
246repo.desc:: 249repo.desc::
247 The value to show as repository description. Default value: none. 250 The value to show as repository description. Default value: none.
248 251
249repo.enable-log-filecount:: 252repo.enable-log-filecount::
250 A flag which can be used to disable the global setting 253 A flag which can be used to disable the global setting
251 `enable-log-filecount'. Default value: none. 254 `enable-log-filecount'. Default value: none.
252 255
253repo.enable-log-linecount:: 256repo.enable-log-linecount::
254 A flag which can be used to disable the global setting 257 A flag which can be used to disable the global setting
255 `enable-log-linecount'. Default value: none. 258 `enable-log-linecount'. Default value: none.
256 259
257repo.max-stats:: 260repo.max-stats::
258 Override the default maximum statistics period. Valid values are equal 261 Override the default maximum statistics period. Valid values are equal
259 to the values specified for the global "max-stats" setting. Default 262 to the values specified for the global "max-stats" setting. Default
260 value: none. 263 value: none.
261 264
262repo.name:: 265repo.name::
263 The value to show as repository name. Default value: <repo.url>. 266 The value to show as repository name. Default value: <repo.url>.
264 267
265repo.owner:: 268repo.owner::
266 A value used to identify the owner of the repository. Default value: 269 A value used to identify the owner of the repository. Default value:
267 none. 270 none.
268 271
269repo.path:: 272repo.path::
270 An absolute path to the repository directory. For non-bare repositories 273 An absolute path to the repository directory. For non-bare repositories
271 this is the .git-directory. Default value: none. 274 this is the .git-directory. Default value: none.
272 275
273repo.readme:: 276repo.readme::
274 A path (relative to <repo.path>) which specifies a file to include 277 A path (relative to <repo.path>) which specifies a file to include
275 verbatim as the "About" page for this repo. Default value: none. 278 verbatim as the "About" page for this repo. Default value: none.
276 279
277repo.snapshots:: 280repo.snapshots::
278 A mask of allowed snapshot-formats for this repo, restricted by the 281 A mask of allowed snapshot-formats for this repo, restricted by the
279 "snapshots" global setting. Default value: <snapshots>. 282 "snapshots" global setting. Default value: <snapshots>.
280 283
284repo.source-filter::
285 Override the default source-filter. Default value: <source-filter>.
286
281repo.url:: 287repo.url::
282 The relative url used to access the repository. This must be the first 288 The relative url used to access the repository. This must be the first
283 setting specified for each repo. Default value: none. 289 setting specified for each repo. Default value: none.
284 290
285 291
286EXAMPLE CGITRC FILE 292EXAMPLE CGITRC FILE
287------------------- 293-------------------
288 294
289.... 295....
290# Enable caching of up to 1000 output entriess 296# Enable caching of up to 1000 output entriess
291cache-size=1000 297cache-size=1000
292 298
293 299
294# Specify some default clone prefixes 300# Specify some default clone prefixes
295clone-prefix=git://foobar.com ssh://foobar.com/pub/git http://foobar.com/git 301clone-prefix=git://foobar.com ssh://foobar.com/pub/git http://foobar.com/git
296 302
297# Specify the css url 303# Specify the css url
298css=/css/cgit.css 304css=/css/cgit.css
299 305
300 306
301# Show extra links for each repository on the index page 307# Show extra links for each repository on the index page
302enable-index-links=1 308enable-index-links=1
303 309
304 310
305# Show number of affected files per commit on the log pages 311# Show number of affected files per commit on the log pages
306enable-log-filecount=1 312enable-log-filecount=1
307 313
308 314
309# Show number of added/removed lines per commit on the log pages 315# Show number of added/removed lines per commit on the log pages
310enable-log-linecount=1 316enable-log-linecount=1
311 317
312 318
313# Add a cgit favicon 319# Add a cgit favicon
314favicon=/favicon.ico 320favicon=/favicon.ico
315 321
316 322
317# Use a custom logo 323# Use a custom logo
318logo=/img/mylogo.png 324logo=/img/mylogo.png
319 325
320 326
321# Enable statistics per week, month and quarter 327# Enable statistics per week, month and quarter
322max-stats=quarter 328max-stats=quarter
323 329
324 330
325# Set the title and heading of the repository index page 331# Set the title and heading of the repository index page
326root-title=foobar.com git repositories 332root-title=foobar.com git repositories
327 333
328 334
329# Set a subheading for the repository index page 335# Set a subheading for the repository index page
330root-desc=tracking the foobar development 336root-desc=tracking the foobar development
331 337
332 338
333# Include some more info about foobar.com on the index page 339# Include some more info about foobar.com on the index page
334root-readme=/var/www/htdocs/about.html 340root-readme=/var/www/htdocs/about.html
335 341
336 342
337# Allow download of tar.gz, tar.bz2 and zip-files 343# Allow download of tar.gz, tar.bz2 and zip-files
338snapshots=tar.gz tar.bz2 zip 344snapshots=tar.gz tar.bz2 zip
339 345
340 346
341## 347##
342## List of repositories. 348## List of repositories.
343## PS: Any repositories listed when repo.group is unset will not be 349## PS: Any repositories listed when repo.group is unset will not be
344## displayed under a group heading 350## displayed under a group heading
345## PPS: This list could be kept in a different file (e.g. '/etc/cgitrepos') 351## PPS: This list could be kept in a different file (e.g. '/etc/cgitrepos')
346## and included like this: 352## and included like this:
347## include=/etc/cgitrepos 353## include=/etc/cgitrepos
348## 354##
349 355
350 356
351repo.url=foo 357repo.url=foo
352repo.path=/pub/git/foo.git 358repo.path=/pub/git/foo.git
353repo.desc=the master foo repository 359repo.desc=the master foo repository
354repo.owner=fooman@foobar.com 360repo.owner=fooman@foobar.com
355repo.readme=info/web/about.html 361repo.readme=info/web/about.html
356 362
357 363
358repo.url=bar 364repo.url=bar
359repo.path=/pub/git/bar.git 365repo.path=/pub/git/bar.git
360repo.desc=the bars for your foo 366repo.desc=the bars for your foo
361repo.owner=barman@foobar.com 367repo.owner=barman@foobar.com
362repo.readme=info/web/about.html 368repo.readme=info/web/about.html
363 369
364 370
365# The next repositories will be displayed under the 'extras' heading 371# The next repositories will be displayed under the 'extras' heading
366repo.group=extras 372repo.group=extras
367 373
368 374
369repo.url=baz 375repo.url=baz
370repo.path=/pub/git/baz.git 376repo.path=/pub/git/baz.git
371repo.desc=a set of extensions for bar users 377repo.desc=a set of extensions for bar users
372 378
373repo.url=wiz 379repo.url=wiz
374repo.path=/pub/git/wiz.git 380repo.path=/pub/git/wiz.git
375repo.desc=the wizard of foo 381repo.desc=the wizard of foo
376 382
377 383
378# Add some mirrored repositories 384# Add some mirrored repositories
379repo.group=mirrors 385repo.group=mirrors
380 386
381 387
382repo.url=git 388repo.url=git
383repo.path=/pub/git/git.git 389repo.path=/pub/git/git.git
384repo.desc=the dscm 390repo.desc=the dscm
385 391
386 392
387repo.url=linux 393repo.url=linux
388repo.path=/pub/git/linux.git 394repo.path=/pub/git/linux.git
389repo.desc=the kernel 395repo.desc=the kernel
390 396
391# Disable adhoc downloads of this repo 397# Disable adhoc downloads of this repo
392repo.snapshots=0 398repo.snapshots=0
393 399
394# Disable line-counts for this repo 400# Disable line-counts for this repo
395repo.enable-log-linecount=0 401repo.enable-log-linecount=0
396 402
397# Restrict the max statistics period for this repo 403# Restrict the max statistics period for this repo
398repo.max-stats=month 404repo.max-stats=month
399.... 405....
400 406
401 407
402BUGS 408BUGS
403---- 409----
404Comments currently cannot appear on the same line as a setting; the comment 410Comments currently cannot appear on the same line as a setting; the comment
405will be included as part of the value. E.g. this line: 411will be included as part of the value. E.g. this line:
406 412
407 robots=index # allow indexing 413 robots=index # allow indexing
408 414
409will generate the following html element: 415will generate the following html element:
410 416
411 <meta name='robots' content='index # allow indexing'/> 417 <meta name='robots' content='index # allow indexing'/>
412 418
413 419
414 420
415AUTHOR 421AUTHOR
416------ 422------
417Lars Hjemli <hjemli@gmail.com> 423Lars Hjemli <hjemli@gmail.com>