]> git.cworth.org Git - ikiwiki-bootstrap/blobdiff - ikiwiki.setup
Remove stray period
[ikiwiki-bootstrap] / ikiwiki.setup
index 31561e20fd997b8befdf6e924583b8f9cc192fea..606eb4c15c579ef0326fa8809bd66321d72c53b0 100644 (file)
@@ -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",