summaryrefslogtreecommitdiff
path: root/ikiwiki.setup
blob: 9cb4e85e0804b64daff66051a5bfa6d7fea3c321 (plain)
  1. #!/usr/bin/perl
  2. # Setup file for ikiwiki.
  3. #
  4. # Passing this to ikiwiki --setup will make ikiwiki generate
  5. # wrappers and build the wiki.
  6. #
  7. # Remember to re-run ikiwiki --setup any time you edit this file.
  8. our ($basedir, $builddir, $domain, $gitrepo);
  9. BEGIN {
  10.     # git hook requires full path as basedir: $ENV{'HOME'} . '/mywiki'
  11.     $basedir = $ENV{'PWD'};
  12.     $builddir = $ENV{'BUILDDIR'} || $basedir . '/build';
  13.     $domain = 'example.org';
  14.     $gitrepo = 'wiki';
  15. }
  16. use IkiWiki::Setup::Standard {
  17.     # name of the wiki
  18.     wikiname => 'MyWiki',
  19.     # contact email for wiki
  20.     #adminemail => 'me@' . $domain,
  21.     # users who are wiki admins
  22.     adminuser => [],
  23.     # users who are banned from the wiki
  24.     banned_users => [],
  25.     # where the source of the wiki is located
  26.     srcdir => $basedir . '/content',
  27.     # where to build the wiki
  28.     destdir => $builddir . '/html',
  29.     # base url to the wiki
  30.     url => 'http://wiki.' . $domain . '/',
  31.     # url to the ikiwiki.cgi
  32.     cgiurl => 'http://wiki.' . $domain . '/ikiwiki.cgi',
  33.     # cgi wrapper to generate
  34.     cgi_wrapper => $builddir . '/cgi/ikiwiki.cgi',
  35.     # mode for cgi_wrapper (can safely be made suid)
  36.     cgi_wrappermode => '00755',
  37.     # rcs backend to use
  38.     rcs => 'git',
  39.     # plugins to add to the default configuration
  40.     add_plugins => [qw{
  41.         }],
  42.     # plugins to disable
  43.     disable_plugins => [qw{
  44.         }],
  45.     # location of template files
  46.     templatedir => $basedir . '/templates',
  47.     # base wiki source location
  48.     underlaydir => $basedir . '/basewiki',
  49.     # display verbose messages when building?
  50.     #verbose => 1,
  51.     # log to syslog?
  52.     #syslog => 1,
  53.     # create output files named page/index.html?
  54.     usedirs => 1,
  55.     # use '!'-prefixed preprocessor directives?
  56.     prefix_directives => 0,
  57.     # use page/index.mdwn source files
  58.     indexpages => 0,
  59.     # enable Discussion pages?
  60.     discussion => 1,
  61.     # only send cookies over SSL connections?
  62.     sslcookie => 0,
  63.     # extension to use for new pages
  64.     default_pageext => 'mdwn',
  65.     # extension to use for html files
  66.     htmlext => 'html',
  67.     # strftime format string to display date
  68.     timeformat => '%c',
  69.     # UTF-8 locale to use
  70.     #locale => 'en_US.UTF-8',
  71.     # put user pages below specified page
  72.     userdir => '',
  73.     # how many backlinks to show before hiding excess (0 to show all)
  74.     numbacklinks => 10,
  75.     # attempt to hardlink source files? (optimisation for large files)
  76.     hardlink => 0,
  77.     # force ikiwiki to use a particular umask
  78.     #umask => 022,
  79.     # extra library and plugin directory
  80.     libdir => $basedir . '/perl',
  81.     # environment variables
  82.     ENV => {},
  83.     # regexp of source files to ignore
  84.     #exclude => '\\.wav$',
  85.     # specifies the characters that are allowed in source filenames
  86.     wiki_file_chars => '-[:alnum:]+/.:_',
  87.     # allow symlinks in the path leading to the srcdir (potentially insecure)
  88.     allow_symlinks_before_srcdir => 0,
  89.     # aggregate plugin
  90.     # enable aggregation to internal pages?
  91.     #aggregateinternal => 0,
  92.     # allow aggregation to be triggered via the web?
  93.     #aggregate_webtrigger => 0,
  94.     # amazon_s3 plugin
  95.     # public access key id
  96.     #amazon_s3_key_id => 'XXXXXXXXXXXXXXXXXXXX',
  97.     # file holding secret key (must not be readable by others!)
  98.     #amazon_s3_key_id => 's3_key',
  99.     # globally unique name of bucket to store wiki in
  100.     #amazon_s3_bucket => 'mywiki',
  101.     # a prefix to prepend to each page name
  102.     #amazon_s3_prefix => 'wiki/',
  103.     # which S3 datacenter to use (leave blank for default)
  104.     #amazon_s3_location => 'EU',
  105.     # store each index file twice? (allows urls ending in "/index.html" and "/")
  106.     #amazon_s3_dupindex => 0,
  107.     # anonok plugin
  108.     # PageSpec to limit which pages anonymous users can edit
  109.     #anonok_pagespec => '*/discussion',
  110.     # attachment plugin
  111.     # enhanced PageSpec specifying what attachments are allowed
  112.     #allowed_attachments => 'virusfree() and mimetype(image/*) and maxsize(50kb)',
  113.     # virus checker program (reads STDIN, returns nonzero if virus found)
  114.     #virus_checker => 'clamdscan -',
  115.     # bzr plugin
  116.     # bzr post-commit hook to generate
  117.     #bzr_wrapper => '',
  118.     # mode for bzr_wrapper (can safely be made suid)
  119.     #bzr_wrappermode => '06755',
  120.     # url to show file history, using loggerhead ([[file]] substituted)
  121.     #historyurl => '',
  122.     # url to view a diff, using loggerhead ([[file]] and [[r2]] substituted)
  123.     #diffurl => 'http://example.org/revision?start_revid=[[r2]]#[[file]]-s',
  124.     # calendar plugin
  125.     # base of the archives hierarchy
  126.     #archivebase => 'archives',
  127.     # git plugin
  128.     # git hook to generate
  129.     git_wrapper => $builddir . '/git/post-update-ikiwiki',
  130.     # mode for git_wrapper (can safely be made suid)
  131.     git_wrappermode => '06755',
  132.     # gitweb url to show file history ([[file]] substituted)
  133.     #historyurl => 'http://source.' . $domain . '/gitweb.cgi?p=' . $gitrepo . '.git;a=history;f=[[file]]', # ;hb=master
  134.     # gitweb url to show a diff ([[sha1_to]], [[sha1_from]], [[sha1_parent]], and [[file]] substituted)
  135.     #diffurl => 'http://source.' . $domain . '/gitweb.cgi?p=' . $gitrepo . '.git;a=blobdiff;h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_parent]];f=[[file]]',
  136.     # where to pull and push changes (set to empty string to disable)
  137.     #gitorigin_branch => 'samplewiki',
  138.     # branch that the wiki is stored in
  139.     #gitmaster_branch => 'master',
  140.     # htmlscrubber plugin
  141.     # PageSpec specifying pages not to scrub
  142.     #htmlscrubber_skip => '!*/Discussion',
  143.     # inline plugin
  144.     # enable rss feeds by default?
  145.     #rss => 0,
  146.     # enable atom feeds by default?
  147.     #atom => 0,
  148.     # allow rss feeds to be used?
  149.     #allowrss => 0,
  150.     # allow atom feeds to be used?
  151.     #allowatom => 0,
  152.     # urls to ping (using XML-RPC) on feed update
  153.     #pingurl => 'http://rpc.technorati.com/rpc/ping',
  154.     # listdirectives plugin
  155.     # directory in srcdir that contains directive descriptions
  156.     #directive_description_dir => 'ikiwiki/directive',
  157.     # lockedit plugin
  158.     # PageSpec controlling which pages are locked
  159.     #locked_pages => '!*/Discussion',
  160.     # mdwn plugin
  161.     # enable multimarkdown features?
  162.     #multimarkdown => 0,
  163.     # mercurial plugin
  164.     # mercurial post-commit hook to generate
  165.     #mercurial_wrapper => '',
  166.     # mode for mercurial_wrapper (can safely be made suid)
  167.     #mercurial_wrappermode => '06755',
  168.     # url to hg serve'd repository, to show file history ([[file]] substituted)
  169.     #historyurl => 'http://example.org:8000/log/tip/[[file]]',
  170.     # url to hg serve'd repository, to show diff ([[file]] and [[r2]] substituted)
  171.     #diffurl => 'http://localhost:8000/?fd=[[r2]];file=[[file]]',
  172.     # mirrorlist plugin
  173.     # list of mirrors
  174.     #mirrorlist => {},
  175.     # openid plugin
  176.     # an url where users can signup for an OpenID
  177.     #openidsignup => 'http://myopenid.com/',
  178.     # passwordauth plugin
  179.     # a password that must be entered when signing up for an account
  180.     #account_creation_password => 's3cr1t',
  181.     # cost of generating a password using Authen::Passphrase::BlowfishCrypt
  182.     #password_cost => 8,
  183.     # pinger plugin
  184.     # how many seconds to try pinging before timing out
  185.     #pinger_timeout => 15,
  186.     # prettydate plugin
  187.     # format to use to display date
  188.     #prettydateformat => '%X, %B %o, %Y',
  189.     # recentchanges plugin
  190.     # name of the recentchanges page
  191.     #recentchangespage => 'recentchanges',
  192.     # number of changes to track
  193.     #recentchangesnum => 100,
  194.     # search plugin
  195.     # path to the omega cgi program
  196.     #omega_cgi => '/usr/lib/cgi-bin/omega/omega',
  197.     # svn plugin
  198.     # subversion repository location
  199.     #svnrepo => '/svn/wiki',
  200.     # path inside repository where the wiki is located
  201.     #svnpath => 'trunk',
  202.     # svn post-commit hook to generate
  203.     #svn_wrapper => '/svn/wikirepo/hooks/post-commit',
  204.     # mode for svn_wrapper (can safely be made suid)
  205.     #svn_wrappermode => '04755',
  206.     # viewvc url to show file history ([[file]] substituted)
  207.     #historyurl => 'http://svn.example.org/trunk/[[file]]',
  208.     # viewvc url to show a diff ([[file]], [[r1]], and [[r2]] substituted)
  209.     #diffurl => 'http://svn.example.org/trunk/[[file]]?root=wiki&r1=[[r1]]&r2=[[r2]]',
  210.     # tag plugin
  211.     # parent page tags are located under
  212.     #tagbase => 'tag',
  213.     # teximg plugin
  214.     # Should teximg use dvipng to render, or dvips and convert?
  215.     #teximg_dvipng => '',
  216.     # LaTeX prefix for teximg plugin
  217.     #teximg_prefix => '\\documentclass{article}
  218.     #\\usepackage{amsmath}
  219.     #\\usepackage{amsfonts}
  220.     #\\usepackage{amssymb}
  221.     #\\pagestyle{empty}
  222.     #\\begin{document}
  223.     #',
  224.     # LaTeX postfix for teximg plugin
  225.     #teximg_postfix => '\\end{document}',
  226.     # tla plugin
  227.     # tla post-commit hook to generate
  228.     #tla_wrapper => '',
  229.     # mode for tla_wrapper (can safely be made suid)
  230.     #tla_wrappermode => '06755',
  231.     # url to show file history ([[file]] substituted)
  232.     #historyurl => '',
  233.     # url to show a diff ([[file]] and [[rev]] substituted)
  234.     #diffurl => '',
  235.     # typography plugin
  236.     # Text::Typography attributes value
  237.     #typographyattributes => '3',
  238.     # websetup plugin
  239.     # list of plugins that cannot be enabled/disabled via the web interface
  240.     #websetup_force_plugins => [],
  241.     # show unsafe settings, read-only, in web interface?
  242.     #websetup_show_unsafe => 1,
  243.     # varioki plugin (strings are eval'ed: double-quote actual strings!)
  244.     #varioki => {
  245.     #   'branding_logo_text' => '"Example Website"',
  246.     #   'branding_logo' => '"logo.png"',
  247.     #   'branding_logo_tagline' => '"Yet another ikiwiki site!"',
  248.     #},
  249. }