diff options
Diffstat (limited to 'ikiwiki.setup')
-rw-r--r-- | ikiwiki.setup | 387 |
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--}], +}) |