X-Git-Url: https://git.cworth.org/git?p=ikiwiki-bootstrap;a=blobdiff_plain;f=ikiwiki.setup;h=606eb4c15c579ef0326fa8809bd66321d72c53b0;hp=31561e20fd997b8befdf6e924583b8f9cc192fea;hb=HEAD;hpb=a36e2c39c000be42ae7ba30eb3acf795f85cbc20 diff --git a/ikiwiki.setup b/ikiwiki.setup index 31561e2..606eb4c 100644 --- a/ikiwiki.setup +++ b/ikiwiki.setup @@ -5,43 +5,70 @@ # # 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", - # Subversion stuff. - #rcs => "svn", - #historyurl => "http://svn.example.org/trunk/[[file]]", - #diffurl => "http://svn.example.org/trunk/[[file]]?root=wiki&r1=[[r1]]&r2=[[r2]]", - #svnrepo => "/svn/wiki", - #svnpath => "trunk", + # 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", - - # Tla stuff. - #rcs => "tla" - #historyurl => ??, - #diffurl => ??, - - # Mercurial stuff. - #rcs => "mercurial", - #historyurl => "http://localhost:8000/", # hg serve'd local repository - #diffurl => "http://localhost:8000/?fd=[[changeset]];file=[[file]]", + gitorigin_branch => "origin", + gitmaster_branch => "master", wrappers => [ #{ @@ -50,29 +77,15 @@ use IkiWiki::Setup::Standard { # wrapper => "/var/www/wiki/ikiwiki.cgi", # wrappermode => "06755", #}, - #{ - # # The svn post-commit wrapper. - # # Note that this will overwrite any existing - # # post-commit hook script, which may not be - # # what you want. - # wrapper => "/svn/wikirepo/hooks/post-commit", - # wrappermode => "04755", - # # Enable mail notifications of commits. - # notify => 1, - # # Log to syslog since svn post-commit hooks - # # hide output and errors. - # syslog => 1, - #}, - #{ - # # 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? @@ -93,7 +106,12 @@ use IkiWiki::Setup::Standard { # 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",