summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Rayhawk <jrayhawk@richardiv.omgwallhack.org>2010-12-12 18:37:40 -0800
committerJoe Rayhawk <jrayhawk@richardiv.omgwallhack.org>2010-12-12 18:37:40 -0800
commitfb11132d06ede2223990a48e92e0a396a134c63b (patch)
tree1211fceb3796b4971844e1014207dee63dae81f5
parentffa3d7b465b73efc7f4782946012582a4e913eaf (diff)
downloadjrayhawk-fb11132d06ede2223990a48e92e0a396a134c63b.tar.gz
jrayhawk-fb11132d06ede2223990a48e92e0a396a134c63b.zip
Notes: add Ikiwiki manual creation
-rw-r--r--notes/examplewiki.setup163
-rw-r--r--notes/ikiwiki_creation.mdwn29
2 files changed, 192 insertions, 0 deletions
diff --git a/notes/examplewiki.setup b/notes/examplewiki.setup
new file mode 100644
index 0000000..0153343
--- /dev/null
+++ b/notes/examplewiki.setup
@@ -0,0 +1,163 @@
+#!/usr/bin/perl
+# Configuration file for ikiwiki.
+# Passing this to ikiwiki --setup will make ikiwiki generate wrappers and
+# build the wiki.
+#
+# Remember to re-run ikiwiki --setup any time you edit this file.
+
+use IkiWiki::Setup::Standard {
+ wikiname => "Example wiki",
+ #adminuser => ["yourname", ],
+ adminemail => 'jrayhawk@omgwallhack.org',
+
+ # Be sure to customise these..
+ srcdir => "/srv/ikiwiki/examplewiki/doc",
+ destdir => "/var/www/examplewiki",
+
+ url => "http://www.example.com/examplewiki",
+ cgiurl => "http://www.example.com/examplewiki/ikiwiki.cgi",
+ templatedir => "/srv/ikiwiki/share/templates",
+ underlaydir => "/srv/ikiwiki/share/underlay",
+
+ # Subversion stuff.
+ #rcs => "svn",
+ #historyurl => "http://svn.example.org/trunk/[[file]]",
+ #diffurl => "http://svn.example.org/trunk/[[file]]?root=wiki&amp;r1=[[r1]]&amp;r2=[[r2]]",
+ #svnrepo => "/svn/wiki",
+ #svnpath => "trunk",
+
+ # Git stuff.
+ rcs => "git",
+ historyurl => "http://www.example.com/cgi-bin/gitweb.cgi?p=examplewiki.git;a=history;f=doc/[[file]];hb=HEAD",
+ #diffurl => "http://www.example.com/cgi-bin/gitweb.cgi?p=examplewiki.git;a=blobdiff;h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_parent]];f=doc/[[file]]",
+ diffurl => "http://www.example.com/cgi-bin/gitweb.cgi?p=examplewiki.git;a=blobdiff;f=doc/[[file]];h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_commit]];hpb=[[sha1_parent]]",
+ 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]]",
+
+ wrappers => [
+ {
+ # The cgi wrapper.
+ cgi => 1,
+ wrapper => "/var/www/examplewiki/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 => "/srv/git/examplewiki.git/hooks/post-update",
+ wrappermode => "06755",
+ # Enable mail notifications of commits.
+ notify => 1,
+ },
+ ],
+
+ # Generate rss feeds for blogs?
+ rss => 1,
+ # Generate atom feeds for blogs?
+ atom => 0,
+ # Urls to ping with XML-RPC when rss feeds are updated
+ #pingurl => [qw{http://rpc.technorati.com/rpc/ping}],
+ # Include discussion links on all pages?
+ discussion => 0,
+ # To exclude files matching a regexp from processing. This adds to
+ # the default exclude list.
+ #exclude => qr/*\.wav/,
+ # Time format (for strftime)
+ #timeformat => '%c',
+ # Locale to use. Must be a UTF-8 locale.
+ #locale => 'en_US.UTF-8',
+ # Only send cookies over SSL connections.
+ #sslcookie => 1,
+ # Logging settings:
+ verbose => 0,
+ syslog => 1,
+ # To link to user pages in a subdirectory of the wiki.
+ #userdir => "users",
+ # To create output files named page.html rather than page/index.html.
+ #usedirs => 0,
+ # Use new '!'-prefixed preprocessor directive syntax
+ prefix_directives => 1,
+
+ # To add plugins, list them here.
+ #add_plugins => [qw{goodstuff search wikitext camelcase
+ # htmltidy fortune sidebar map rst anonok}],
+ #add_plugins => [qw{anonok}],
+ add_plugins => [qw{
+ autoindex
+ edittemplate
+ graphviz
+ httpauth
+ img
+ map
+ meta
+ search
+ table
+ tag
+ teximg
+ toc
+ attachment
+ rename
+ remove
+ version
+ wmd
+ ymlfront field report ftemplate getfield
+ }],
+ # If you want to disable any of the default plugins, list them here.
+ #disable_plugins => [qw{inline htmlscrubber passwordauth openid}],
+ disable_plugins => [qw{openid htmlscrubber}],
+
+ teximg_prefix => '\documentclass{scrartcl}
+\usepackage[version=3]{mhchem}
+\usepackage{amsmath}
+\usepackage{amsfonts}
+\usepackage{amssymb}
+\pagestyle{empty}
+\newcommand{\unit}[1]{\ensuremath{\, \mathrm{#1}}}
+\begin{document}',
+
+ teximg_dvipng => 1,
+
+ # For use with the tag plugin, make all tags be located under a
+ # base page.
+ tagbase => "tag",
+
+ # For use with the search plugin if your estseek.cgi is located
+ # somewhere else.
+ #estseek => "/usr/lib/estraier/estseek.cgi",
+
+ # For use with the openid plugin, to give an url to a page users
+ # can use to signup for an OpenID.
+ #openidsignup => "http://myopenid.com/",
+
+ # For use with the mirrorlist plugin, a list of mirrors.
+ #mirrorlist => {
+ # mirror1 => "http://hostname1",
+ # mirror2 => "http://hostname2/mirror",
+ #},
+ wiki_file_chars => "-[:alnum:]+._/",
+}
diff --git a/notes/ikiwiki_creation.mdwn b/notes/ikiwiki_creation.mdwn
new file mode 100644
index 0000000..4c03752
--- /dev/null
+++ b/notes/ikiwiki_creation.mdwn
@@ -0,0 +1,29 @@
+# Manual Ikiwiki creation
+
+0. Decide on a name
+ - `reponame=hello`
+1. Make a new git bare repo:
+ - `cd /srv/git` (or some other place for storing bare repos, just keep in mind you need to change the git wrapper later)
+ - `GIT_DIR=$reponame.git git init --shared # shared being useful if you want this to be multi-user, harmless otherwise`
+ - edit `$reponame.git/description` to show an appropriate description in GitWeb/cgit
+2. Make a clone for yourself to work with:
+ - `cd ~/src` (or whatever)
+ - `mkdir $reponame`
+ - `cd $reponame`
+ - `git init`
+ - Now add some content into it. `cp /usr/share/ikiwiki/basewiki/index.mdwn .` for instance
+ - `git add .`
+ - `git commit`
+ - `git remote add origin /srv/git/$reponame # the '.git' suffix is optional`
+ - `git push origin master`
+ - `git config branch.master.remote origin`
+ - `git config branch.master.merge refs/heads/master`
+3. Make a clone for Ikiwiki:
+ - `cd /srv/ikiwiki` (or some other place, just keep in mind you need to change `srcdir` later)
+ - `git clone --shared /srv/git/$reponame`
+ - `curl http://piny.be/jrayhawk/notes/examplewiki.setup | sed 's/\<examplewiki\>/$reponame/g' > $reponame.setup # feel free to put the setup file anywhere`
+ - Tweak other settings in `$reponame.setup` (like wikiname, adminemail, and add_plugins) as desired.
+4. Make a destination directory for rendered files:
+ - `sudo mkdir /var/www/$reponame` (or some other place, just keep in mind you need to change destdir now)
+5. Render
+ - `sudo -u ikiwiki ikiwiki --setup $reponame.setup`