]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/otl.pm
format plugin categorization
[ikiwiki.git] / IkiWiki / Plugin / otl.pm
index 7d382b38b62d70dc24029c19a5f62d2379d7b062..3801a6ec2417d225f3cf541a505ff79adedec8ef 100644 (file)
@@ -4,31 +4,33 @@ package IkiWiki::Plugin::otl;
 
 use warnings;
 use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
 use open qw{:utf8 :std};
 
-sub import { #{{{
-       hook(type => "filter", id => "otl", call => \&filter);
+sub import {
+       hook(type => "getsetup", id => "otl", call => \&getsetup);
        hook(type => "htmlize", id => "otl", call => \&htmlize);
+}
 
-} # }}}
+sub getsetup () {
+       return 
+               plugin => {
+                       safe => 1,
+                       rebuild => 1, # format plugin
+                       section => "format",
+               },
+}
 
-sub filter (@) { #{{{
+sub htmlize (@) {
        my %params=@_;
-        
-       # Munge up check boxes to look a little bit better. This is a hack.
+       
+       # Munge up check boxes to look a little bit better.
        my $checked=htmllink($params{page}, $params{page},
                "smileys/star_on.png", linktext => "[X]");
        my $unchecked=htmllink($params{page}, $params{page},
                "smileys/star_off.png", linktext => "[_]");
        $params{content}=~s/^(\s*)\[X\]\s/${1}$checked /mg;
        $params{content}=~s/^(\s*)\[_\]\s/${1}$unchecked /mg;
-        
-       return $params{content};
-} # }}}
-
-sub htmlize (@) { #{{{
-       my %params=@_;
 
        # Can't use open2 since otl2html doesn't play nice with buffering.
        # Instead, fork off a child process that will run otl2html and feed
@@ -86,6 +88,6 @@ sub htmlize (@) { #{{{
        $ret=~s/<body>.*//s;
        $ret=~s/<div class="Footer">.*//s;
        return $ret;
-} # }}}
+}
 
 1