htmlscrubber: Add a config setting that can be used to disable the scrubber acting on a set of pages.

master
Joey Hess 2008-09-26 18:05:36 -04:00
parent 83429adf04
commit 89256ab870
3 changed files with 24 additions and 0 deletions

View File

@ -41,10 +41,26 @@ sub getsetup () { #{{{
safe => 1,
rebuild => undef,
},
htmlscrubber_skip => {
type => "pagespec",
example => "!*/Discussion",
description => "PageSpec specifying pages not to scrub",
link => "ikiwiki/PageSpec",
safe => 1,
rebuild => undef,
},
} #}}}
sub sanitize (@) { #{{{
my %params=@_;
if (exists $config{htmlscrubber_skip} &&
length $config{htmlscrubber_skip} &&
exists $params{destpage} &&
pagespec_match($params{destpage}, $config{htmlscrubber_skip})) {
return $params{content};
}
return scrubber()->scrub($params{content});
} # }}}

2
debian/changelog vendored
View File

@ -8,6 +8,8 @@ ikiwiki (2.66) UNRELEASED; urgency=low
* git: Fix handling of utf-8 filenames in recentchanges.
* tag: Make edit link for new tags ensure that the tags are created
inside tagbase, when it's set.
* htmlscrubber: Add a config setting that can be used to disable the
scrubber acting on a set of pages.
-- Joey Hess <joeyh@debian.org> Thu, 25 Sep 2008 13:45:55 -0400

View File

@ -31,6 +31,12 @@ Note that enabling or disabling the htmlscrubber plugin also affects some
other HTML-related functionality, such as whether [[meta]] allows
potentially unsafe HTML tags.
The `htmlscrubber_skip` configuration setting can be used to skip scrubbing
of some pages. Set it to a [[PageSpec]], such as "!*/Discussion", and pages
matching that can have all the evil CSS, JavsScript, and unsafe html
elements you like. One safe way to use this is to use [[lockedit]] to lock
those pages, so only admins can edit them.
----
Some examples of embedded javascript that won't be let through when this