summaryrefslogtreecommitdiff
path: root/IkiWiki
diff options
context:
space:
mode:
Diffstat (limited to 'IkiWiki')
-rw-r--r--IkiWiki/Plugin/skeleton.pm10
-rw-r--r--IkiWiki/Render.pm11
2 files changed, 20 insertions, 1 deletions
diff --git a/IkiWiki/Plugin/skeleton.pm b/IkiWiki/Plugin/skeleton.pm
index d6d8cc0ed..cae4c02ec 100644
--- a/IkiWiki/Plugin/skeleton.pm
+++ b/IkiWiki/Plugin/skeleton.pm
@@ -13,6 +13,8 @@ sub import { #{{{
call => \&checkconfig);
IkiWiki::hook(type => "preprocess", id => "skeleton",
call => \&preprocess);
+ IkiWiki::hook(type => "filter", id => "skeleton",
+ call => \&filter);
IkiWiki::hook(type => "delete", id => "skeleton",
call => \&delete);
IkiWiki::hook(type => "render", id => "skeleton",
@@ -31,6 +33,14 @@ sub preprocess (@) { #{{{
return "skeleton plugin result";
} # }}}
+sub filter ($) { #{{{
+ my $content=shift;
+
+ IkiWiki::debug("skeleton plugin running as filter");
+
+ return $content;
+} # }}}
+
sub delete (@) { #{{{
my @files=@_;
diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm
index a4efa0b74..6f685f3b8 100644
--- a/IkiWiki/Render.pm
+++ b/IkiWiki/Render.pm
@@ -263,9 +263,18 @@ sub render ($) { #{{{
if ($type ne 'unknown') {
my $content=readfile($srcfile);
my $page=pagename($file);
+ delete $depends{$page};
+
+ if (exists $hooks{filter}) {
+ foreach my $id (keys %{$hooks{filter}}) {
+ $content=$hooks{filter}{$id}{call}->(
+ page => $page,
+ content => $content
+ );
+ }
+ }
$links{$page}=[findlinks($content, $page)];
- delete $depends{$page};
$content=linkify($content, $page);
$content=preprocess($page, $content);