]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/wikitext.pm
Remember to run all the tests before committing!
[git.ikiwiki.info.git] / IkiWiki / Plugin / wikitext.pm
index 310b86724358db7ea68a0af9f8da0d4d899772c2..b24630b15bf9c380e2b68af44f59bcffaaf5bb70 100644 (file)
@@ -4,27 +4,30 @@ package IkiWiki::Plugin::wikitext;
 
 use warnings;
 use strict;
-use Text::WikiFormat;
+use IkiWiki 3.00;
 
-sub import { #{{{
-       IkiWiki::hook(type => "filter", id => "wiki", call => \&filter);
-       IkiWiki::hook(type => "htmlize", id => "wiki", call => \&htmlize);
-} # }}}
+sub import {
+       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;
+sub getsetup () {
+       return
+               plugin => {
+                       safe => 0, # format plugin
+                       rebuild => undef,
+                       section => "format",
+               },
+}
 
-       return $params{content};
-} #}}}
 
-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 });
-} # }}}
+}
 
 1