#!/usr/bin/perl
-# Setup file for ikiwiki.
#
+# 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.
use IkiWiki::Setup::Standard {
# name of the wiki
url => 'http://joe.milbourn.org.uk/',
# url to the ikiwiki.cgi
cgiurl => 'http://joe.milbourn.org.uk/ikiwiki.cgi',
+ # do not adjust cgiurl if CGI is accessed via different URL
+ reverse_proxy => 0,
# filename of cgi wrapper to generate
cgi_wrapper => '/home/joe/public_html/wiki/ikiwiki.cgi',
# mode for cgi_wrapper (can safely be made suid)
cgi_wrappermode => '06755',
+ # number of seconds to delay CGI requests when overloaded
+ cgi_overload_delay => '',
+ # message to display when overloaded (may contain html)
+ cgi_overload_message => '',
+ # enable optimization of only refreshing committed changes?
+ only_committed_changes => 0,
# rcs backend to use
rcs => 'git',
# plugins to add to the default configuration
- add_plugins => [qw{goodstuff websetup rawhtml relativedate repolist google calendar}],
+ add_plugins => [qw{goodstuff websetup rawhtml relativedate repolist google attachment}],
# plugins to disable
- disable_plugins => [qw{htmlscrubber openid}],
- # location of template files
+ disable_plugins => [qw{htmlscrubber openid tag}],
+ # additional directory to search for template files
templatedir => 'templates',
# base wiki source location
underlaydir => '/usr/share/ikiwiki/basewiki',
# use page/index.mdwn source files
indexpages => 1,
# enable Discussion pages?
- discussion => 1,
+ discussion => 0,
# name of Discussion pages
discussionpage => 'Discussion',
+ # use elements new in HTML5 like <section>?
+ html5 => 0,
# only send cookies over SSL connections?
sslcookie => 0,
# extension to use for new pages
numbacklinks => 10,
# attempt to hardlink source files? (optimisation for large files)
hardlink => 0,
- # force ikiwiki to use a particular umask
- #umask => 022,
+ # force ikiwiki to use a particular umask (keywords public, group or private, or a number)
+ #umask => 'public',
# group for wrappers to run in
#wrappergroup => 'ikiwiki',
- # extra library and plugin directory
+ # extra library and plugin directories
+ libdirs => [],
+ # extra library and plugin directory (searched after libdirs)
libdir => '/home/joe/.ikiwiki',
# environment variables
- ENV => {},
- # regexp of source files to ignore
- #exclude => '\\.wav$',
+ #ENV => '',
+ # time zone name
+ timezone => ':/etc/localtime',
+ # 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,
+ # cookie control
+ cookiejar => {
+ file => '/home/joe/.ikiwiki/cookies'
+ },
+ # set custom user agent string for outbound HTTP requests e.g. when fetching aggregated RSS feeds
+ useragent => 'ikiwiki/3.20170111',
+ # theme has a responsive layout? (mobile-optimized)
+ responsive_layout => 1,
+ # try harder to produce deterministic output
+ deterministic => 0,
+
+ ######################################################################
+ # core plugins
+ # (editpage, git, htmlscrubber, inline, link, meta, parentlinks,
+ # templatebody)
+ ######################################################################
# git plugin
# git hook to generate
git_wrapper => '/home/joe/git/wikirepo/hooks/post-update',
+ # 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 => '06755',
# git pre-receive hook to generate
# branch that the wiki is stored in
gitmaster_branch => 'master',
- # aggregate plugin
- # enable aggregation to internal pages?
- aggregateinternal => 1,
- # allow aggregation to be triggered via the web?
- #aggregate_webtrigger => 0,
+ # 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',
- # attachment plugin
- # enhanced PageSpec specifying what attachments are allowed
- allowed_attachments => 'mimetype(image/*)',
- # virus checker program (reads STDIN, returns nonzero if virus found)
- #virus_checker => 'clamdscan -',
-
# 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 JSON url
#blogspam_server => '',
- # bzr plugin
- # bzr post-commit hook to generate
- #bzr_wrapper => '',
- # mode for bzr_wrapper (can safely be made suid)
- #bzr_wrappermode => '06755',
- # url to show file history, using loggerhead ([[file]] substituted)
- #historyurl => '',
- # url to view a diff, using loggerhead ([[file]] and [[r2]] substituted)
- #diffurl => 'http://example.com/revision?start_revid=[[r2]]#[[file]]-s',
+ # 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',
- # calendar plugin
- # base of the archives hierarchy
- archivebase => 'notes',
+ # lockedit plugin
+ # PageSpec controlling which pages are locked
+ locked_pages => '!*/Discussion',
- # camelcase plugin
- # list of words to not turn into links
- #camelcase_ignore => [],
+ # 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 => 'permission314159',
+ # cost of generating a password using Authen::Passphrase::BlowfishCrypt
+ #password_cost => 8,
+
+ ######################################################################
+ # format plugins
+ # (creole, highlight, hnb, html, mdwn, otl, rawhtml, rst,
+ # 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,
+ # disable use of markdown discount?
+ #nodiscount => 0,
+
+ ######################################################################
+ # special-purpose plugins
+ # (osm, underlay)
+ ######################################################################
+
+ # osm plugin
+ # the default zoom when you click on the map link
+ #osm_default_zoom => 15,
+ # the icon shown on links and on the main map
+ #osm_default_icon => 'ikiwiki/images/osm.png',
+ # the alt tag of links, defaults to empty
+ #osm_alt => '',
+ # the output format for waypoints, can be KML, GeoJSON or CSV (one or many, comma-separated)
+ #osm_format => 'KML',
+ # the icon attached to a tag, displayed on the map for tagged pages
+ #osm_tag_default_icon => 'icon.png',
+ # Url for the OpenLayers.js file
+ #osm_openlayers_url => 'http://www.openlayers.org/api/OpenLayers.js',
+ # Layers to use in the map. Can be either the 'OSM' string or a type option for Google maps (GoogleNormal, GoogleSatellite, GoogleHybrid or GooglePhysical). It can also be an arbitrary URL in a syntax acceptable for OpenLayers.Layer.OSM.url parameter.
+ #osm_layers => {
+ # OSM => 'GoogleSatellite'
+ #},
+ # Google maps API key, Google layer not used if missing, see https://code.google.com/apis/console/ to get an API key
+ #osm_google_apikey => '',
+
+ # underlay plugin
+ # extra underlay directories to add
+ add_underlays => [],
+
+ ######################################################################
+ # web plugins
+ # (404, attachment, comments, editdiff, edittemplate, google,
+ # goto, mirrorlist, remove, rename, repolist, search, theme,
+ # userlist, websetup, wmd)
+ ######################################################################
+
+ # attachment plugin
+ # enhanced PageSpec specifying what attachments are allowed
+ allowed_attachments => 'mimetype(image/*)',
+ # virus checker program (reads STDIN, returns nonzero if virus found)
+ #virus_checker => 'clamdscan -',
# comments plugin
# PageSpec of pages where comments are allowed
#comments_allowauthor => 0,
# commit comments to the VCS
comments_commit => 1,
+ # Restrict formats for comments to (no restriction if empty)
+ comments_allowformats => '',
- # darcs plugin
- # wrapper to generate (set as master repo apply hook)
- #darcs_wrapper => '/darcs/repo/_darcs/ikiwiki-wrapper',
- # mode for darcs_wrapper (can safely be made suid)
- #darcs_wrappermode => '06755',
- # darcsweb url to show file history ([[file]] substituted)
- #historyurl => 'http://darcs.example.com/darcsweb.cgi?r=wiki;a=filehistory;f=[[file]]',
- # darcsweb url to show a diff ([[hash]] and [[file]] substituted)
- #diffurl => 'http://darcs.example.com/darcsweb.cgi?r=wiki;a=filediff;h=[[hash]];f=[[file]]',
+ # mirrorlist plugin
+ # list of mirrors
+ #mirrorlist => {},
+ # generate links that point to the mirrors' ikiwiki CGI
+ #mirrorlist_use_cgi => 1,
- # highlight plugin
- # types of source files to syntax highlight
- #tohighlight => '.c .h .cpp .pl .py Makefile:make',
+ # repolist plugin
+ # URIs of repositories containing the wiki's source
+ repositories => [qw{http://joe.milbourn.org.uk/clone/wikirepo}],
- # httpauth plugin
- # url to redirect to when authentication is needed
- #cgiauthurl => 'http://example.com/wiki/auth/ikiwiki.cgi',
+ # search plugin
+ # path to the omega cgi program
+ omega_cgi => '/usr/lib/cgi-bin/omega/omega',
+ # use google site search rather than internal xapian index?
+ #google_search => 1,
- # 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 => [],
+ # 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, headinganchors, 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 => 'notes',
+ # PageSpec of pages to include in the archives, if option `calendar_autocreate` is true.
+ archive_pagespec => '*',
+ # autocreate new calendar pages?
+ calendar_autocreate => 0,
+ # if set, when building calendar pages, also build pages of year and month when no pages were published (building empty calendars).
+ calendar_fill_gaps => 0,
+
+ # img plugin
+ # Image formats to process (jpeg, png, gif, svg, pdf or 'everything' to accept all)
+ #img_allowed_formats => '',
# listdirectives plugin
# directory in srcdir that contains directive descriptions
directive_description_dir => 'ikiwiki/directive',
- # lockedit plugin
- # PageSpec controlling which pages are locked
- locked_pages => '!*/Discussion',
+ # teximg plugin
+ # Should teximg use dvipng to render, or dvips and convert?
+ #teximg_dvipng => '',
+ # LaTeX prefix for teximg plugin
+ #teximg_prefix => '\\documentclass{article}
+ #\\usepackage[utf8]{inputenc}
+ #\\usepackage{amsmath}
+ #\\usepackage{amsfonts}
+ #\\usepackage{amssymb}
+ #\\pagestyle{empty}
+ #\\begin{document}
+ #',
+ # LaTeX postfix for teximg plugin
+ #teximg_postfix => '\\end{document}',
- # mdwn plugin
- # enable multimarkdown features?
- #multimarkdown => 0,
+ ######################################################################
+ # other plugins
+ # (aggregate, autoindex, brokenlinks, camelcase, ddate, embed,
+ # favicon, filecheck, flattr, goodstuff, htmlbalance,
+ # localstyle, loginselector, notifyemail, pagetemplate, pingee,
+ # pinger, prettydate, recentchanges, recentchangesdiff,
+ # relativedate, rsync, sidebar, smiley, sortnaturally, tag,
+ # testpagespec, trail, transient)
+ ######################################################################
- # mercurial plugin
- # mercurial post-commit hook to generate
- #mercurial_wrapper => '',
- # mode for mercurial_wrapper (can safely be made suid)
- #mercurial_wrappermode => '06755',
- # url to hg serve'd repository, to show file history ([[file]] substituted)
- #historyurl => 'http://example.com:8000/log/tip/[[file]]',
- # url to hg serve'd repository, to show diff ([[file]] and [[r2]] substituted)
- #diffurl => 'http://localhost:8000/?fd=[[r2]];file=[[file]]',
+ # aggregate plugin
+ # enable aggregation to internal pages?
+ aggregateinternal => 1,
+ # allow aggregation to be triggered via the web?
+ #aggregate_webtrigger => 0,
- # mirrorlist plugin
- # list of mirrors
- #mirrorlist => {},
+ # autoindex plugin
+ # commit autocreated index pages
+ autoindex_commit => 1,
- # moderatedcomments plugin
- # Moderate comments of logged-in users?
- #moderate_users => 1,
+ # camelcase plugin
+ # list of words to not turn into links
+ #camelcase_ignore => [],
- # passwordauth plugin
- # a password that must be entered when signing up for an account
- account_creation_password => 'permission314159',
- # cost of generating a password using Authen::Passphrase::BlowfishCrypt
- #password_cost => 8,
+ # 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
# number of changes to track
recentchangesnum => 100,
- # repolist plugin
- # URIs of repositories containing the wiki's source
- repositories => [qw{http://joe.milbourn.org.uk/clone/wikirepo}],
-
# rsync plugin
# command to run to sync updated pages
#rsync_command => 'rsync -qa --delete . user@host:/path/to/docroot/',
- # search plugin
- # path to the omega cgi program
- omega_cgi => '/usr/lib/cgi-bin/omega/omega',
-
- # svn plugin
- # subversion repository location
- #svnrepo => '/svn/wiki',
- # path inside repository where the wiki is located
- svnpath => 'trunk',
- # svn post-commit hook to generate
- #svn_wrapper => '/svn/wikirepo/hooks/post-commit',
- # mode for svn_wrapper (can safely be made suid)
- #svn_wrappermode => '04755',
- # viewvc url to show file history ([[file]] substituted)
- #historyurl => 'http://svn.example.org/trunk/[[file]]',
- # viewvc url to show a diff ([[file]], [[r1]], and [[r2]] substituted)
- #diffurl => 'http://svn.example.org/trunk/[[file]]?root=wiki&r1=[[r1]]&r2=[[r2]]',
+ # sidebar plugin
+ # show sidebar page on all pages?
+ #global_sidebars => 1,
# tag plugin
# parent page tags are located under
tagbase => 'tag',
-
- # 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}',
-
- # tla plugin
- # tla post-commit hook to generate
- #tla_wrapper => '',
- # mode for tla_wrapper (can safely be made suid)
- #tla_wrappermode => '06755',
- # url to show file history ([[file]] substituted)
- #historyurl => '',
- # url to show a diff ([[file]] and [[rev]] substituted)
- #diffurl => '',
-
- # underlay plugin
- # extra underlay directories to add
- add_underlays => [],
- # extra template directories to add
- #add_templates => [qw{/home/joe/.ikiwiki/templates}],
-
- # websetup plugin
- # list of plugins that cannot be enabled/disabled via the web interface
- #websetup_force_plugins => [],
- # show unsafe settings, read-only, in web interface?
- websetup_show_unsafe => 1,
+ # autocreate new tag pages?
+ #tag_autocreate => 1,
+ # commit autocreated tag pages
+ tag_autocreate_commit => '',
}