]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blob - IkiWiki/Plugin/wikitext.pm
* Add wikitext markup plugin, which supports ".wiki" pages written in the
[git.ikiwiki.info.git] / IkiWiki / Plugin / wikitext.pm
1 #!/usr/bin/perl
2 # WikiText markup
3 package IkiWiki::Plugin::wikitext;
5 use warnings;
6 use strict;
7 use Text::WikiFormat;
9 sub import { #{{{
10         IkiWiki::hook(type => "filter", id => "wiki", call => \&filter);
11         IkiWiki::hook(type => "htmlize", id => "wiki", call => \&htmlize);
12 } # }}}
14 sub filter (@) { #{{{
15         my %params=@_;
17         # Make CamelCase links work by promoting them to fullfledged
18         # WikiLinks. This regexp is based on the one in Text::WikiFormat.
19         $params{content}=~s#(?<![["/>=])\b((?:[A-Z][a-z0-9]\w*){2,})#[[$1]]#g;
21         return $params{content};
22 } #}}}
24 sub htmlize ($) { #{{{
25         my $content = shift;
27         return Text::WikiFormat::format($content, undef, { implicit_links => 0 });
28 } # }}}
30 1