]> git.cworth.org Git - ikiwiki-bootstrap/blob - ikiwiki.setup
Add a BEGIN block so that the gitrepo and checkout variables actually work
[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         underlaydir => "$checkout/underlay",
54
55         # Git stuff.
56         rcs => "git",
57         #historyurl => "http://git.example.org/gitweb.cgi?p=wiki.git;a=history;f=[[file]]",
58         #diffurl => "http://git.example.org/gitweb.cgi?p=wiki.git;a=blobdiff;h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_parent]];f=[[file]]",
59         gitorigin_branch => "origin",
60         gitmaster_branch => "master",
61
62         wrappers => [
63                 #{
64                 #       # The cgi wrapper.
65                 #       cgi => 1,
66                 #       wrapper => "/var/www/wiki/ikiwiki.cgi",
67                 #       wrappermode => "06755",
68                 #},
69                 {
70                         # Instead of overwriting git's post-update script
71                         # we generate a new program that can be called by
72                         # post-update as desired.
73                         wrapper => "$gitrepo/hooks/ikiwiki-post-update",
74                         wrappermode => "04755",
75                         # Enable mail notifications of commits.
76                         #notify => 1,
77                 },
78         ],
79
80         # Generate rss feeds for blogs?
81         rss => 1,
82         # Generate atom feeds for blogs?
83         atom => 1,
84         # Urls to ping with XML-RPC when rss feeds are updated
85         #pingurl => [qw{http://rpc.technorati.com/rpc/ping}],
86         # Include discussion links on all pages?
87         discussion => 1,
88         # To exclude files matching a regexp from processing. This adds to
89         # the default exclude list.
90         #exclude => qr/*\.wav/,
91         # Time format (for strftime)
92         #timeformat => '%c',
93         # Locale to use. Must be a UTF-8 locale.
94         #locale => 'en_US.UTF-8',
95         # Only send cookies over SSL connections.
96         #sslcookie => 1,
97         # Logging settings:
98         verbose => 0,
99         syslog => 0,
100         # To link to user pages in a subdirectory of the wiki.
101         #userdir => "users",
102         # To create output files named page.html rather than page/index.html.
103         #usedirs => 0,
104         # Simple spam prevention: require an account-creation password.
105         #account_creation_password => "example",
106
107         # To add plugins, list them here.
108         #add_plugins => [qw{goodstuff search wikitext camelcase
109         #                   htmltidy fortune sidebar map rst anonok}],
110         # If you want to disable any of the default plugins, list them here.
111         #disable_plugins => [qw{inline htmlscrubber passwordauth openid}],
112
113         # For use with the tag plugin, make all tags be located under a
114         # base page.
115         #tagbase => "tag",
116
117         # For use with the search plugin if your estseek.cgi is located
118         # somewhere else.
119         #estseek => "/usr/lib/estraier/estseek.cgi",
120
121         # For use with the openid plugin, to give an url to a page users
122         # can use to signup for an OpenID.
123         #openidsignup => "http://myopenid.com/",
124
125         # For use with the mirrorlist plugin, a list of mirrors.
126         #mirrorlist => {
127         #       mirror1 => "http://hostname1",
128         #       mirror2 => "http://hostname2/mirror",
129         #},
130 }