summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IkiWiki/Plugin/htmlscrubber.pm2
-rw-r--r--debian/changelog1
-rw-r--r--doc/bugs/htmlscrubber_breaks_multimarkdown_footnotes.mdwn18
-rw-r--r--doc/bugs/po:_po_files_instead_of_html_files.mdwn4
-rw-r--r--doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn2
-rw-r--r--doc/todo/support_link__40__.__41___in_pagespec.mdwn3
-rwxr-xr-xt/htmlize.t20
7 files changed, 47 insertions, 3 deletions
diff --git a/IkiWiki/Plugin/htmlscrubber.pm b/IkiWiki/Plugin/htmlscrubber.pm
index 847518178..927792f79 100644
--- a/IkiWiki/Plugin/htmlscrubber.pm
+++ b/IkiWiki/Plugin/htmlscrubber.pm
@@ -32,7 +32,7 @@ sub import {
);
# data is a special case. Allow a few data:image/ types,
# but disallow data:text/javascript and everything else.
- $safe_url_regexp=qr/^(?:(?:$uri_schemes):|data:image\/(?:png|jpeg|gif)|[^:]+(?:$|[\/\?]))/i;
+ $safe_url_regexp=qr/^(?:(?:$uri_schemes):|data:image\/(?:png|jpeg|gif)|[^:]+(?:$|[\/\?#]))|^#/i;
}
sub getsetup () {
diff --git a/debian/changelog b/debian/changelog
index 8fee36b98..fb445a3ff 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,6 +9,7 @@ ikiwiki (3.20100816) UNRELEASED; urgency=low
(and MSIE 8 in compat mode). Thanks to Iain McLaren for reporting
the bug and providing access to debug it.
* style.css: Use relative, not absolute font sizes. Thanks, Giuseppe Bilotta.
+ * htmlscrubber: Do not scrub url anchors that contain colons.
-- Joey Hess <joeyh@debian.org> Sun, 15 Aug 2010 11:45:48 -0400
diff --git a/doc/bugs/htmlscrubber_breaks_multimarkdown_footnotes.mdwn b/doc/bugs/htmlscrubber_breaks_multimarkdown_footnotes.mdwn
new file mode 100644
index 000000000..343037b45
--- /dev/null
+++ b/doc/bugs/htmlscrubber_breaks_multimarkdown_footnotes.mdwn
@@ -0,0 +1,18 @@
+I enabled multimarkdown to make use of footnotes in my file. I have the multimarkdown plugin,
+as well as the command-line program. If I write a document with footnotes:
+
+ This line has a footnote[^1]
+
+ [^1]: this is the footnote
+
+and compile it from the cli, the reference becomes a link to the footnote and the footnote
+gets a backreferencing link appended. When compiled in ikiwiki with the goodstuff plugin
+enabled, the links are created but their hrefs are empty (so they do not actually act as links).
+Disabling the htmlscrubber plugin fixes this issue
+
+[[!tag multimarkdown htmlscrubber]]
+
+> href was of the form: #fnref:1 , scrubbed by overzealous protocol
+> scrubbing.
+
+[[done]] --[[Joey]]
diff --git a/doc/bugs/po:_po_files_instead_of_html_files.mdwn b/doc/bugs/po:_po_files_instead_of_html_files.mdwn
index 4b08c7c70..933e348c4 100644
--- a/doc/bugs/po:_po_files_instead_of_html_files.mdwn
+++ b/doc/bugs/po:_po_files_instead_of_html_files.mdwn
@@ -1,4 +1,6 @@
On the home page of my wiki, when i click on the link "ikiwiki", i get the english file instead of the french file.
At the bottom of this page, there is the "Links" line:
Links: index index.fr templates templates.fr
-When i click on "templates.fr", i get the po.file instead of html.
+When i click on "templates.fr", i get the po.file instead of html.
+
+ Sorry for the noise! I set "po_master_language" to fr and all was ok. [[done]].
diff --git a/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn b/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn
index 0c45f0c90..577c3dad8 100644
--- a/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn
+++ b/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn
@@ -38,3 +38,5 @@ have a small resize handle in a corner, that can be dragged around. No
nasty javascript needed. IMHO, this is the right solution, and I hope other
browsers emulate it. [[done]]
--[[Joey]]
+
+Wouldn't it be possible to just implement an integer-valued setting for this, accessible via the "Setup" wiki page? This would require a wiki regen, but such a setting would not be changed frequently I suppose. Also, Mediawiki has this implemented as a per-user setting (two settings, actually, -- number of rows and columns of the edit area); such a per-user setting would be the best possible implementation, but I'm not sure if ikiwiki already supports per-user settings. Please consider implementing this as the current 20 rows is a great PITA for any non-trivial page.
diff --git a/doc/todo/support_link__40__.__41___in_pagespec.mdwn b/doc/todo/support_link__40__.__41___in_pagespec.mdwn
index da55bce67..79809662a 100644
--- a/doc/todo/support_link__40__.__41___in_pagespec.mdwn
+++ b/doc/todo/support_link__40__.__41___in_pagespec.mdwn
@@ -8,3 +8,6 @@ which uses !inline to list all posts with the tag.
Joey said on IRC that "probably changing the derel() function in
IkiWiki.pm is the best way to do it".
+> I implemented this suggestion in the simplest possible way, [[!taglink patch]] available [[here|http://git.oblomov.eu/ikiwiki/patch/f4a52de556436fdee00fd92ca9a3b46e876450fa]].
+> An alternative approach, very similar, would be to make the empty page parameter mean current page (e.g. `link()` would mean pages linking here). The patch would be very similar.
+> -- GB
diff --git a/t/htmlize.t b/t/htmlize.t
index a7e7f8c39..a436748f9 100755
--- a/t/htmlize.t
+++ b/t/htmlize.t
@@ -1,7 +1,7 @@
#!/usr/bin/perl
use warnings;
use strict;
-use Test::More tests => 26;
+use Test::More tests => 32;
use Encode;
BEGIN { use_ok("IkiWiki"); }
@@ -68,3 +68,21 @@ is(IkiWiki::htmlize("foo", "foo", "mdwn",
is(IkiWiki::htmlize("foo", "foo", "mdwn",
q{<span class="foo">bar</span>}),
q{<span class="foo">bar</span>}, "class attribute allowed");
+is(IkiWiki::htmlize("foo", "foo", "mdwn",
+ q{<a href="aaa#foo">}),
+ q{<a href="aaa#foo">}, "simple anchor allowed");
+is(IkiWiki::htmlize("foo", "foo", "mdwn",
+ q{<a href="aaa#foo:bar">}),
+ q{<a href="aaa#foo:bar">}, "colon allowed in anchor");
+is(IkiWiki::htmlize("foo", "foo", "mdwn",
+ q{<a href="aaa?foo:bar">}),
+ q{<a href="aaa?foo:bar">}, "colon allowed in query string");
+is(IkiWiki::htmlize("foo", "foo", "mdwn",
+ q{<a href="foo:bar">}),
+ q{<a>}, "unknown protocol blocked");
+is(IkiWiki::htmlize("foo", "foo", "mdwn",
+ q{<a href="#foo">}),
+ q{<a href="#foo">}, "simple relative anchor allowed");
+is(IkiWiki::htmlize("foo", "foo", "mdwn",
+ q{<a href="#foo:bar">}),
+ q{<a href="#foo:bar">}, "colon in simple relative anchor allowed");