From ae1857b43cf55a393a507b8434f172cbdb29d5b0 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 29 Jun 2011 14:40:30 -0400 Subject: [PATCH] img: Generate png format thumbnails for svg images. Imagemagick does not generate svg images very well, but it can convert them to png quite well. For browsers that don't yet support displaying svg, this also provides a workaround; just scale the svg down to get a png. But the workaround is partial, since scaling the image larger, or leaving it the same size will cause the original svg to be displayed. Since browsers are actively improving svg support, this is good enough for me. --- IkiWiki/Plugin/img.pm | 3 ++- debian/changelog | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/IkiWiki/Plugin/img.pm b/IkiWiki/Plugin/img.pm index 103f6b2b3..b98e843d4 100644 --- a/IkiWiki/Plugin/img.pm +++ b/IkiWiki/Plugin/img.pm @@ -64,10 +64,11 @@ sub preprocess (@) { 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; diff --git a/debian/changelog b/debian/changelog index cf17d213c..7b8d84e45 100644 --- a/debian/changelog +++ b/debian/changelog @@ -18,6 +18,7 @@ ikiwiki (3.20110609) UNRELEASED; urgency=low * 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 Thu, 09 Jun 2011 10:06:44 -0400 -- 2.26.2