Merge remote branch 'upstream/master' into prv/po
authorintrigeri <intrigeri@boum.org>
Sun, 22 Aug 2010 09:09:37 +0000 (11:09 +0200)
committerintrigeri <intrigeri@boum.org>
Sun, 22 Aug 2010 09:09:37 +0000 (11:09 +0200)
IkiWiki/Plugin/htmlscrubber.pm
debian/changelog
doc/bugs/htmlscrubber_breaks_multimarkdown_footnotes.mdwn [new file with mode: 0644]
doc/bugs/po:_po_files_instead_of_html_files.mdwn
doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn
doc/todo/support_link__40__.__41___in_pagespec.mdwn
t/htmlize.t

index 8475181780db55cfd1b0e0846f277e44fa87e156..927792f791f2160232671e1327db2a379a496e9d 100644 (file)
@@ -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 () {
index 8fee36b980d344cb6ef754e9d728137f4937b214..fb445a3fffdbaa93f9ea58aadf43659aa84a6384 100644 (file)
@@ -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 (file)
index 0000000..343037b
--- /dev/null
@@ -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]] 
index 4b08c7c70a24ec68299ca5a269866dd3e2c5a49b..933e348c40d0333de1d43e2e5edbb78c976240b6 100644 (file)
@@ -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]].
index 0c45f0c9059f7185a131297116000aef5eea6418..577c3dad89823784db6b299a03af730a8306bf5c 100644 (file)
@@ -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.
index da55bce671f275133348d3e8e3bfb1d9ae30703b..79809662a671c2502ab81441ab6b9a2cb39a6616 100644 (file)
@@ -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
index a7e7f8c399dd5db99abd11437dc25dc1ca30c999..a436748f90c933bbdce55e5cbd6323047bfa8188 100755 (executable)
@@ -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");