aboutsummaryrefslogtreecommitdiff
path: root/ikiwiki.setup
diff options
context:
space:
mode:
Diffstat (limited to 'ikiwiki.setup')
-rw-r--r--ikiwiki.setup387
1 files changed, 387 insertions, 0 deletions
diff --git a/ikiwiki.setup b/ikiwiki.setup
new file mode 100644
index 00000000..3ef1bb73
--- /dev/null
+++ b/ikiwiki.setup
@@ -0,0 +1,387 @@
+#!/usr/bin/perl
+#
+# Setup 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.
+
+require IkiWiki::Setup::Standard;
+
+my $root = $ENV{ROOT};
+
+my $srcdir;
+my $destdir;
+my $cgi_wrapper = '';
+my $git_wrapper = '';
+my $gitorigin_branch = '';
+
+if (defined $ENV{WEB_SERVER})
+{
+ $srcdir = $root.'/hurd-web';
+ $destdir = $root.'/public_html';
+ $cgi_wrapper = $root.'/hurd-web.cgi';
+ $git_wrapper = $root.'/hurd-web.update';
+ $gitorigin_branch = 'origin';
+}
+else
+{
+ $srcdir = $root;
+ $destdir = $ENV{DESTDIR} || $srcdir.'.rendered';
+}
+
+IkiWiki::Setup::Standard->import({
+ # name of the wiki
+ wikiname => 'GNU Hurd',
+ # contact email for wiki
+ adminemail => 'tschwinge@gnu.org',
+ # users who are wiki admins
+ adminuser => [qw{tschwinge}],
+ # users who are banned from the wiki
+ banned_users => [qw{AlbertF bernhart ColetCris flamberian jasclaine
+ NateNash
+ http://calvinyoung.myopenid.com/
+ http://heaton.myopenid.com/
+ http://hilarybunton.myopenid.com/}],
+ # where the source of the wiki is located
+ srcdir => $srcdir,
+ # where to build the wiki
+ destdir => $destdir,
+ # base url to the wiki
+ url => 'http://www.bddebian.com:8888/~hurd-web',
+ # url to the ikiwiki.cgi
+ cgiurl => 'http://www.bddebian.com:8888/cgi-bin/hurd-web-ikiwiki.cgi',
+ # filename of cgi wrapper to generate
+ cgi_wrapper => $cgi_wrapper,
+ # mode for cgi_wrapper (can safely be made suid)
+ cgi_wrappermode => '06755',
+ # rcs backend to use
+ rcs => 'git',
+ # plugins to add to the default configuration
+ add_plugins => [qw{goodstuff
+ cutpaste editdiff edittemplate favicon getsource
+ html rename repolist search sidebar table txt
+ field getfield ymlfront
+ copyright license texinfo}],
+ # plugins to disable
+ disable_plugins => [],
+ # additional directory to search for template files
+ templatedir => $srcdir.'/.templates',
+ # base wiki source location
+ #underlaydir => '/usr/share/ikiwiki/basewiki',
+ # display verbose messages?
+ verbose => 1,
+ # log to syslog?
+ syslog => 0,
+ # create output files named page/index.html?
+ usedirs => 1,
+ # use '!'-prefixed preprocessor directives?
+ prefix_directives => 1,
+ # use page/index.mdwn source files
+ indexpages => 0,
+ # enable Discussion pages?
+ discussion => 1,
+ # name of Discussion pages
+ discussionpage => 'Discussion',
+ # generate HTML5? (experimental)
+ html5 => 0,
+ # only send cookies over SSL connections?
+ sslcookie => 0,
+ # extension to use for new pages
+ default_pageext => 'mdwn',
+ # extension to use for html files
+ htmlext => 'html',
+ # strftime format string to display date
+ timeformat => '%F %T %Z',
+ # UTF-8 locale to use
+ locale => 'C',
+ # put user pages below specified page
+ userdir => 'user',
+ # how many backlinks to show before hiding excess (0 to show all)
+ numbacklinks => 10,
+ # attempt to hardlink source files? (optimisation for large files)
+ hardlink => 1,
+ # force ikiwiki to use a particular umask
+ #umask => 022,
+ # group for wrappers to run in
+ #wrappergroup => 'ikiwiki',
+ # extra library and plugin directory
+ libdir => $srcdir.'/.library',
+ # environment variables
+ ENV => {},
+ # regexp of normally excluded files to include
+ #include => '^\\.htaccess$',
+ # regexp of files that should be skipped
+ #exclude => '^(*\\.private|Makefile)$',
+ # specifies the characters that are allowed in source filenames
+ wiki_file_chars => '-[:alnum:]+/.:_',
+ # allow symlinks in the path leading to the srcdir (potentially insecure)
+ #allow_symlinks_before_srcdir => 0,
+
+ ######################################################################
+ # core plugins
+ # (editpage, git, htmlscrubber, inline, link, meta, parentlinks)
+ ######################################################################
+
+ # git plugin
+ # git hook to generate
+ git_wrapper => $git_wrapper,
+ # shell command for git_wrapper to run, in the background
+ #git_wrapper_background_command => 'git push github',
+ # mode for git_wrapper (can safely be made suid)
+ git_wrappermode => '0700',
+ # git pre-receive hook to generate
+ #git_test_receive_wrapper => '/git/wiki.git/hooks/pre-receive',
+ # unix users whose commits should be checked by the pre-receive hook
+ #untrusted_committers => [],
+ # gitweb url to show file history ([[file]] substituted)
+ historyurl => 'http://www.bddebian.com:8888/gitweb/?p=hurd-web;a=history;f=[[file]];hb=HEAD',
+ # gitweb url to show a diff ([[file]], [[sha1_to]], [[sha1_from]], [[sha1_commit]], and [[sha1_parent]] substituted)
+ diffurl => 'http://www.bddebian.com:8888/gitweb/?p=hurd-web;a=blobdiff;f=[[file]];h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_commit]];hpb=[[sha1_parent]]',
+ # where to pull and push changes (set to empty string to disable)
+ gitorigin_branch => $gitorigin_branch,
+ # branch that the wiki is stored in
+ gitmaster_branch => 'master',
+
+ # htmlscrubber plugin
+ # PageSpec specifying pages not to scrub
+ #htmlscrubber_skip => '!*/Discussion',
+
+ # inline plugin
+ # enable rss feeds by default?
+ rss => 1,
+ # enable atom feeds by default?
+ atom => 1,
+ # allow rss feeds to be used?
+ #allowrss => 0,
+ # allow atom feeds to be used?
+ #allowatom => 0,
+ # urls to ping (using XML-RPC) on feed update
+ pingurl => [],
+
+ ######################################################################
+ # auth plugins
+ # (anonok, blogspam, httpauth, lockedit, moderatedcomments,
+ # opendiscussion, openid, passwordauth, signinedit)
+ ######################################################################
+
+ # anonok plugin
+ # PageSpec to limit which pages anonymous users can edit
+ #anonok_pagespec => '*/discussion',
+
+ # blogspam plugin
+ # PageSpec of pages to check for spam
+ #blogspam_pagespec => 'postcomment(*)',
+ # options to send to blogspam server
+ #blogspam_options => 'blacklist=1.2.3.4,blacklist=8.7.6.5,max-links=10',
+ # blogspam server XML-RPC url
+ #blogspam_server => '',
+
+ # httpauth plugin
+ # url to redirect to when authentication is needed
+ #cgiauthurl => 'http://example.com/wiki/auth/ikiwiki.cgi',
+ # PageSpec of pages where only httpauth will be used for authentication
+ #httpauth_pagespec => '!*/Discussion',
+
+ # lockedit plugin
+ # PageSpec controlling which pages are locked
+ #locked_pages => '!*/Discussion',
+
+ # moderatedcomments plugin
+ # PageSpec matching users or comment locations to moderate
+ #moderate_pagespec => '*',
+
+ # openid plugin
+ # url pattern of openid realm (default is cgiurl)
+ #openid_realm => '',
+ # url to ikiwiki cgi to use for openid authentication (default is cgiurl)
+ #openid_cgiurl => '',
+
+ # passwordauth plugin
+ # a password that must be entered when signing up for an account
+ #account_creation_password => 's3cr1t',
+ # cost of generating a password using Authen::Passphrase::BlowfishCrypt
+ #password_cost => 8,
+
+ ######################################################################
+ # format plugins
+ # (creole, highlight, hnb, html, mdwn, otl, rawhtml, textile, txt)
+ ######################################################################
+
+ # highlight plugin
+ # types of source files to syntax highlight
+ #tohighlight => '.c .h .cpp .pl .py Makefile:make',
+ # location of highlight's filetypes.conf
+ #filetypes_conf => '/etc/highlight/filetypes.conf',
+ # location of highlight's langDefs directory
+ #langdefdir => '/usr/share/highlight/langDefs',
+
+ # mdwn plugin
+ # enable multimarkdown features?
+ #multimarkdown => 0,
+
+ ######################################################################
+ # misc plugins
+ # (filecheck)
+ ######################################################################
+
+ ######################################################################
+ # web plugins
+ # (404, attachment, comments, editdiff, edittemplate, getsource,
+ # google, goto, mirrorlist, remove, rename, repolist, search,
+ # theme, websetup, wmd)
+ ######################################################################
+
+ # attachment plugin
+ # enhanced PageSpec specifying what attachments are allowed
+ #allowed_attachments => 'virusfree() and mimetype(image/*) and maxsize(50kb)',
+ # virus checker program (reads STDIN, returns nonzero if virus found)
+ #virus_checker => 'clamdscan -',
+
+ # comments plugin
+ # PageSpec of pages where comments are allowed
+ #comments_pagespec => 'blog/* and !*/Discussion',
+ # PageSpec of pages where posting new comments is not allowed
+ #comments_closed_pagespec => 'blog/controversial or blog/flamewar',
+ # Base name for comments, e.g. "comment_" for pages like "sandbox/comment_12"
+ #comments_pagename => '',
+ # Interpret directives in comments?
+ #comments_allowdirectives => 0,
+ # Allow anonymous commenters to set an author name?
+ #comments_allowauthor => 0,
+ # commit comments to the VCS
+ #comments_commit => 1,
+
+ # getsource plugin
+ # Mime type for returned source.
+ #getsource_mimetype => 'text/plain; charset=utf-8',
+
+ # mirrorlist plugin
+ # list of mirrors
+ #mirrorlist => {},
+
+ # repolist plugin
+ # URIs of repositories containing the wiki's source
+ repositories => [qw{git://git.savannah.gnu.org/hurd/web.git
+ http://git.savannah.gnu.org/r/hurd/web.git
+ git://flubber.bddebian.com/~hurd-web/hurd-web
+ http://www.bddebian.com:8888/git/hurd-web}],
+
+ # search plugin
+ # path to the omega cgi program
+ #omega_cgi => '/usr/lib/cgi-bin/omega/omega',
+
+ # theme plugin
+ # name of theme to enable
+ #theme => 'actiontabs',
+
+ # websetup plugin
+ # list of plugins that cannot be enabled/disabled via the web interface
+ #websetup_force_plugins => [],
+ # list of additional setup field keys to treat as unsafe
+ #websetup_unsafe => [],
+ # show unsafe settings, read-only, in web interface?
+ #websetup_show_unsafe => 1,
+
+ ######################################################################
+ # widget plugins
+ # (calendar, color, conditional, cutpaste, date, format, fortune,
+ # graphviz, haiku, img, linkmap, listdirectives, map, more,
+ # orphans, pagecount, pagestats, poll, polygen, postsparkline,
+ # progress, shortcut, sparkline, table, template, teximg, toc,
+ # toggle, version)
+ ######################################################################
+
+ # calendar plugin
+ # base of the archives hierarchy
+ #archivebase => 'archives',
+ # PageSpec of pages to include in the archives; used by ikiwiki-calendar command
+ #archive_pagespec => 'page(posts/*) and !*/Discussion',
+
+ # listdirectives plugin
+ # directory in srcdir that contains directive descriptions
+ #directive_description_dir => 'ikiwiki/directive',
+
+ # teximg plugin
+ # Should teximg use dvipng to render, or dvips and convert?
+ #teximg_dvipng => '',
+ # LaTeX prefix for teximg plugin
+ #teximg_prefix => '\\documentclass{article}
+ #\\usepackage{amsmath}
+ #\\usepackage{amsfonts}
+ #\\usepackage{amssymb}
+ #\\pagestyle{empty}
+ #\\begin{document}
+ #',
+ # LaTeX postfix for teximg plugin
+ #teximg_postfix => '\\end{document}',
+
+ ######################################################################
+ # other plugins
+ # (aggregate, autoindex, brokenlinks, camelcase, ddate, embed,
+ # favicon, field, flattr, getfield, goodstuff, htmlbalance,
+ # localstyle, pagetemplate, pingee, pinger, prettydate,
+ # recentchanges, recentchangesdiff, relativedate, rsync,
+ # sidebar, smiley, sortnaturally, tag, testpagespec, underlay,
+ # ymlfront)
+ ######################################################################
+
+ # aggregate plugin
+ # enable aggregation to internal pages?
+ #aggregateinternal => 1,
+ # allow aggregation to be triggered via the web?
+ #aggregate_webtrigger => 0,
+
+ # camelcase plugin
+ # list of words to not turn into links
+ #camelcase_ignore => [],
+
+ # field plugin
+ # simple registration of fields by plugin
+ #field_register => {meta => 'last'},
+ # allow config settings to be queried
+ #field_allow_config => 0,
+ # fields flagged as tag-fields
+ #field_tags => {BookAuthor => '/books/authors'},
+
+ # flattr plugin
+ # userid or user name to use by default for Flattr buttons
+ #flattr_userid => 'joeyh',
+
+ # pinger plugin
+ # how many seconds to try pinging before timing out
+ #pinger_timeout => 15,
+
+ # prettydate plugin
+ # format to use to display date
+ #prettydateformat => '%X, %B %o, %Y',
+
+ # recentchanges plugin
+ # name of the recentchanges page
+ recentchangespage => 'recent_changes',
+ # number of changes to track
+ recentchangesnum => 100,
+
+ # rsync plugin
+ # command to run to sync updated pages
+ #rsync_command => 'rsync -qa --delete . user@host:/path/to/docroot/',
+
+ # sidebar plugin
+ # show sidebar page on all pages?
+ #global_sidebars => 1,
+
+ # tag plugin
+ # parent page tags are located under
+ tagbase => 'tag',
+ # autocreate new tag pages?
+ #tag_autocreate => 1,
+
+ # underlay plugin
+ # extra underlay directories to add
+ #add_underlays => '',
+
+ # ymlfront plugin
+ # delimiters of YAML data
+ ymlfront_delim => [qw{--YAML-START-- --YAML-END--}],
+})