]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/svg.mdwn
Merge branch 'master' into dependency-types
[git.ikiwiki.info.git] / doc / todo / svg.mdwn
index 08439fa6a1fb1f8306e562550542bad2bdc363f4..0a15af4cd66d0171ebe2b63ec269e6f4e4f1c00e 100644 (file)
@@ -6,6 +6,8 @@ We should support SVG.  In particular:
 
 --[[JoshTriplett]]
 
 
 --[[JoshTriplett]]
 
+[[wishlist]]
+
 I'm allowing for inline SVG on my own installation.  I've patched my
 copy of htmlscrubber.pm to allow safe MathML and SVG elements (as
 implemented in html5lib).  <del datetime="2008-03-20T23:04-05:00">Here's a patch
 I'm allowing for inline SVG on my own installation.  I've patched my
 copy of htmlscrubber.pm to allow safe MathML and SVG elements (as
 implemented in html5lib).  <del datetime="2008-03-20T23:04-05:00">Here's a patch
@@ -18,8 +20,7 @@ right.  I'll post a new one when it's working properly.</ins> --[[JasonBlevins]]
 I'd like to hear what people think about the following:
 
 1. Including whitelists of elements and attributes for SVG and MathML in
 I'd like to hear what people think about the following:
 
 1. Including whitelists of elements and attributes for SVG and MathML in
-   htmlscrubber.  See my current [htmlscrubber.pm][] and the [diff][]
-   from the current trunk.
+   htmlscrubber.
 
 2. Creating a whitelist of safe SVG (and maybe even HTML) style
    attributes such as `fill`, `stroke-width`, etc.
 
 2. Creating a whitelist of safe SVG (and maybe even HTML) style
    attributes such as `fill`, `stroke-width`, etc.
@@ -29,8 +30,29 @@ I'd like to hear what people think about the following:
 
    --[[JasonBlevins]], March 21, 2008 11:39 EDT
 
 
    --[[JasonBlevins]], March 21, 2008 11:39 EDT
 
-[htmlscrubber.pm]: http://xbeta.org/gitweb/?p=xbeta/ikiwiki.git;a=blob;f=IkiWiki/Plugin/htmlscrubber.pm;hb=fa9045c07efce434f24edb05b542c88815452873
-[diff]: http://xbeta.org/gitweb/?p=xbeta/ikiwiki.git;a=blobdiff;f=IkiWiki/Plugin/htmlscrubber.pm;h=35c546620f8f58eb50c72783f11d422b06de93ca;hp=3bdaccea119ec0e1b289a0da2f6d90e2219b8d66;hb=fa9045c07efce434f24edb05b542c88815452873;hpb=be0b4f603f918444b906e42825908ddac78b7073
 [sanitizer]: http://code.google.com/p/html5lib/source/browse/trunk/ruby/lib/html5/sanitizer.rb
 
 [sanitizer]: http://code.google.com/p/html5lib/source/browse/trunk/ruby/lib/html5/sanitizer.rb
 
-[[wishlist]]
+* * * 
+
+Another problem is that [HTML::Scrubber][] converts all tags to lowercase.
+Some SVG elements, such as viewBox, are mixed case.  It seems that
+properly handling SVG might require moving to a different sanitizer.
+It seems that [HTML::Sanitizer][] has functions for sanitizing XHTML.
+Any thoughts? --[[JasonBlevins]], March 21, 2008 13:54 EDT
+
+[HTML::Scrubber]: http://search.cpan.org/~podmaster/HTML-Scrubber-0.08/Scrubber.pm
+[HTML::Sanitizer]: http://search.cpan.org/~nesting/HTML-Sanitizer-0.04/Sanitizer.pm
+
+I figured out a quick hack to make HTML::Scrubber case-sensitive by
+making the underlying HTML::Parser case-sensitive:
+
+    $_scrubber->{_p}->case_sensitive(1);
+
+So now I've got a version of [htmlscrubber.pm][] ([diff][])
+which allows safe SVG and MathML elements and attributes (but no
+styles&mdash;do we need them?).  I'd be thrilled to see this
+in the trunk if other people think it's useful.
+--[[JasonBlevins]], March 24, 2008 14:56 EDT
+
+[htmlscrubber.pm]:http://xbeta.org/gitweb/?p=xbeta/ikiwiki.git;a=blob;f=IkiWiki/Plugin/htmlscrubber.pm;h=3c0ddc8f25bd8cb863634a9d54b40e299e60f7df;hb=fe333c8e5b4a5f374a059596ee698dacd755182d
+[diff]: http://xbeta.org/gitweb/?p=xbeta/ikiwiki.git;a=blobdiff;f=IkiWiki/Plugin/htmlscrubber.pm;h=3c0ddc8f25bd8cb863634a9d54b40e299e60f7df;hp=3bdaccea119ec0e1b289a0da2f6d90e2219b8d66;hb=fe333c8e5b4a5f374a059596ee698dacd755182d;hpb=be0b4f603f918444b906e42825908ddac78b7073