diff --git a/IkiWiki/Plugin/color.pm b/IkiWiki/Plugin/color.pm
index d550dd9f4..9bb2359ce 100644
--- a/IkiWiki/Plugin/color.pm
+++ b/IkiWiki/Plugin/color.pm
@@ -61,12 +61,11 @@ sub replace_preserved_style ($) {
sub preprocess (@) {
my %params = @_;
- # Preprocess the text to expand any preprocessor directives
- # embedded inside it.
- $params{text} = IkiWiki::preprocess($params{page}, $params{destpage},
- IkiWiki::filter($params{page}, $params{destpage}, $params{text}));
-
- return preserve_style($params{foreground}, $params{background}, $params{text});
+ return preserve_style($params{foreground}, $params{background},
+ # Preprocess the text to expand any preprocessor directives
+ # embedded inside it.
+ IkiWiki::preprocess($params{page}, $params{destpage},
+ $params{text}));
}
sub format (@) {
diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm
index d34951570..64eb7fb09 100644
--- a/IkiWiki/Plugin/comments.pm
+++ b/IkiWiki/Plugin/comments.pm
@@ -142,8 +142,6 @@ sub preprocess {
}
$content =~ s/\\"/"/g;
- $content = IkiWiki::filter($page, $params{destpage}, $content);
-
if ($config{comments_allowdirectives}) {
$content = IkiWiki::preprocess($page, $params{destpage},
$content);
diff --git a/IkiWiki/Plugin/conditional.pm b/IkiWiki/Plugin/conditional.pm
index 8a5796149..026078b3c 100644
--- a/IkiWiki/Plugin/conditional.pm
+++ b/IkiWiki/Plugin/conditional.pm
@@ -59,8 +59,7 @@ sub preprocess_if (@) {
else {
$ret="";
}
- return IkiWiki::preprocess($params{page}, $params{destpage},
- IkiWiki::filter($params{page}, $params{destpage}, $ret));
+ return IkiWiki::preprocess($params{page}, $params{destpage}, $ret);
}
package IkiWiki::PageSpec;
diff --git a/IkiWiki/Plugin/cutpaste.pm b/IkiWiki/Plugin/cutpaste.pm
index 01e9ce043..4a8817168 100644
--- a/IkiWiki/Plugin/cutpaste.pm
+++ b/IkiWiki/Plugin/cutpaste.pm
@@ -50,8 +50,8 @@ sub preprocess_copy (@) {
$savedtext{$params{page}} = {} if not exists $savedtext{$params{"page"}};
$savedtext{$params{page}}->{$params{id}} = $params{text};
- return IkiWiki::preprocess($params{page}, $params{destpage},
- IkiWiki::filter($params{page}, $params{destpage}, $params{text})) if defined wantarray;
+ return IkiWiki::preprocess($params{page}, $params{destpage}, $params{text})
+ if defined wantarray;
}
sub preprocess_paste (@) {
@@ -70,8 +70,8 @@ sub preprocess_paste (@) {
error sprintf(gettext('no text was copied in this page with id %s'), $params{id});
}
- return IkiWiki::preprocess($params{page}, $params{destpage},
- IkiWiki::filter($params{page}, $params{destpage}, $savedtext{$params{page}}->{$params{id}}));
+ return IkiWiki::preprocess($params{page}, $params{destpage},
+ $savedtext{$params{page}}->{$params{id}});
}
1;
diff --git a/IkiWiki/Plugin/more.pm b/IkiWiki/Plugin/more.pm
index 266c8e1d0..80e339a1b 100644
--- a/IkiWiki/Plugin/more.pm
+++ b/IkiWiki/Plugin/more.pm
@@ -33,9 +33,9 @@ sub preprocess (@) {
anchor => "more");
}
else {
- $params{text}=IkiWiki::preprocess($params{page}, $params{destpage},
- IkiWiki::filter($params{page}, $params{destpage}, $params{text}));
- return "\n\n".$params{text};
+ return "\n\n".
+ IkiWiki::preprocess($params{page}, $params{destpage},
+ $params{text});
}
}
diff --git a/IkiWiki/Plugin/sidebar.pm b/IkiWiki/Plugin/sidebar.pm
index 2d495db2c..c1146b7b4 100644
--- a/IkiWiki/Plugin/sidebar.pm
+++ b/IkiWiki/Plugin/sidebar.pm
@@ -47,8 +47,7 @@ sub preprocess (@) {
$pagesidebar{$page}=
IkiWiki::htmlize($page, $page, $type,
IkiWiki::linkify($page, $page,
- IkiWiki::preprocess($page, $page,
- IkiWiki::filter($page, $page, $params{content}))));
+ IkiWiki::preprocess($page, $page, $params{content})));
}
return "";
diff --git a/IkiWiki/Plugin/template.pm b/IkiWiki/Plugin/template.pm
index b8c2f05b2..db26bfe31 100644
--- a/IkiWiki/Plugin/template.pm
+++ b/IkiWiki/Plugin/template.pm
@@ -53,8 +53,7 @@ sub preprocess (@) {
foreach my $param (keys %params) {
my $value=IkiWiki::preprocess($params{page}, $params{destpage},
- IkiWiki::filter($params{page}, $params{destpage},
- $params{$param}), $scan);
+ $params{$param}, $scan);
if ($template->query(name => $param)) {
my $htmlvalue=IkiWiki::htmlize($params{page}, $params{destpage},
pagetype($pagesources{$params{page}}),
@@ -69,8 +68,7 @@ sub preprocess (@) {
}
return IkiWiki::preprocess($params{page}, $params{destpage},
- IkiWiki::filter($params{page}, $params{destpage},
- $template->output), $scan);
+ $template->output, $scan);
}
1
diff --git a/IkiWiki/Plugin/toggle.pm b/IkiWiki/Plugin/toggle.pm
index 3319421d9..20967d3fd 100644
--- a/IkiWiki/Plugin/toggle.pm
+++ b/IkiWiki/Plugin/toggle.pm
@@ -50,8 +50,7 @@ sub preprocess_toggleable (@) {
# Preprocess the text to expand any preprocessor directives
# embedded inside it.
- $params{text}=IkiWiki::preprocess($params{page}, $params{destpage},
- IkiWiki::filter($params{page}, $params{destpage}, $params{text}));
+ $params{text}=IkiWiki::preprocess($params{page}, $params{destpage}, $params{text});
my $id=genid($params{page}, $params{id});
my $class=(lc($params{open}) ne "yes") ? "toggleable" : "toggleable-open";
diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn
index bb8012342..2e3902388 100644
--- a/doc/plugins/write.mdwn
+++ b/doc/plugins/write.mdwn
@@ -198,8 +198,8 @@ value is ignored.
hook(type => "filter", id => "foo", call => \&filter);
-Runs on the raw source of a page, before anything else touches it, and can
-make arbitrary changes. The function is passed named parameters "page",
+Runs on the full raw source of a page, before anything else touches it, and
+can make arbitrary changes. The function is passed named parameters "page",
"destpage", and "content". It should return the filtered content.
### preprocess