#!/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 http://calvinyoung.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 html sidebar table txt copyright license texinfo}], # plugins to disable disable_plugins => [], # location of 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', # 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 source files to ignore #exclude => '\\.wav$', # 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, # git plugin # git hook to generate git_wrapper => $git_wrapper, # 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]]', # 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;h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_parent]];f=[[file]]', # 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', # aggregate plugin # enable aggregation to internal pages? #aggregateinternal => 1, # allow aggregation to be triggered via the web? #aggregate_webtrigger => 0, # 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 => 'virusfree() and mimetype(image/*) and maxsize(50kb)', # 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 => '', # 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', # calendar plugin # base of the archives hierarchy #archivebase => 'archives', # camelcase plugin # list of words to not turn into links #camelcase_ignore => [], # 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, # 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]]', # getsource plugin # Mime type for returned source. #getsource_mimetype => 'text/plain; charset=utf-8', # highlight plugin # types of source files to syntax highlight #tohighlight => '.c .h .cpp .pl .py Makefile:make', # 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 => [], # 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', # mdwn plugin # enable multimarkdown features? #multimarkdown => 0, # 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]]', # mirrorlist plugin # list of mirrors #mirrorlist => {}, # openid plugin # an url where users can signup for an OpenID #openidsignup => 'http://myopenid.com/', # 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, # 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, # repolist plugin # URIs of repositories containing the wiki's source #repositories => [qw{svn://svn.example.org/wiki/trunk}], # 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]]', # 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 => '', # 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, })