]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/typography.pm
Replace Verisign logo with one done in Inkscape
[git.ikiwiki.info.git] / IkiWiki / Plugin / typography.pm
index 6c5f06b0f3928aa7550a9c6fb32b92ef1891f73d..9389b24d428ba092915babf5f3cf7c98c3664058 100644 (file)
@@ -4,17 +4,48 @@ package IkiWiki::Plugin::typography;
 
 use warnings;
 use strict;
-use IkiWiki;
-use Text::Typography;
+use IkiWiki 3.00;
 
-sub import { #{{{
-       IkiWiki::hook(type => "sanitize", id => "typography", call => \&sanitize);
-} # }}}
+sub import {
+       hook(type => "getopt", id => "typography", call => \&getopt);
+       hook(type => "getsetup", id => "typography", call => \&getsetup);
+       hook(type => "sanitize", id => "typography", call => \&sanitize);
+}
 
-sub sanitize (@) { #{{{
+sub getopt () {
+       eval q{use Getopt::Long};
+       error($@) if $@;
+       Getopt::Long::Configure('pass_through');
+       GetOptions("typographyattributes=s" => \$config{typographyattributes});
+}
+
+sub getsetup () {
+       eval q{use Text::Typography};
+       error($@) if $@;
+
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => 1,
+               },
+               typographyattributes => {
+                       type => "string",
+                       example => "3",
+                       description => "Text::Typography attributes value",
+                       advanced => 1,
+                       safe => 1,
+                       rebuild => 1,
+               },
+}
+
+sub sanitize (@) {
        my %params=@_;
 
-       return Text::Typography::typography($params{content});
-} # }}}
+       eval q{use Text::Typography};
+       return $params{content} if $@;
+
+       my $attributes=defined $config{typographyattributes} ? $config{typographyattributes} : '3';
+       return Text::Typography::typography($params{content}, $attributes);
+}
 
 1