sub isinlinableimage ($) {
my $file=shift;
- return $file =~ /\.(png|gif|jpg|jpeg)$/i;
+ return $file =~ /\.(png|gif|jpg|jpeg|svg)$/i;
}
sub pagetitle ($;$) {
my $dir = $params{page};
my $base = IkiWiki::basename($file);
+ my $issvg = $base=~s/\.svg$/.png/i;
eval q{use Image::Magick};
error gettext("Image::Magick is not installed") if $@;
- my $im = Image::Magick->new;
+ my $im = Image::Magick->new($issvg ? (magick => "png") : ());
my $imglink;
my $r = $im->Read($srcfile);
error sprintf(gettext("failed to read %s: %s"), $file, $r) if $r;
* Add libtext-multimarkdown-perl to Suggests. Closes: #630705
* headinganchors: Plugin by Paul Wise that adds ids to <hn> headings.
* html5 is not experimental anymore. But not the default either, quite yet.
+ * Support svg as a inlinable image type; svg images can be included on a
+ page by simply linking to them, or by using the img directive.
+ Note that sanitizing svg files is still not addressed.
+ * img: Generate png format thumbnails for svg images.
-- Joey Hess <joeyh@debian.org> Thu, 09 Jun 2011 10:06:44 -0400
> image (png). The img plugin could probably do that fairly simply.
> --[[Joey]]
+>> This seems to have improved since; at least chromium can display svg
+>> images from `<img>` tags. Firefox 3.5.19 did not in my testing.
+>>
+>> So, svgs can now be included on pages by linking to them, or by using
+>> the img directive. The most portable thing is to use the img directive
+>> plus some size, which forces them to be resized and a png to actually
+>> be displayed.
+>>
+>> I have not yet tried to do anything with sanitizing them. --[[Joey]]
+
>> I'm working on inline SVG and MathML support in ikiwiki and I've
>> modified my htmlscrubber to sanitize SVG and MathML using the
>> whitelists from html5lib. Here's a [patch][]. I've also made some