#
# Remember to re-run ikiwiki --setup any time you edit this file.
+# The gitrepo parameter should point to a bare git repository which is
+# cloned from and pushed to by anyone using git to maintain the wiki.
+#
+# The checkout parameter should point to a clone of that repository,
+# but this clone is owned by ikiwiki so its working-copy content
+# should never be edited manually, nor should anybody clone from or
+# push to this repository. To make this quite clear, I suggest hiding
+# the checkout inside the repository as shown below.
+#
+# To set this up, just do:
+#
+# mkdir -p $gitrepo
+# cd $gitrepo
+# GIT_DIR=. git init-db
+# git clone $gitrepo ikiwiki-checkout
+#
+# And then push into $gitrepo this ikiwiki.setup file, a templates/
+# directory, and a src/ directory with your wiki content. See README
+# for more details.
+#
+# Also, see the destdir and url parameters below which must also be
+# configured before things will work at all.
+
+our ($gitrepo, $checkout);
+
+BEGIN {
+ $gitrepo = "/path/to/bare/git/repo";
+ $checkout = "$gitrepo/ikiwiki-checkout";
+}
+
use IkiWiki::Setup::Standard {
- wikiname => "MyWiki",
- #adminuser => ["yourname", ],
- adminemail => 'me@example.org',
- # Be sure to customise these..
- srcdir => "/path/to/source",
+ # These (along with gitrepo above) must be configured
+ # correctly before anything will work
destdir => "/var/www/wiki",
-
url => "http://example.org/wiki",
cgiurl => "http://example.org/ikiwiki.cgi",
- #templatedir => "/usr/share/ikiwiki/templates",
- #underlaydir => "/usr/share/ikiwiki/basewiki",
+
+ # And you'll likely want to customise these as well
+ wikiname => "MyWiki",
+ #adminuser => ["yourname", ],
+ adminemail => "me@example.org",
+
+ # Everything else can be customised on an as-needed basis
+ srcdir => "$checkout/src",
+ templatedir => "$checkout/templates",
+
+ # There's not really much point to having an underlay come
+ # from the same place as the rest of the source like this:
+ #
+ # underlaydir => "$checkout/underlay",
+ #
+ # since you might as well put such content in src/ instead of
+ # in underlay. I suppose if you have some files common to
+ # several separate wiki instances then the underlay might
+ # still be useful. But for now, we'll just leave it off.
+ underlaydir = "/dev/null",
# Git stuff.
- #rcs => "git",
+ rcs => "git",
#historyurl => "http://git.example.org/gitweb.cgi?p=wiki.git;a=history;f=[[file]]",
#diffurl => "http://git.example.org/gitweb.cgi?p=wiki.git;a=blobdiff;h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_parent]];f=[[file]]",
- #gitorigin_branch => "origin",
- #gitmaster_branch => "master",
+ gitorigin_branch => "origin",
+ gitmaster_branch => "master",
wrappers => [
#{
# wrapper => "/var/www/wiki/ikiwiki.cgi",
# wrappermode => "06755",
#},
- #{
- # # The git post-update wrapper.
- # # Note that this will overwrite any existing
- # # post-update hook script, which may not be
- # # what you want.
- # wrapper => "/git/wiki.git/hooks/post-update",
- # wrappermode => "04755",
- # # Enable mail notifications of commits.
- # notify => 1,
- #},
+ {
+ # Instead of overwriting git's post-update script
+ # we generate a new program that can be called by
+ # post-update as desired.
+ wrapper => "$gitrepo/hooks/ikiwiki-post-update",
+ wrappermode => "04755",
+ # Enable mail notifications of commits.
+ #notify => 1,
+ },
],
# Generate rss feeds for blogs?
# Only send cookies over SSL connections.
#sslcookie => 1,
# Logging settings:
- verbose => 0,
+
+ # It's stupid to set verbose to 0 here since it's the default
+ # anyway, and it has the side effect of making --verbose on
+ # the command-line not work.
+ # verbose => 0,
+
syslog => 0,
# To link to user pages in a subdirectory of the wiki.
#userdir => "users",