]> git.cworth.org Git - ikiwiki-bootstrap/blob - ikiwiki.setup
8ef49cf6d83fdc1a2e6d97d6ced9e67343d2997b
[ikiwiki-bootstrap] / ikiwiki.setup
1 #!/usr/bin/perl
2 # Configuration file for ikiwiki.
3 # Passing this to ikiwiki --setup will make ikiwiki generate wrappers and
4 # build the wiki.
5 #
6 # Remember to re-run ikiwiki --setup any time you edit this file.
7
8 # The gitrepo parameter should point to a bare git repository which is
9 # cloned from and pushed to by anyone using git to maintain the wiki.
10 #
11 # The checkout parameter should point to a clone of that repository,
12 # but this clone is owned by ikiwiki so its working-copy content
13 # should never be edited manually, nor should anybody clone from or
14 # push to this repository. To make this quite clear, I suggest hiding
15 # the checkout inside the repository as show below.
16 #
17 # To set this up, just do:
18 #
19 #       mkdir -p $gitrepo
20 #       cd $gitrepo
21 #       GIT_DIR=. git init-db
22 #       git clone $gitrepo ikiwiki-checkout
23 #
24 # And then push into $gitrepo this ikiwiki.setup file, a templates/
25 # directory, and a src/ directory with your wiki content.
26 #
27 # Also, see the destdir and url parameters below which must also be
28 # configured before things will work at all.
29
30 our ($gitrepo, $checkout);
31
32 BEGIN {
33         $gitrepo = '/path/to/bare/git/repo';
34         $checkout = "$gitrepo/ikiwiki-checkout";
35 }
36
37 use IkiWiki::Setup::Standard {
38
39         # These (along with gitrepo above) must be configured
40         # correctly before anything will work
41         destdir => "/var/www/wiki",
42         url => "http://example.org/wiki",
43         cgiurl => "http://example.org/ikiwiki.cgi",
44
45         # And you'll likely want to customise these as well
46         wikiname => "MyWiki",
47         #adminuser => ["yourname", ],
48         adminemail => 'me@example.org',
49
50         # Everything else can be customised on an as-needed basis
51         srcdir => "$checkout/src",
52         templatedir => "$checkout/templates",
53
54         # There's not really much point to having an underlay come
55         # from the same place as the rest of the source like this:
56         #
57         #       underlaydir => "$checkout/underlay",
58         #
59         # since you might as well put such content in src/ instead of
60         # in underlay. I suppose if you have some files common to
61         # several separate wiki instances then the underlay might
62         # still be useful. But for now, we'll just leave it off.
63         underlaydir = "/dev/null",
64
65         # Git stuff.
66         rcs => "git",
67         #historyurl => "http://git.example.org/gitweb.cgi?p=wiki.git;a=history;f=[[file]]",
68         #diffurl => "http://git.example.org/gitweb.cgi?p=wiki.git;a=blobdiff;h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_parent]];f=[[file]]",
69         gitorigin_branch => "origin",
70         gitmaster_branch => "master",
71
72         wrappers => [
73                 #{
74                 #       # The cgi wrapper.
75                 #       cgi => 1,
76                 #       wrapper => "/var/www/wiki/ikiwiki.cgi",
77                 #       wrappermode => "06755",
78                 #},
79                 {
80                         # Instead of overwriting git's post-update script
81                         # we generate a new program that can be called by
82                         # post-update as desired.
83                         wrapper => "$gitrepo/hooks/ikiwiki-post-update",
84                         wrappermode => "04755",
85                         # Enable mail notifications of commits.
86                         #notify => 1,
87                 },
88         ],
89
90         # Generate rss feeds for blogs?
91         rss => 1,
92         # Generate atom feeds for blogs?
93         atom => 1,
94         # Urls to ping with XML-RPC when rss feeds are updated
95         #pingurl => [qw{http://rpc.technorati.com/rpc/ping}],
96         # Include discussion links on all pages?
97         discussion => 1,
98         # To exclude files matching a regexp from processing. This adds to
99         # the default exclude list.
100         #exclude => qr/*\.wav/,
101         # Time format (for strftime)
102         #timeformat => '%c',
103         # Locale to use. Must be a UTF-8 locale.
104         #locale => 'en_US.UTF-8',
105         # Only send cookies over SSL connections.
106         #sslcookie => 1,
107         # Logging settings:
108
109         # It's stupid to set verbose to 0 here since it's the default
110         # anyway, and it has the side effect of making --verbose on
111         # the command-line not work.
112         # verbose => 0,
113
114         syslog => 0,
115         # To link to user pages in a subdirectory of the wiki.
116         #userdir => "users",
117         # To create output files named page.html rather than page/index.html.
118         #usedirs => 0,
119         # Simple spam prevention: require an account-creation password.
120         #account_creation_password => "example",
121
122         # To add plugins, list them here.
123         #add_plugins => [qw{goodstuff search wikitext camelcase
124         #                   htmltidy fortune sidebar map rst anonok}],
125         # If you want to disable any of the default plugins, list them here.
126         #disable_plugins => [qw{inline htmlscrubber passwordauth openid}],
127
128         # For use with the tag plugin, make all tags be located under a
129         # base page.
130         #tagbase => "tag",
131
132         # For use with the search plugin if your estseek.cgi is located
133         # somewhere else.
134         #estseek => "/usr/lib/estraier/estseek.cgi",
135
136         # For use with the openid plugin, to give an url to a page users
137         # can use to signup for an OpenID.
138         #openidsignup => "http://myopenid.com/",
139
140         # For use with the mirrorlist plugin, a list of mirrors.
141         #mirrorlist => {
142         #       mirror1 => "http://hostname1",
143         #       mirror2 => "http://hostname2/mirror",
144         #},
145 }