]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/wikitext.pm
po plugin: implement linking specification in one of the main cases
[git.ikiwiki.info.git] / IkiWiki / Plugin / wikitext.pm
index 310b86724358db7ea68a0af9f8da0d4d899772c2..c47ccb7b1aded4ea75f096122a39000bda34cdd1 100644 (file)
@@ -4,26 +4,28 @@ package IkiWiki::Plugin::wikitext;
 
 use warnings;
 use strict;
-use Text::WikiFormat;
+use IkiWiki 2.00;
 
 sub import { #{{{
-       IkiWiki::hook(type => "filter", id => "wiki", call => \&filter);
-       IkiWiki::hook(type => "htmlize", id => "wiki", call => \&htmlize);
+       hook(type => "getsetup", id => "wiki", call => \&getsetup);
+       hook(type => "htmlize", id => "wiki", call => \&htmlize);
 } # }}}
 
-sub filter (@) { #{{{
-       my %params=@_;
-
-       # Make CamelCase links work by promoting them to fullfledged
-       # WikiLinks. This regexp is based on the one in Text::WikiFormat.
-       $params{content}=~s#(?<![["/>=])\b((?:[A-Z][a-z0-9]\w*){2,})#[[$1]]#g;
-
-       return $params{content};
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 0, # format plugin
+                       rebuild => undef,
+               },
 } #}}}
 
-sub htmlize ($) { #{{{
-       my $content = shift;
 
+sub htmlize (@) { #{{{
+       my %params=@_;
+       my $content = $params{content};
+
+       eval q{use Text::WikiFormat};
+       return $content if $@;
        return Text::WikiFormat::format($content, undef, { implicit_links => 0 });
 } # }}}