diff options
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | ikiwiki.setup | 160 | ||||
-rw-r--r-- | ikiwiki_admin.setup | 157 | ||||
-rw-r--r-- | ikiwiki_da.setup | 14 | ||||
-rw-r--r-- | ikiwiki_da_admin.setup | 12 | ||||
-rw-r--r-- | ikiwiki_nb.setup | 163 | ||||
-rw-r--r-- | ikiwiki_nb_admin.setup | 162 | ||||
-rw-r--r-- | perl/IkiWiki/Plugin/farbar.pm | 53 | ||||
-rw-r--r-- | perl/IkiWiki/Plugin/topbar.pm | 53 |
10 files changed, 767 insertions, 16 deletions
@@ -3,7 +3,10 @@ /basewiki_nonedit /basewiki_nonedit_l10n /content +/content_l10n /content_dummy +/content_dummy_da +/content_dummy_nb /smiley /smiley_l10n /templates @@ -11,15 +11,15 @@ ikiwiki_MODULES = templates basewiki smiley ikiwiki_basewiki_FLAVORS = nonedit ikiwiki_templates_FLAVORS = nonedit # locales used. Expands Git BRANCHes -ikiwiki_LOCALES = da +ikiwiki_LOCALES = da nb # gettext-based modules and locales used #ikiwiki_POMODULES = basewiki smiley #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_da_admin.setup ikiwiki_da.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 diff --git a/ikiwiki.setup b/ikiwiki.setup new file mode 100644 index 0000000..7c98ded --- /dev/null +++ b/ikiwiki.setup @@ -0,0 +1,160 @@ +#!/usr/bin/perl +# Configuration 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 { + wikiname => "MyWiki", + #adminuser => ["yourname", ], + adminemail => 'me@example.org', + + # Be sure to customise these.. + srcdir => $ENV{'HOME'} . "/private_webdata/samplewiki/content_dummy", + destdir => $ENV{'HOME'} . "/public_websites/wiki.example.org", + + url => "http://wiki.example.org", + cgiurl => "http://wiki.example.org/ikiwiki.cgi", + templatedir => $ENV{'HOME'} . "/private_webdata/samplewiki/templates_nonedit", + underlaydirs => [ + $ENV{'HOME'} . "/private_webdata/samplewiki/content", + ], + underlaydir => $ENV{'HOME'} . "/private_webdata/samplewiki/basewiki_nonedit", + + # Git stuff. + #rcs => "git", + #historyurl => "http://git.example.org/?p=samplewiki_content.git;a=history;f=[[file]]", # ;hb=master + #diffurl => "http://git.example.org/?p=samplewiki_content.git;a=blobdiff;h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_parent]];f=[[file]]", + #gitorigin_branch => "samplewiki", + #gitmaster_branch => "master", + + wrappers => [ + #{ + # # The cgi wrapper. + # cgi => 1, + # wrapper => $ENV{'HOME'} . "/public_cgi/wiki.example.org/ikiwiki.cgi", + # wrappermode => "06755", + #}, + #{ + # # The git post-update wrapper. + # # Note that this will overwrite any existing + # # post-update hook script, which may not be + # # what you want. + # wrapper => $ENV{'HOME'} . "/public_websites/git.example.org/samplewiki_content.git/hooks/post-update-ikiwiki", + # wrappermode => "06755", + #}, + ], + + # Default to generating rss feeds for pages with feeds? + #rss => 1, + # Default to generating atom feeds for pages with feeds? + #atom => 1, + # Allow generating feeds even if not generated by default? + #allowrss => 1, + #allowatom => 1, + # Urls to ping with XML-RPC when feeds are updated + #pingurl => [qw{http://rpc.technorati.com/rpc/ping}], + # Include discussion links on all pages? + discussion => 1, + # To exclude files matching a regexp from processing. This adds to + # the default exclude list. + #exclude => qr/\.wav$/, + # To change the extension used for generated html files. + #htmlext => 'en.html', + # Time format (for strftime) + #timeformat => '%c', + # Locale to use. Must be a UTF-8 locale. + locale => 'en_US.UTF-8', + # Only send cookies over SSL connections. + #sslcookie => 1, + # Logging settings: + #verbose => 1, + syslog => 0, + # To link to user pages in a subdirectory of the wiki. + #userdir => "users", + # To create output files named page.html rather than page/index.html. + #usedirs => 0, + # Simple spam prevention: require an account-creation password. + #account_creation_password => "example", + # Cost of generating a password using Authen::Passphrase::BlowfishCrypt + #password_cost => 8, + # Uncomment to force ikiwiki to run with a particular umask. + #umask => 022, + # Default settings for the recentchanges page. + #recentchangespage => "recentchanges", + #recentchangesnum => 100, + # Use new '!'-prefixed preprocessor directive syntax + #prefix_directives => 1, + # Attempt to make hardlinks to source files instead of copying them. + # Useful if the wiki contains large media files. + #hardlink => 1, + # Enable use of multimarkdown features in .mdwn files. + #multimarkdown => 1, + + # To add plugins, list them here. + #add_plugins => [qw{goodstuff search wikitext camelcase + # htmltidy fortune sidebar map rst anonok}], + # If you want to disable any of the default plugins, list them here. + #disable_plugins => [qw{inline htmlscrubber passwordauth openid}], + # To add a directory to the perl search path, use this. + #libdir => "/home/me/private_webdata/samplewiki/perl", + + # To override environment variable settings, you can list values here. + #ENV => { + # TZ => "America/New_York", + # PATH => "/home/me/bin:/usr/local/bin:/usr/bin:/bin", + #}, + + # For use with the tag plugin, make all tags be located under a + # base page. + #tagbase => "tag", + + # For use with the search plugin if the omega cgi is located + # somewhere else. + #omega_cgi => "/usr/lib/cgi-bin/omega/omega", + + # For use with the openid plugin, to give an url to a page users + # can use to signup for an OpenID. + #openidsignup => "http://myopenid.com/", + + # For use with the mirrorlist plugin, a list of mirrors. + #mirrorlist => { + # mirror1 => "http://hostname1", + # mirror2 => "http://hostname2/mirror", + #}, + + # For use with the anonok plugin, a PageSpec specifying what + # pages anonymous users can edit + #anonok_pagespec => "*", + + # For use with the aggregate plugin. + # Enable aggregation to internal pages. New wikis should set this to 1, + # but if you use aggregate already, read the aggregate plugin docs + # before enabling it. + #aggregateinternal => 1, + # Allow aggregation to be triggered via the web. + #aggregate_webtrigger => 1, + + # For use with the pinger plugin, how many seconds to wait before + # timing out. + #pinger_timeout => 15. + + # For use with the amazon S3 plugin, your public access key id. + #amazon_s3_key_id => 'XXXXXXXXXXXXXXXXXXXX', + # And a file holding your secret key. This file *must* not be + # readable by others! + #amazon_s3_key_file => "/home/me/secret_webdata/s3_key + # The globally unique name of the bucket to use to store the wiki. + #amazon_s3_bucket => "mywiki", + # A prefix to prepend to each page name. + #amazon_s3_prefix => "wiki/", + # Uncomment to use the S3 European datacenter. + #amazon_s3_location => "EU", + # Uncomment if you need to store each index file twice. + #amazon_s3_dupindex => 1, + + # For use with the attachment plugin, a program that returns + # nonzero if its standard input contains an virus. + #virus_checker => "clamdscan -", +} diff --git a/ikiwiki_admin.setup b/ikiwiki_admin.setup new file mode 100644 index 0000000..822d4c7 --- /dev/null +++ b/ikiwiki_admin.setup @@ -0,0 +1,157 @@ +#!/usr/bin/perl +# Configuration 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 { + wikiname => "MyWiki", + #adminuser => ["yourname", ], + adminemail => 'me@example.org', + + # Be sure to customise these.. + srcdir => $ENV{'HOME'} . "/private_webdata/samplewiki/content", + destdir => $ENV{'HOME'} . "/public_websites/admin.example.org", + + url => "http://admin.example.org", + cgiurl => "http://admin.wiki.example.org/ikiwiki.cgi", + templatedir => $ENV{'HOME'} . "/private_webdata/samplewiki/templates", + underlaydir => $ENV{'HOME'} . "/private_webdata/samplewiki/basewiki", + + # Git stuff. + #rcs => "git", + #historyurl => "http://git.example.org/?p=samplewiki_content.git;a=history;f=[[file]]", # ;hb=master + #diffurl => "http://git.example.org/?p=samplewiki_content.git;a=blobdiff;h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_parent]];f=[[file]]", + #gitorigin_branch => "samplewiki", + #gitmaster_branch => "master", + + wrappers => [ + #{ + # # The cgi wrapper. + # cgi => 1, + # wrapper => $ENV{'HOME'} . "/public_cgi/admin.example.org/ikiwiki.cgi", + # wrappermode => "06755", + #}, + #{ + # # The git post-update wrapper. + # # Note that this will overwrite any existing + # # post-update hook script, which may not be + # # what you want. + # wrapper => $ENV{'HOME'} . "/public_websites/git.example.org/samplewiki_content.git/hooks/post-update-ikiwiki-admin", + # wrappermode => "06755", + #}, + ], + + # Default to generating rss feeds for pages with feeds? + #rss => 1, + # Default to generating atom feeds for pages with feeds? + #atom => 1, + # Allow generating feeds even if not generated by default? + #allowrss => 1, + #allowatom => 1, + # Urls to ping with XML-RPC when feeds are updated + #pingurl => [qw{http://rpc.technorati.com/rpc/ping}], + # Include discussion links on all pages? + discussion => 1, + # To exclude files matching a regexp from processing. This adds to + # the default exclude list. + #exclude => qr/\.wav$/, + # To change the extension used for generated html files. + #htmlext => 'en.html', + # Time format (for strftime) + #timeformat => '%c', + # Locale to use. Must be a UTF-8 locale. + locale => 'en_US.UTF-8', + # Only send cookies over SSL connections. + #sslcookie => 1, + # Logging settings: + #verbose => 1, + syslog => 0, + # To link to user pages in a subdirectory of the wiki. + #userdir => "users", + # To create output files named page.html rather than page/index.html. + #usedirs => 0, + # Simple spam prevention: require an account-creation password. + #account_creation_password => "example", + # Cost of generating a password using Authen::Passphrase::BlowfishCrypt + #password_cost => 8, + # Uncomment to force ikiwiki to run with a particular umask. + #umask => 022, + # Default settings for the recentchanges page. + #recentchangespage => "recentchanges", + #recentchangesnum => 100, + # Use new '!'-prefixed preprocessor directive syntax + #prefix_directives => 1, + # Attempt to make hardlinks to source files instead of copying them. + # Useful if the wiki contains large media files. + #hardlink => 1, + # Enable use of multimarkdown features in .mdwn files. + #multimarkdown => 1, + + # To add plugins, list them here. + #add_plugins => [qw{goodstuff search wikitext camelcase + # htmltidy fortune sidebar map rst anonok}], + # If you want to disable any of the default plugins, list them here. + #disable_plugins => [qw{inline htmlscrubber passwordauth openid}], + # To add a directory to the perl search path, use this. + #libdir => "/home/me/private_webdata/samplewiki/perl", + + # To override environment variable settings, you can list values here. + #ENV => { + # TZ => "America/New_York", + # PATH => "/home/me/bin:/usr/local/bin:/usr/bin:/bin", + #}, + + # For use with the tag plugin, make all tags be located under a + # base page. + #tagbase => "tag", + + # For use with the search plugin if the omega cgi is located + # somewhere else. + #omega_cgi => "/usr/lib/cgi-bin/omega/omega", + + # For use with the openid plugin, to give an url to a page users + # can use to signup for an OpenID. + #openidsignup => "http://myopenid.com/", + + # For use with the mirrorlist plugin, a list of mirrors. + #mirrorlist => { + # mirror1 => "http://hostname1", + # mirror2 => "http://hostname2/mirror", + #}, + + # For use with the anonok plugin, a PageSpec specifying what + # pages anonymous users can edit + #anonok_pagespec => "*", + + # For use with the aggregate plugin. + # Enable aggregation to internal pages. New wikis should set this to 1, + # but if you use aggregate already, read the aggregate plugin docs + # before enabling it. + #aggregateinternal => 1, + # Allow aggregation to be triggered via the web. + #aggregate_webtrigger => 1, + + # For use with the pinger plugin, how many seconds to wait before + # timing out. + #pinger_timeout => 15. + + # For use with the amazon S3 plugin, your public access key id. + #amazon_s3_key_id => 'XXXXXXXXXXXXXXXXXXXX', + # And a file holding your secret key. This file *must* not be + # readable by others! + #amazon_s3_key_file => "/home/me/secret_webdata/s3_key + # The globally unique name of the bucket to use to store the wiki. + #amazon_s3_bucket => "mywiki", + # A prefix to prepend to each page name. + #amazon_s3_prefix => "wiki/", + # Uncomment to use the S3 European datacenter. + #amazon_s3_location => "EU", + # Uncomment if you need to store each index file twice. + #amazon_s3_dupindex => 1, + + # For use with the attachment plugin, a program that returns + # nonzero if its standard input contains an virus. + #virus_checker => "clamdscan -", +} diff --git a/ikiwiki_da.setup b/ikiwiki_da.setup index c8148ef..d37514a 100644 --- a/ikiwiki_da.setup +++ b/ikiwiki_da.setup @@ -11,14 +11,14 @@ use IkiWiki::Setup::Standard { adminemail => 'me@example.org', # Be sure to customise these.. - srcdir => $ENV{'HOME'} . "/private_webdata/samplewiki/content_dummy", + srcdir => $ENV{'HOME'} . "/private_webdata/samplewiki/content_dummy_da", destdir => $ENV{'HOME'} . "/public_websites/wiki.example.org", url => "http://wiki.example.org", - cgiurl => "http://wiki.example.org/ikiwiki.cgi", + cgiurl => "http://wiki.example.org/ikiwiki.da.cgi", templatedir => $ENV{'HOME'} . "/private_webdata/samplewiki/templates_nonedit_l10n/da", underlaydirs => [ - $ENV{'HOME'} . "/private_webdata/samplewiki/content", + $ENV{'HOME'} . "/private_webdata/samplewiki/content_l10n/da", #$ENV{'HOME'} . "/private_webdata/samplewiki/smiley_l10n/da", $ENV{'HOME'} . "/private_webdata/samplewiki/basewiki_nonedit_l10n/da", ], @@ -27,16 +27,16 @@ use IkiWiki::Setup::Standard { # Git stuff. #rcs => "git", - #historyurl => "http://git.example.org/?p=samplewiki_content.git;a=history;f=[[file]]", # ;hb=master + #historyurl => "http://git.example.org/?p=samplewiki_content.git;a=history;f=[[file]];hb=master-da", #diffurl => "http://git.example.org/?p=samplewiki_content.git;a=blobdiff;h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_parent]];f=[[file]]", #gitorigin_branch => "samplewiki", - #gitmaster_branch => "master", + #gitmaster_branch => "master-da", wrappers => [ #{ # # The cgi wrapper. # cgi => 1, - # wrapper => $ENV{'HOME'} . "/public_cgi/wiki.example.org/ikiwiki.cgi", + # wrapper => $ENV{'HOME'} . "/public_cgi/wiki.example.org/ikiwiki.da.cgi", # wrappermode => "06755", #}, #{ @@ -64,7 +64,7 @@ use IkiWiki::Setup::Standard { # the default exclude list. #exclude => qr/\.wav$/, # To change the extension used for generated html files. - #htmlext => 'htm', + #htmlext => 'da.html', # Time format (for strftime) #timeformat => '%c', # Locale to use. Must be a UTF-8 locale. diff --git a/ikiwiki_da_admin.setup b/ikiwiki_da_admin.setup index c6df093..dbeca65 100644 --- a/ikiwiki_da_admin.setup +++ b/ikiwiki_da_admin.setup @@ -11,11 +11,11 @@ use IkiWiki::Setup::Standard { adminemail => 'me@example.org', # Be sure to customise these.. - srcdir => $ENV{'HOME'} . "/private_webdata/samplewiki/content", + srcdir => $ENV{'HOME'} . "/private_webdata/samplewiki/content_l10n/da", destdir => $ENV{'HOME'} . "/public_websites/admin.example.org", url => "http://admin.example.org", - cgiurl => "http://admin.example.org/ikiwiki.cgi", + cgiurl => "http://admin.example.org/ikiwiki.da.cgi", templatedir => $ENV{'HOME'} . "/private_webdata/samplewiki/templates_l10n/da", underlaydirs => [ #$ENV{'HOME'} . "/private_webdata/samplewiki/smiley_l10n/da", @@ -26,16 +26,16 @@ use IkiWiki::Setup::Standard { # Git stuff. #rcs => "git", - #historyurl => "http://git.example.org/?p=samplewiki_content.git;a=history;f=[[file]]", # ;hb=master + #historyurl => "http://git.example.org/?p=samplewiki_content.git;a=history;f=[[file]];hb=master-da", #diffurl => "http://git.example.org/?p=samplewiki_content.git;a=blobdiff;h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_parent]];f=[[file]]", #gitorigin_branch => "samplewiki", - #gitmaster_branch => "master", + #gitmaster_branch => "master-da", wrappers => [ #{ # # The cgi wrapper. # cgi => 1, - # wrapper => $ENV{'HOME'} . "/public_cgi/admin.example.org/ikiwiki.cgi", + # wrapper => $ENV{'HOME'} . "/public_cgi/admin.example.org/ikiwiki.da.cgi", # wrappermode => "06755", #}, #{ @@ -63,7 +63,7 @@ use IkiWiki::Setup::Standard { # the default exclude list. #exclude => qr/\.wav$/, # To change the extension used for generated html files. - #htmlext => 'htm', + #htmlext => 'da.html', # Time format (for strftime) #timeformat => '%c', # Locale to use. Must be a UTF-8 locale. diff --git a/ikiwiki_nb.setup b/ikiwiki_nb.setup new file mode 100644 index 0000000..2d68a40 --- /dev/null +++ b/ikiwiki_nb.setup @@ -0,0 +1,163 @@ +#!/usr/bin/perl +# Configuration 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 { + wikiname => "MyWiki", + #adminuser => ["yourname", ], + adminemail => 'me@example.org', + + # Be sure to customise these.. + srcdir => $ENV{'HOME'} . "/private_webdata/samplewiki/content_dummy_nb", + destdir => $ENV{'HOME'} . "/public_websites/wiki.example.org", + + url => "http://wiki.example.org", + cgiurl => "http://wiki.example.org/ikiwiki.nb.cgi", + templatedir => $ENV{'HOME'} . "/private_webdata/samplewiki/templates_nonedit_l10n/nb", + underlaydirs => [ + $ENV{'HOME'} . "/private_webdata/samplewiki/content_l10n/nb", + #$ENV{'HOME'} . "/private_webdata/samplewiki/smiley_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_nonedit", + + # Git stuff. + #rcs => "git", + #historyurl => "http://git.example.org/?p=samplewiki_content.git;a=history;f=[[file]];hb=master-nb", + #diffurl => "http://git.example.org/?p=samplewiki_content.git;a=blobdiff;h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_parent]];f=[[file]]", + #gitorigin_branch => "samplewiki", + #gitmaster_branch => "master-nb", + + wrappers => [ + #{ + # # The cgi wrapper. + # cgi => 1, + # wrapper => $ENV{'HOME'} . "/public_cgi/wiki.example.org/ikiwiki.nb.cgi", + # wrappermode => "06755", + #}, + #{ + # # The git post-update wrapper. + # # Note that this will overwrite any existing + # # post-update hook script, which may not be + # # what you want. + # wrapper => $ENV{'HOME'} . "/public_websites/git.example.org/samplewiki_content.git/hooks/post-update-ikiwiki-nb", + # wrappermode => "06755", + #}, + ], + + # Default to generating rss feeds for pages with feeds? + #rss => 1, + # Default to generating atom feeds for pages with feeds? + #atom => 1, + # Allow generating feeds even if not generated by default? + #allowrss => 1, + #allowatom => 1, + # Urls to ping with XML-RPC when feeds are updated + #pingurl => [qw{http://rpc.technorati.com/rpc/ping}], + # Include discussion links on all pages? + discussion => 1, + # To exclude files matching a regexp from processing. This adds to + # the default exclude list. + #exclude => qr/\.wav$/, + # To change the extension used for generated html files. + #htmlext => 'nb.html', + # Time format (for strftime) + #timeformat => '%c', + # Locale to use. Must be a UTF-8 locale. + locale => 'nb_NO.UTF-8', + # Only send cookies over SSL connections. + #sslcookie => 1, + # Logging settings: + #verbose => 1, + syslog => 0, + # To link to user pages in a subdirectory of the wiki. + #userdir => "users", + # To create output files named page.html rather than page/index.html. + #usedirs => 0, + # Simple spam prevention: require an account-creation password. + #account_creation_password => "example", + # Cost of generating a password using Authen::Passphrase::BlowfishCrypt + #password_cost => 8, + # Uncomment to force ikiwiki to run with a particular umask. + #umask => 022, + # Default settings for the recentchanges page. + #recentchangespage => "recentchanges", + #recentchangesnum => 100, + # Use new '!'-prefixed preprocessor directive syntax + #prefix_directives => 1, + # Attempt to make hardlinks to source files instead of copying them. + # Useful if the wiki contains large media files. + #hardlink => 1, + # Enable use of multimarkdown features in .mdwn files. + #multimarkdown => 1, + + # To add plugins, list them here. + #add_plugins => [qw{goodstuff search wikitext camelcase + # htmltidy fortune sidebar map rst anonok}], + # If you want to disable any of the default plugins, list them here. + #disable_plugins => [qw{inline htmlscrubber passwordauth openid}], + # To add a directory to the perl search path, use this. + #libdir => "/home/me/private_webdata/samplewiki/perl", + + # To override environment variable settings, you can list values here. + #ENV => { + # TZ => "America/New_York", + # PATH => "/home/me/bin:/usr/local/bin:/usr/bin:/bin", + #}, + + # For use with the tag plugin, make all tags be located under a + # base page. + #tagbase => "tag", + + # For use with the search plugin if the omega cgi is located + # somewhere else. + #omega_cgi => "/usr/lib/cgi-bin/omega/omega", + + # For use with the openid plugin, to give an url to a page users + # can use to signup for an OpenID. + #openidsignup => "http://myopenid.com/", + + # For use with the mirrorlist plugin, a list of mirrors. + #mirrorlist => { + # mirror1 => "http://hostname1", + # mirror2 => "http://hostname2/mirror", + #}, + + # For use with the anonok plugin, a PageSpec specifying what + # pages anonymous users can edit + #anonok_pagespec => "*", + + # For use with the aggregate plugin. + # Enable aggregation to internal pages. New wikis should set this to 1, + # but if you use aggregate already, read the aggregate plugin docs + # before enabling it. + #aggregateinternal => 1, + # Allow aggregation to be triggered via the web. + #aggregate_webtrigger => 1, + + # For use with the pinger plugin, how many seconds to wait before + # timing out. + #pinger_timeout => 15. + + # For use with the amazon S3 plugin, your public access key id. + #amazon_s3_key_id => 'XXXXXXXXXXXXXXXXXXXX', + # And a file holding your secret key. This file *must* not be + # readable by others! + #amazon_s3_key_file => "/home/me/secret_webdata/s3_key + # The globally unique name of the bucket to use to store the wiki. + #amazon_s3_bucket => "mywiki", + # A prefix to prepend to each page name. + #amazon_s3_prefix => "wiki/", + # Uncomment to use the S3 European datacenter. + #amazon_s3_location => "EU", + # Uncomment if you need to store each index file twice. + #amazon_s3_dupindex => 1, + + # For use with the attachment plugin, a program that returns + # nonzero if its standard input contains an virus. + #virus_checker => "clamdscan -", +} diff --git a/ikiwiki_nb_admin.setup b/ikiwiki_nb_admin.setup new file mode 100644 index 0000000..7fe19be --- /dev/null +++ b/ikiwiki_nb_admin.setup @@ -0,0 +1,162 @@ +#!/usr/bin/perl +# Configuration 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 { + wikiname => "MyWiki", + #adminuser => ["yourname", ], + adminemail => 'me@example.org', + + # Be sure to customise these.. + srcdir => $ENV{'HOME'} . "/private_webdata/samplewiki/content_l10n/nb", + destdir => $ENV{'HOME'} . "/public_websites/admin.example.org", + + url => "http://admin.example.org", + cgiurl => "http://admin.example.org/ikiwiki.nb.cgi", + templatedir => $ENV{'HOME'} . "/private_webdata/samplewiki/templates_l10n/nb", + 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", + + # Git stuff. + #rcs => "git", + #historyurl => "http://git.example.org/?p=samplewiki_content.git;a=history;f=[[file]];hb=master-nb", + #diffurl => "http://git.example.org/?p=samplewiki_content.git;a=blobdiff;h=[[sha1_to]];hp=[[sha1_from]];hb=[[sha1_parent]];f=[[file]]", + #gitorigin_branch => "samplewiki", + #gitmaster_branch => "master-nb", + + wrappers => [ + #{ + # # The cgi wrapper. + # cgi => 1, + # wrapper => $ENV{'HOME'} . "/public_cgi/admin.example.org/ikiwiki.nb.cgi", + # wrappermode => "06755", + #}, + #{ + # # The git post-update wrapper. + # # Note that this will overwrite any existing + # # post-update hook script, which may not be + # # what you want. + # wrapper => $ENV{'HOME'} . "/public_websites/git.example.org/samplewiki_content.git/hooks/post-update-ikiwiki-nb-admin", + # wrappermode => "06755", + #}, + ], + + # Default to generating rss feeds for pages with feeds? + #rss => 1, + # Default to generating atom feeds for pages with feeds? + #atom => 1, + # Allow generating feeds even if not generated by default? + #allowrss => 1, + #allowatom => 1, + # Urls to ping with XML-RPC when feeds are updated + #pingurl => [qw{http://rpc.technorati.com/rpc/ping}], + # Include discussion links on all pages? + discussion => 1, + # To exclude files matching a regexp from processing. This adds to + # the default exclude list. + #exclude => qr/\.wav$/, + # To change the extension used for generated html files. + #htmlext => 'nb.html', + # Time format (for strftime) + #timeformat => '%c', + # Locale to use. Must be a UTF-8 locale. + #locale => 'en_US.UTF-8', + # Only send cookies over SSL connections. + #sslcookie => 1, + # Logging settings: + #verbose => 1, + syslog => 0, + # To link to user pages in a subdirectory of the wiki. + #userdir => "users", + # To create output files named page.html rather than page/index.html. + #usedirs => 0, + # Simple spam prevention: require an account-creation password. + #account_creation_password => "example", + # Cost of generating a password using Authen::Passphrase::BlowfishCrypt + #password_cost => 8, + # Uncomment to force ikiwiki to run with a particular umask. + #umask => 022, + # Default settings for the recentchanges page. + #recentchangespage => "recentchanges", + #recentchangesnum => 100, + # Use new '!'-prefixed preprocessor directive syntax + #prefix_directives => 1, + # Attempt to make hardlinks to source files instead of copying them. + # Useful if the wiki contains large media files. + #hardlink => 1, + # Enable use of multimarkdown features in .mdwn files. + #multimarkdown => 1, + + # To add plugins, list them here. + #add_plugins => [qw{goodstuff search wikitext camelcase + # htmltidy fortune sidebar map rst anonok}], + # If you want to disable any of the default plugins, list them here. + #disable_plugins => [qw{inline htmlscrubber passwordauth openid}], + # To add a directory to the perl search path, use this. + #libdir => "/home/me/private_webdata/samplewiki/perl", + + # To override environment variable settings, you can list values here. + #ENV => { + # TZ => "America/New_York", + # PATH => "/home/me/bin:/usr/local/bin:/usr/bin:/bin", + #}, + + # For use with the tag plugin, make all tags be located under a + # base page. + #tagbase => "tag", + + # For use with the search plugin if the omega cgi is located + # somewhere else. + #omega_cgi => "/usr/lib/cgi-bin/omega/omega", + + # For use with the openid plugin, to give an url to a page users + # can use to signup for an OpenID. + #openidsignup => "http://myopenid.com/", + + # For use with the mirrorlist plugin, a list of mirrors. + #mirrorlist => { + # mirror1 => "http://hostname1", + # mirror2 => "http://hostname2/mirror", + #}, + + # For use with the anonok plugin, a PageSpec specifying what + # pages anonymous users can edit + #anonok_pagespec => "*", + + # For use with the aggregate plugin. + # Enable aggregation to internal pages. New wikis should set this to 1, + # but if you use aggregate already, read the aggregate plugin docs + # before enabling it. + #aggregateinternal => 1, + # Allow aggregation to be triggered via the web. + #aggregate_webtrigger => 1, + + # For use with the pinger plugin, how many seconds to wait before + # timing out. + #pinger_timeout => 15. + + # For use with the amazon S3 plugin, your public access key id. + #amazon_s3_key_id => 'XXXXXXXXXXXXXXXXXXXX', + # And a file holding your secret key. This file *must* not be + # readable by others! + #amazon_s3_key_file => "/home/me/secret_webdata/s3_key + # The globally unique name of the bucket to use to store the wiki. + #amazon_s3_bucket => "mywiki", + # A prefix to prepend to each page name. + #amazon_s3_prefix => "wiki/", + # Uncomment to use the S3 European datacenter. + #amazon_s3_location => "EU", + # Uncomment if you need to store each index file twice. + #amazon_s3_dupindex => 1, + + # For use with the attachment plugin, a program that returns + # nonzero if its standard input contains an virus. + #virus_checker => "clamdscan -", +} 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 |