X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/ee1ad53c4c2710aa7ded61bdc56f3a8cce514f22..fb2e00014da40d677f79b6b07e05ae821e7e10e5:/IkiWiki/Plugin/typography.pm?ds=sidebyside

diff --git a/IkiWiki/Plugin/typography.pm b/IkiWiki/Plugin/typography.pm
index 3b66ab0d0..9389b24d4 100644
--- a/IkiWiki/Plugin/typography.pm
+++ b/IkiWiki/Plugin/typography.pm
@@ -4,19 +4,48 @@ package IkiWiki::Plugin::typography;
 
 use warnings;
 use strict;
-use IkiWiki 2.00;
+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=@_;
 
 	eval q{use Text::Typography};
 	return $params{content} if $@;
 
-	return Text::Typography::typography($params{content});
-} # }}}
+	my $attributes=defined $config{typographyattributes} ? $config{typographyattributes} : '3';
+	return Text::Typography::typography($params{content}, $attributes);
+}
 
 1