From cb5aaa3cee8b35d6fc6e88a7449a9477a6587c7a Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Tue, 18 Nov 2008 11:25:13 +0000 Subject: [PATCH] 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. --- IkiWiki/Plugin/htmlbalance.pm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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) {