aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <smcv@ http://smcv.pseudorandom.co.uk/>2008-11-18 11:25:13 +0000
committerSimon McVittie <smcv@ http://smcv.pseudorandom.co.uk/>2008-12-11 21:14:03 +0000
commitcb5aaa3cee8b35d6fc6e88a7449a9477a6587c7a (patch)
treefac42211428c913111d244effb46e8b1f139af13
parent249ea2ed7557e34614ef9f1f863cee9489798510 (diff)
downloadikiwiki-cb5aaa3cee8b35d6fc6e88a7449a9477a6587c7a.tar
ikiwiki-cb5aaa3cee8b35d6fc6e88a7449a9477a6587c7a.tar.gz
htmlbalance: don't compact whitespace, and set misc other options
Not compacting whitespace is the most important one: now that we run sanitize hooks on individual posted comments in the comments plugin, whitespace that is significant to Markdown (but not HTML) is lost.
-rw-r--r--IkiWiki/Plugin/htmlbalance.pm10
1 files changed, 9 insertions, 1 deletions
diff --git a/IkiWiki/Plugin/htmlbalance.pm b/IkiWiki/Plugin/htmlbalance.pm
index 3a2d62d15..dcd92055f 100644
--- a/IkiWiki/Plugin/htmlbalance.pm
+++ b/IkiWiki/Plugin/htmlbalance.pm
@@ -30,7 +30,15 @@ sub sanitize (@) { #{{{
my %params=@_;
my $ret = '';
- my $tree = HTML::TreeBuilder->new_from_content($params{content});
+ my $tree = HTML::TreeBuilder->new();
+ $tree->ignore_unknown(0);
+ $tree->ignore_ignorable_whitespace(0);
+ $tree->no_space_compacting(1);
+ $tree->p_strict(1);
+ $tree->store_comments(0);
+ $tree->store_declarations(0);
+ $tree->store_pis(0);
+ $tree->parse_content($params{content});
my @nodes = $tree->disembowel();
foreach my $node (@nodes) {
if (ref $node) {