diff options
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | README | 3 | ||||
-rw-r--r-- | ikiwiki.setup | 49 | ||||
-rw-r--r-- | perl/IkiWiki/Plugin/farbar.pm | 53 | ||||
-rw-r--r-- | perl/IkiWiki/Plugin/topbar.pm | 53 |
5 files changed, 112 insertions, 52 deletions
@@ -3,12 +3,12 @@ SOURCES = ikiwiki # 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 # 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 # gettext-based modules and locales used @@ -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 16e0ee8..fe84823 100644 --- a/ikiwiki.setup +++ b/ikiwiki.setup @@ -19,13 +19,6 @@ use IkiWiki::Setup::Standard { templatedir => $ENV{'HOME'} . "/private_webdata/samplewiki/templates", underlaydir => $ENV{'HOME'} . "/private_webdata/samplewiki/basewiki", - # Subversion stuff. - #rcs => "svn", - #historyurl => "http://svn.example.org/trunk/[[file]]", - #diffurl => "http://svn.example.org/trunk/[[file]]?root=wiki&r1=[[r1]]&r2=[[r2]]", - #svnrepo => "/svn/wiki", - #svnpath => "trunk", - # Git stuff. #rcs => "git", #historyurl => "http://git.example.org/?p=samplewiki_content.git;a=history;f=[[file]]", # ;hb=master @@ -33,32 +26,6 @@ use IkiWiki::Setup::Standard { #gitorigin_branch => "samplewiki", #gitmaster_branch => "master", - # Tla stuff. - #rcs => "tla" - #historyurl => ??, - #diffurl => ??, - - # Mercurial stuff. - #rcs => "mercurial", - #historyurl => "http://localhost:8000/log/tip/[[file]]", # hg serve'd local repository - #diffurl => "http://localhost:8000/?fd=[[r2]];file=[[file]]", - - # Bazaar stuff. - #rcs => "bzr", - #historyurl => "", - #diffurl => "http://example.com/revision?start_revid=[[r2]]#[[file]]-s", # using loggerhead - - # Monotone stuff - #rcs => "monotone", - #mtnkey => "web\@machine.company.com", - #historyurl => "http://viewmtn.example.com/branch/head/filechanges/com.example.branch/[[file]]", - #diffurl => "http://viewmtn.example.com/revision/diff/[[r1]]/with/[[r2]]/[[file]]", - # Set if you want the wiki to sync on update and commit. - #mtnsync => 0, - # The path to your workspace (defaults to the srcdir itself) - # e.g. use if your srcdir is a subdirectory of the workspace. - #mtnrootdir => "path/to/root/of/workspace", - wrappers => [ #{ # # The cgi wrapper. @@ -67,17 +34,6 @@ use IkiWiki::Setup::Standard { # wrappermode => "06755", #}, #{ - # # The svn post-commit wrapper. - # # Note that this will overwrite any existing - # # post-commit hook script, which may not be - # # what you want. - # wrapper => "/svn/wikirepo/hooks/post-commit", - # wrappermode => "04755", - # # Log to syslog since svn post-commit hooks - # # hide output and errors. - # syslog => 1, - #}, - #{ # # The git post-update wrapper. # # Note that this will overwrite any existing # # post-update hook script, which may not be @@ -85,11 +41,6 @@ use IkiWiki::Setup::Standard { # wrapper => $ENV{'HOME'} . "/public_websites/git.example.org/samplewiki_content.git/hooks/post-update-ikiwiki", # wrappermode => "06755", #}, - #{ - # # The monotone netsync hook. - # wrapper => "path/to/root/of/workspace/_MTN/ikiwiki-netsync-hook", - # wrappermode => "06755", - #}, ], # Default to generating rss feeds for pages with feeds? 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 |