summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile6
-rw-r--r--README3
-rw-r--r--ikiwiki.setup49
-rw-r--r--perl/IkiWiki/Plugin/farbar.pm53
-rw-r--r--perl/IkiWiki/Plugin/topbar.pm53
5 files changed, 112 insertions, 52 deletions
diff --git a/Makefile b/Makefile
index 4f3fe1e..6c658fa 100644
--- a/Makefile
+++ b/Makefile
@@ -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
diff --git a/README b/README
index 3becd90..4e6efe3 100644
--- a/README
+++ b/README
@@ -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&amp;r1=[[r1]]&amp;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