X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/bbfe1b9058f3e2b73d6c8c1f7eed80d72727d2a4..82f0facb620e59594aaf318c2eaf676c7788f1e6:/IkiWiki/Plugin/typography.pm diff --git a/IkiWiki/Plugin/typography.pm b/IkiWiki/Plugin/typography.pm index 6c5f06b0f..6229e6c33 100644 --- a/IkiWiki/Plugin/typography.pm +++ b/IkiWiki/Plugin/typography.pm @@ -4,17 +4,43 @@ package IkiWiki::Plugin::typography; use warnings; use strict; -use IkiWiki; -use Text::Typography; +use IkiWiki 2.00; sub import { #{{{ + hook(type => "getopt", id => "typography", call => \&getopt); + hook(type => "getsetup", id => "typography", call => \&getsetup); IkiWiki::hook(type => "sanitize", id => "typography", call => \&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 + typographyattributes => { + type => "string", + example => "3", + description => "Text::Typography attributes value", + 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