diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | README | 3 | ||||
-rw-r--r-- | ikiwiki_nb.setup (renamed from ikiwiki.setup) | 9 | ||||
-rw-r--r-- | ikiwiki_nb_admin.setup (renamed from ikiwiki_admin.setup) | 21 | ||||
-rw-r--r-- | perl/IkiWiki/Plugin/farbar.pm | 53 | ||||
-rw-r--r-- | perl/IkiWiki/Plugin/topbar.pm | 53 |
6 files changed, 129 insertions, 12 deletions
@@ -19,7 +19,7 @@ ikiwiki_templates_FLAVORS = nonedit dummy_MODULES = content_dummy # uncomment this when ikiwiki.setup is configured for the local environment -#CONFIGS = ikiwiki_admin.setup ikiwiki.setup +#CONFIGS = ikiwiki_nb_admin.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_nb.setup index 91a98be..89581a3 100644 --- a/ikiwiki.setup +++ b/ikiwiki_nb.setup @@ -33,11 +33,14 @@ use IkiWiki::Setup::Standard { # plugins to disable disable_plugins => [], # location of template files - templatedir => $ENV{'HOME'} . '/private_webdata/samplewiki/templates_nonedit', + templatedir => $ENV{'HOME'} . '/private_webdata/samplewiki/templates_nonedit_l10n/nb', # base wiki source location underlaydirs => [ $ENV{'HOME'} . "/private_webdata/samplewiki/content", + #$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', # display verbose messages when building? #verbose => 1, @@ -60,7 +63,7 @@ use IkiWiki::Setup::Standard { # strftime format string to display date timeformat => '%c', # UTF-8 locale to use - #locale => 'en_US.UTF-8', + locale => 'nb_NO.UTF-8', # put user pages below specified page userdir => '', # how many backlinks to show before hiding excess (0 to show all) @@ -126,7 +129,7 @@ use IkiWiki::Setup::Standard { # git plugin # git hook to generate - #git_wrapper => $ENV{'HOME'} . '/public_websites/git.example.org/samplewiki_content.git/hooks/post-update-ikiwiki', + #git_wrapper => $ENV{'HOME'} . '/public_websites/git.example.org/samplewiki_content.git/hooks/post-update-ikiwiki-nb', # mode for git_wrapper (can safely be made suid) #git_wrappermode => '06755', # gitweb url to show file history ([[file]] substituted) diff --git a/ikiwiki_admin.setup b/ikiwiki_nb_admin.setup index a7559ca..674e5d6 100644 --- a/ikiwiki_admin.setup +++ b/ikiwiki_nb_admin.setup @@ -21,9 +21,9 @@ use IkiWiki::Setup::Standard { # base url to the wiki url => 'http://admin.wiki.example.org', # url to the ikiwiki.cgi - cgiurl => 'http://admin.wiki.example.org/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.cgi', + 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 @@ -33,8 +33,13 @@ 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_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, @@ -53,11 +58,11 @@ use IkiWiki::Setup::Standard { # extension to use for new pages default_pageext => 'mdwn', # extension to use for html files - htmlext => 'html', + htmlext => 'nb.html', # strftime format string to display date timeformat => '%c', # UTF-8 locale to use - #locale => 'en_US.UTF-8', + locale => 'no_NB.UTF-8', # put user pages below specified page userdir => '', # how many backlinks to show before hiding excess (0 to show all) @@ -123,17 +128,17 @@ use IkiWiki::Setup::Standard { # git plugin # git hook to generate - #git_wrapper => $ENV{'HOME'} . '/public_websites/git.example.org/samplewiki_content.git/hooks/post-update-ikiwiki-admin', + #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 + #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', + #gitmaster_branch => 'master-nb', # htmlscrubber plugin # PageSpec specifying pages not to scrub 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 |