diff options
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | Makefile | 12 | ||||
-rw-r--r-- | README | 3 | ||||
-rw-r--r-- | ikiwiki.setup | 9 | ||||
-rw-r--r-- | ikiwiki_admin.setup | 259 | ||||
-rw-r--r-- | ikiwiki_da.setup | 9 | ||||
-rw-r--r-- | ikiwiki_da_admin.setup | 264 | ||||
-rw-r--r-- | ikiwiki_nb.setup | 9 | ||||
-rw-r--r-- | ikiwiki_nb_admin.setup | 264 | ||||
-rw-r--r-- | perl/IkiWiki/Plugin/farbar.pm | 53 | ||||
-rw-r--r-- | perl/IkiWiki/Plugin/topbar.pm | 53 |
11 files changed, 921 insertions, 17 deletions
@@ -3,7 +3,10 @@ /basewiki_nonedit /basewiki_nonedit_l10n /content +/content_l10n /content_dummy +/content_dummy_da +/content_dummy_nb /directives /directives_l10n /smiley @@ -4,22 +4,22 @@ ikiwiki_VERSION = 2.62.1 # Git origin (with capital MOULE replaced or stripped as needed) ikiwiki_ORIGIN = git://source.jones.dk/ikiwiki_MODULE # Git branch (with capital FLAVOR and LOCALE replaced or stripped as needed) -ikiwiki_BRANCH = master-FLAVOR-LOCALE +ikiwiki_BRANCH = allinone-FLAVOR-LOCALE # modules (subproject extension names) used. Expands Git ORIGINs ikiwiki_MODULES = templates basewiki smiley directives # flavors used. Expands Git BRANCHes -#ikiwiki_basewiki_FLAVORS = nonedit -#ikiwiki_templates_FLAVORS = nonedit +ikiwiki_basewiki_FLAVORS = nonedit +ikiwiki_templates_FLAVORS = nonedit # locales used. Expands Git BRANCHes -#ikiwiki_LOCALES = da nb +ikiwiki_LOCALES = da nb # gettext-based modules and locales used #ikiwiki_POMODULES = basewiki smiley directives #ikiwiki_POLOCALES = da -#dummy_MODULES = content_dummy +dummy_MODULES = content_dummy content_dummy_da content_dummy_nb # uncomment this when ikiwiki.setup is configured for the local environment -#CONFIGS = ikiwiki.setup +#CONFIGS = ikiwiki_admin.setup ikiwiki_da_admin.setup ikiwiki_nb_admin.setup ikiwiki.setup ikiwiki_da.setup ikiwiki_nb.setup # Everything after this is generic @@ -8,6 +8,9 @@ the following locales: * danish (da) by Jonas Smedegaard <dr@jones.dk> +Additionally, the configuration has been simplified to not mention non-Git VCS +systems, and deprecated placeholder files has been removed from basewiki. + Getting the source ------------------ diff --git a/ikiwiki.setup b/ikiwiki.setup index 4943426..eb3a9eb 100644 --- a/ikiwiki.setup +++ b/ikiwiki.setup @@ -15,7 +15,7 @@ use IkiWiki::Setup::Standard { # users who are banned from the wiki banned_users => [], # where the source of the wiki is located - srcdir => $ENV{'HOME'} . '/private_webdata/samplewiki/content', + srcdir => $ENV{'HOME'} . '/private_webdata/samplewiki/content_dummy', # where to build the wiki destdir => $ENV{'HOME'} . '/public_websites/wiki.example.org', # base url to the wiki @@ -33,9 +33,12 @@ use IkiWiki::Setup::Standard { # plugins to disable disable_plugins => [], # location of template files - templatedir => $ENV{'HOME'} . '/private_webdata/samplewiki/templates', + templatedir => $ENV{'HOME'} . '/private_webdata/samplewiki/templates_nonedit', # base wiki source location - underlaydir => $ENV{'HOME'} . '/private_webdata/samplewiki/basewiki', + underlaydirs => [ + $ENV{'HOME'} . "/private_webdata/samplewiki/content", + ], + underlaydir => $ENV{'HOME'} . '/private_webdata/samplewiki/basewiki_nonedit', # display verbose messages when building? #verbose => 1, # log to syslog? diff --git a/ikiwiki_admin.setup b/ikiwiki_admin.setup new file mode 100644 index 0000000..0ee0d75 --- /dev/null +++ b/ikiwiki_admin.setup @@ -0,0 +1,259 @@ +#!/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. +use IkiWiki::Setup::Standard { + # name of the wiki + wikiname => 'MyWiki', + # contact email for wiki + #adminemail => 'me@example.org', + # users who are wiki admins + adminuser => [], + # users who are banned from the wiki + banned_users => [], + # where the source of the wiki is located + srcdir => $ENV{'HOME'} . '/private_webdata/samplewiki/content', + # where to build the wiki + destdir => $ENV{'HOME'} . '/public_websites/admin.wiki.example.org', + # base url to the wiki + url => 'http://admin.wiki.example.org', + # url to the ikiwiki.cgi + cgiurl => 'http://admin.wiki.example.org/ikiwiki.en.cgi', + # cgi wrapper to generate + cgi_wrapper => $ENV{'HOME'} . '/public_cgi/admin.wiki.example.org/ikiwiki.en.cgi', + # mode for cgi_wrapper (can safely be made suid) + cgi_wrappermode => '06755', + # rcs backend to use + rcs => '', + # plugins to add to the default configuration + add_plugins => [], + # plugins to disable + disable_plugins => [], + # location of template files + templatedir => $ENV{'HOME'} . '/private_webdata/samplewiki/templates', + # base wiki source location + underlaydir => $ENV{'HOME'} . '/private_webdata/samplewiki/basewiki', + # display verbose messages when building? + #verbose => 1, + # log to syslog? + #syslog => 1, + # create output files named page/index.html? + usedirs => 1, + # use '!'-prefixed preprocessor directives? + prefix_directives => 0, + # use page/index.mdwn source files + indexpages => 0, + # enable Discussion pages? + discussion => 1, + # only send cookies over SSL connections? + sslcookie => 0, + # extension to use for new pages + default_pageext => 'mdwn', + # extension to use for html files + htmlext => 'en.html', + # strftime format string to display date + timeformat => '%c', + # UTF-8 locale to use + locale => 'en_US.UTF-8', + # put user pages below specified page + userdir => '', + # how many backlinks to show before hiding excess (0 to show all) + numbacklinks => 10, + # attempt to hardlink source files? (optimisation for large files) + hardlink => 0, + # force ikiwiki to use a particular umask + #umask => 022, + # extra library and plugin directory + libdir => 'perl', + # 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, + + # aggregate plugin + # enable aggregation to internal pages? + #aggregateinternal => 0, + # allow aggregation to be triggered via the web? + #aggregate_webtrigger => 0, + + # amazon_s3 plugin + # public access key id + #amazon_s3_key_id => 'XXXXXXXXXXXXXXXXXXXX', + # file holding secret key (must not be readable by others!) + #amazon_s3_key_id => $ENV{'HOME'} . '/secret_webdata/s3_key', + # globally unique name of bucket to store wiki in + #amazon_s3_bucket => 'mywiki', + # a prefix to prepend to each page name + #amazon_s3_prefix => 'wiki/', + # which S3 datacenter to use (leave blank for default) + #amazon_s3_location => 'EU', + # store each index file twice? (allows urls ending in "/index.html" and "/") + #amazon_s3_dupindex => 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 -', + + # 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.org/revision?start_revid=[[r2]]#[[file]]-s', + + # calendar plugin + # base of the archives hierarchy + #archivebase => 'archives', + + # git plugin + # git hook to generate + #git_wrapper => $ENV{'HOME'} . '/public_websites/git.example.org/samplewiki_content.git/hooks/post-update-ikiwiki-admin', + # mode for git_wrapper (can safely be made suid) + #git_wrappermode => '06755', + # gitweb url to show file history ([[file]] substituted) + #historyurl => 'http://git.example.org/gitweb.cgi?p=wiki.git;a=history;f=[[file]]', # ;hb=master + # gitweb url to show a diff ([[sha1_to]], [[sha1_from]], [[sha1_parent]], and [[file]] substituted) + #diffurl => 'http://git.example.org/gitweb.cgi?p=wiki.git;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 => 'samplewiki', + # 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 => 0, + # enable atom feeds by default? + #atom => 0, + # 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 => 'http://rpc.technorati.com/rpc/ping', + + # 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.org: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 => 'recentchanges', + # number of changes to track + #recentchangesnum => 100, + + # 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 => '', + + # typography plugin + # Text::Typography attributes value + #typographyattributes => '3', + + # 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, +} diff --git a/ikiwiki_da.setup b/ikiwiki_da.setup index c684ffa..ad9df6f 100644 --- a/ikiwiki_da.setup +++ b/ikiwiki_da.setup @@ -15,7 +15,7 @@ use IkiWiki::Setup::Standard { # users who are banned from the wiki banned_users => [], # where the source of the wiki is located - srcdir => $ENV{'HOME'} . '/private_webdata/samplewiki/content_l10n/da', + srcdir => $ENV{'HOME'} . '/private_webdata/samplewiki/content_dummy_da', # where to build the wiki destdir => $ENV{'HOME'} . '/public_websites/wiki.example.org', # base url to the wiki @@ -33,14 +33,15 @@ use IkiWiki::Setup::Standard { # plugins to disable disable_plugins => [], # location of template files - templatedir => $ENV{'HOME'} . '/private_webdata/samplewiki/templates_l10n/da', + templatedir => $ENV{'HOME'} . '/private_webdata/samplewiki/templates_nonedit_l10n/da', # base wiki source location underlaydirs => [ + $ENV{'HOME'} . '/private_webdata/samplewiki/content', #$ENV{'HOME'} . '/private_webdata/samplewiki/smiley_l10n/da', - $ENV{'HOME'} . '/private_webdata/samplewiki/basewiki_l10n/da', + $ENV{'HOME'} . '/private_webdata/samplewiki/basewiki_nonedit_l10n/da', ], # Some plugins (smiley in particular) need non-localized master underlay - underlaydir => $ENV{'HOME'} . '/private_webdata/samplewiki/basewiki', + underlaydir => $ENV{'HOME'} . '/private_webdata/samplewiki/basewiki_nonedit', # display verbose messages when building? #verbose => 1, # log to syslog? diff --git a/ikiwiki_da_admin.setup b/ikiwiki_da_admin.setup new file mode 100644 index 0000000..8979f7b --- /dev/null +++ b/ikiwiki_da_admin.setup @@ -0,0 +1,264 @@ +#!/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. +use IkiWiki::Setup::Standard { + # name of the wiki + wikiname => 'MyWiki', + # contact email for wiki + #adminemail => 'me@example.org', + # users who are wiki admins + adminuser => [], + # users who are banned from the wiki + banned_users => [], + # where the source of the wiki is located + srcdir => $ENV{'HOME'} . '/private_webdata/samplewiki/content_l10n/da', + # where to build the wiki + destdir => $ENV{'HOME'} . '/public_websites/admin.wiki.example.org', + # base url to the wiki + url => 'http://admin.wiki.example.org', + # url to the ikiwiki.cgi + cgiurl => 'http://admin.wiki.example.org/ikiwiki.da.cgi', + # cgi wrapper to generate + cgi_wrapper => $ENV{'HOME'} . '/public_cgi/admin.wiki.example.org/ikiwiki.da.cgi', + # mode for cgi_wrapper (can safely be made suid) + cgi_wrappermode => '06755', + # rcs backend to use + rcs => '', + # plugins to add to the default configuration + add_plugins => [], + # plugins to disable + disable_plugins => [], + # location of template files + templatedir => $ENV{'HOME'} . '/private_webdata/samplewiki/templates_l10n/da', + # base wiki source location + underlaydirs => [ + #$ENV{'HOME'} . '/private_webdata/samplewiki/smiley_l10n/da', + $ENV{'HOME'} . '/private_webdata/samplewiki/basewiki_l10n/da', + ], + # Some plugins (smiley in particular) need non-localized master underlay + underlaydir => $ENV{'HOME'} . '/private_webdata/samplewiki/basewiki', + # display verbose messages when building? + #verbose => 1, + # log to syslog? + #syslog => 1, + # create output files named page/index.html? + usedirs => 1, + # use '!'-prefixed preprocessor directives? + prefix_directives => 0, + # use page/index.mdwn source files + indexpages => 0, + # enable Discussion pages? + discussion => 1, + # only send cookies over SSL connections? + sslcookie => 0, + # extension to use for new pages + default_pageext => 'mdwn', + # extension to use for html files + htmlext => 'da.html', + # strftime format string to display date + timeformat => '%c', + # UTF-8 locale to use + locale => 'da_DK.UTF-8', + # put user pages below specified page + userdir => '', + # how many backlinks to show before hiding excess (0 to show all) + numbacklinks => 10, + # attempt to hardlink source files? (optimisation for large files) + hardlink => 0, + # force ikiwiki to use a particular umask + #umask => 022, + # extra library and plugin directory + libdir => 'perl', + # 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, + + # aggregate plugin + # enable aggregation to internal pages? + #aggregateinternal => 0, + # allow aggregation to be triggered via the web? + #aggregate_webtrigger => 0, + + # amazon_s3 plugin + # public access key id + #amazon_s3_key_id => 'XXXXXXXXXXXXXXXXXXXX', + # file holding secret key (must not be readable by others!) + #amazon_s3_key_id => $ENV{'HOME'} . '/secret_webdata/s3_key', + # globally unique name of bucket to store wiki in + #amazon_s3_bucket => 'mywiki', + # a prefix to prepend to each page name + #amazon_s3_prefix => 'wiki/', + # which S3 datacenter to use (leave blank for default) + #amazon_s3_location => 'EU', + # store each index file twice? (allows urls ending in "/index.html" and "/") + #amazon_s3_dupindex => 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 -', + + # 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.org/revision?start_revid=[[r2]]#[[file]]-s', + + # calendar plugin + # base of the archives hierarchy + #archivebase => 'archives', + + # git plugin + # git hook to generate + #git_wrapper => $ENV{'HOME'} . '/public_websites/git.example.org/samplewiki_content.git/hooks/post-update-ikiwiki-da-admin', + # mode for git_wrapper (can safely be made suid) + #git_wrappermode => '06755', + # gitweb url to show file history ([[file]] substituted) + #historyurl => 'http://git.example.org/gitweb.cgi?p=wiki.git;a=history;f=[[file]];hb=master-da', + # gitweb url to show a diff ([[sha1_to]], [[sha1_from]], [[sha1_parent]], and [[file]] substituted) + #diffurl => 'http://git.example.org/gitweb.cgi?p=wiki.git;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 => 'samplewiki', + # branch that the wiki is stored in + #gitmaster_branch => 'master-da', + + # htmlscrubber plugin + # PageSpec specifying pages not to scrub + #htmlscrubber_skip => '!*/Discussion', + + # inline plugin + # enable rss feeds by default? + #rss => 0, + # enable atom feeds by default? + #atom => 0, + # 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 => 'http://rpc.technorati.com/rpc/ping', + + # 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.org: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 => 'recentchanges', + # number of changes to track + #recentchangesnum => 100, + + # 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 => '', + + # typography plugin + # Text::Typography attributes value + #typographyattributes => '3', + + # 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, +} diff --git a/ikiwiki_nb.setup b/ikiwiki_nb.setup index d523d9e..578b975 100644 --- a/ikiwiki_nb.setup +++ b/ikiwiki_nb.setup @@ -15,7 +15,7 @@ use IkiWiki::Setup::Standard { # users who are banned from the wiki banned_users => [], # where the source of the wiki is located - srcdir => $ENV{'HOME'} . '/private_webdata/samplewiki/content_l10n/nb', + srcdir => $ENV{'HOME'} . '/private_webdata/samplewiki/content_dummy_nb', # where to build the wiki destdir => $ENV{'HOME'} . '/public_websites/wiki.example.org', # base url to the wiki @@ -33,14 +33,15 @@ use IkiWiki::Setup::Standard { # plugins to disable disable_plugins => [], # location of template files - templatedir => $ENV{'HOME'} . '/private_webdata/samplewiki/templates_l10n/nb', + templatedir => $ENV{'HOME'} . '/private_webdata/samplewiki/templates_nonedit_l10n/nb', # base wiki source location underlaydirs => [ + $ENV{'HOME'} . '/private_webdata/samplewiki/content_l10n/nb', #$ENV{'HOME'} . '/private_webdata/samplewiki/smiley_l10n/nb', - $ENV{'HOME'} . '/private_webdata/samplewiki/basewiki_l10n/nb', + $ENV{'HOME'} . '/private_webdata/samplewiki/basewiki_nonedit_l10n/nb', ], # Some plugins (smiley in particular) need non-localized master underlay - underlaydir => $ENV{'HOME'} . '/private_webdata/samplewiki/basewiki', + underlaydir => $ENV{'HOME'} . '/private_webdata/samplewiki/basewiki_nonedit', # display verbose messages when building? #verbose => 1, # log to syslog? diff --git a/ikiwiki_nb_admin.setup b/ikiwiki_nb_admin.setup new file mode 100644 index 0000000..d8ba049 --- /dev/null +++ b/ikiwiki_nb_admin.setup @@ -0,0 +1,264 @@ +#!/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. +use IkiWiki::Setup::Standard { + # name of the wiki + wikiname => 'MyWiki', + # contact email for wiki + #adminemail => 'me@example.org', + # users who are wiki admins + adminuser => [], + # users who are banned from the wiki + banned_users => [], + # where the source of the wiki is located + srcdir => $ENV{'HOME'} . '/private_webdata/samplewiki/content_l10n/nb', + # where to build the wiki + destdir => $ENV{'HOME'} . '/public_websites/admin.wiki.example.org', + # base url to the wiki + url => 'http://admin.wiki.example.org', + # url to the ikiwiki.cgi + cgiurl => 'http://admin.wiki.example.org/ikiwiki.nb.cgi', + # cgi wrapper to generate + cgi_wrapper => $ENV{'HOME'} . '/public_cgi/admin.wiki.example.org/ikiwiki.nb.cgi', + # mode for cgi_wrapper (can safely be made suid) + cgi_wrappermode => '06755', + # rcs backend to use + rcs => '', + # plugins to add to the default configuration + add_plugins => [], + # plugins to disable + disable_plugins => [], + # location of template files + templatedir => $ENV{'HOME'} . '/private_webdata/samplewiki/templates_l10n/nb', + # base wiki source location + underlaydirs => [ + #$ENV{'HOME'} . '/private_webdata/samplewiki/smiley_l10n/nb', + $ENV{'HOME'} . '/private_webdata/samplewiki/basewiki_l10n/nb', + ], + # Some plugins (smiley in particular) need non-localized master underlay + underlaydir => $ENV{'HOME'} . '/private_webdata/samplewiki/basewiki', + # display verbose messages when building? + #verbose => 1, + # log to syslog? + #syslog => 1, + # create output files named page/index.html? + usedirs => 1, + # use '!'-prefixed preprocessor directives? + prefix_directives => 0, + # use page/index.mdwn source files + indexpages => 0, + # enable Discussion pages? + discussion => 1, + # only send cookies over SSL connections? + sslcookie => 0, + # extension to use for new pages + default_pageext => 'mdwn', + # extension to use for html files + htmlext => 'nb.html', + # strftime format string to display date + timeformat => '%c', + # UTF-8 locale to use + locale => 'no_NB.UTF-8', + # put user pages below specified page + userdir => '', + # how many backlinks to show before hiding excess (0 to show all) + numbacklinks => 10, + # attempt to hardlink source files? (optimisation for large files) + hardlink => 0, + # force ikiwiki to use a particular umask + #umask => 022, + # extra library and plugin directory + libdir => 'perl', + # 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, + + # aggregate plugin + # enable aggregation to internal pages? + #aggregateinternal => 0, + # allow aggregation to be triggered via the web? + #aggregate_webtrigger => 0, + + # amazon_s3 plugin + # public access key id + #amazon_s3_key_id => 'XXXXXXXXXXXXXXXXXXXX', + # file holding secret key (must not be readable by others!) + #amazon_s3_key_id => $ENV{'HOME'} . '/secret_webdata/s3_key', + # globally unique name of bucket to store wiki in + #amazon_s3_bucket => 'mywiki', + # a prefix to prepend to each page name + #amazon_s3_prefix => 'wiki/', + # which S3 datacenter to use (leave blank for default) + #amazon_s3_location => 'EU', + # store each index file twice? (allows urls ending in "/index.html" and "/") + #amazon_s3_dupindex => 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 -', + + # 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.org/revision?start_revid=[[r2]]#[[file]]-s', + + # calendar plugin + # base of the archives hierarchy + #archivebase => 'archives', + + # git plugin + # git hook to generate + #git_wrapper => $ENV{'HOME'} . '/public_websites/git.example.org/samplewiki_content.git/hooks/post-update-ikiwiki-nb-admin', + # mode for git_wrapper (can safely be made suid) + #git_wrappermode => '06755', + # gitweb url to show file history ([[file]] substituted) + #historyurl => 'http://git.example.org/gitweb.cgi?p=wiki.git;a=history;f=[[file]];hb=master-nb', + # gitweb url to show a diff ([[sha1_to]], [[sha1_from]], [[sha1_parent]], and [[file]] substituted) + #diffurl => 'http://git.example.org/gitweb.cgi?p=wiki.git;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 => 'samplewiki', + # branch that the wiki is stored in + #gitmaster_branch => 'master-nb', + + # htmlscrubber plugin + # PageSpec specifying pages not to scrub + #htmlscrubber_skip => '!*/Discussion', + + # inline plugin + # enable rss feeds by default? + #rss => 0, + # enable atom feeds by default? + #atom => 0, + # 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 => 'http://rpc.technorati.com/rpc/ping', + + # 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.org: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 => 'recentchanges', + # number of changes to track + #recentchangesnum => 100, + + # 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 => '', + + # typography plugin + # Text::Typography attributes value + #typographyattributes => '3', + + # 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, +} diff --git a/perl/IkiWiki/Plugin/farbar.pm b/perl/IkiWiki/Plugin/farbar.pm new file mode 100644 index 0000000..ab4390a --- /dev/null +++ b/perl/IkiWiki/Plugin/farbar.pm @@ -0,0 +1,53 @@ +#!/usr/bin/perl +# Farbar plugin. +# by Jonas Smedegaard <dr@jones.dk> +# Heavily based on Sidebar by Tuomo Valkonen <tuomov at iki dot fi> + +package IkiWiki::Plugin::farbar; + +use warnings; +use strict; +use IkiWiki 2.00; + +sub import { #{{{ + hook(type => "pagetemplate", id => "farbar", call => \&pagetemplate); +} # }}} + +sub farbar_content ($) { #{{{ + my $page=shift; + + my $farbar_page=bestlink($page, "farbar") || return; + my $farbar_file=$pagesources{$farbar_page} || return; + my $farbar_type=pagetype($farbar_file); + + if (defined $farbar_type) { + # FIXME: This isn't quite right; it won't take into account + # adding a new farbar page. So adding such a page + # currently requires a wiki rebuild. + add_depends($page, $farbar_page); + + my $content=readfile(srcfile($farbar_file)); + return unless length $content; + return IkiWiki::htmlize($farbar_page, $page, $farbar_type, + IkiWiki::linkify($farbar_page, $page, + IkiWiki::preprocess($farbar_page, $page, + IkiWiki::filter($farbar_page, $page, $content)))); + } + +} # }}} + +sub pagetemplate (@) { #{{{ + my %params=@_; + + my $page=$params{page}; + my $template=$params{template}; + + if ($template->query(name => "farbar")) { + my $content=farbar_content($page); + if (defined $content && length $content) { + $template->param(farbar => $content); + } + } +} # }}} + +1 diff --git a/perl/IkiWiki/Plugin/topbar.pm b/perl/IkiWiki/Plugin/topbar.pm new file mode 100644 index 0000000..aa62a11 --- /dev/null +++ b/perl/IkiWiki/Plugin/topbar.pm @@ -0,0 +1,53 @@ +#!/usr/bin/perl +# Topbar plugin. +# by Jonas Smedegaard <dr@jones.dk> +# Heavily based on Sidebar by Tuomo Valkonen <tuomov at iki dot fi> + +package IkiWiki::Plugin::topbar; + +use warnings; +use strict; +use IkiWiki 2.00; + +sub import { #{{{ + hook(type => "pagetemplate", id => "topbar", call => \&pagetemplate); +} # }}} + +sub topbar_content ($) { #{{{ + my $page=shift; + + my $topbar_page=bestlink($page, "topbar") || return; + my $topbar_file=$pagesources{$topbar_page} || return; + my $topbar_type=pagetype($topbar_file); + + if (defined $topbar_type) { + # FIXME: This isn't quite right; it won't take into account + # adding a new topbar page. So adding such a page + # currently requires a wiki rebuild. + add_depends($page, $topbar_page); + + my $content=readfile(srcfile($topbar_file)); + return unless length $content; + return IkiWiki::htmlize($topbar_page, $page, $topbar_type, + IkiWiki::linkify($topbar_page, $page, + IkiWiki::preprocess($topbar_page, $page, + IkiWiki::filter($topbar_page, $page, $content)))); + } + +} # }}} + +sub pagetemplate (@) { #{{{ + my %params=@_; + + my $page=$params{page}; + my $template=$params{template}; + + if ($template->query(name => "topbar")) { + my $content=topbar_content($page); + if (defined $content && length $content) { + $template->param(topbar => $content); + } + } +} # }}} + +1 |