]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/otl.pm
po: added postscan hook, to make pages depend on the pages linking to them
[git.ikiwiki.info.git] / IkiWiki / Plugin / otl.pm
index b10d5e80724a315c5c277087f99aa0464d743c22..280b19db0ae71e7029c940b15f0eade8c355ccad 100644 (file)
@@ -4,29 +4,39 @@ package IkiWiki::Plugin::otl;
 
 use warnings;
 use strict;
 
 use warnings;
 use strict;
-use IkiWiki;
+use IkiWiki 2.00;
+use open qw{:utf8 :std};
 
 
-sub import { #{{{
-       IkiWiki::hook(type => "filter", id => "otl", call => \&filter);
-       IkiWiki::hook(type => "htmlize", id => "otl", call => \&htmlize);
+sub import {
+       hook(type => "getsetup", id => "otl", call => \&getsetup);
+       hook(type => "filter", id => "otl", call => \&filter);
+       hook(type => "htmlize", id => "otl", call => \&htmlize);
 
 
-} # }}}
+}
 
 
-sub filter (@) { #{{{
+sub getsetup () {
+       return 
+               plugin => {
+                       safe => 1,
+                       rebuild => 1, # format plugin
+               },
+}
+
+sub filter (@) {
        my %params=@_;
         
        # Munge up check boxes to look a little bit better. This is a hack.
        my %params=@_;
         
        # Munge up check boxes to look a little bit better. This is a hack.
-       my $checked=IkiWiki::htmllink($params{page}, $params{page},
-               "smileys/star_on.png", 0, 0, "[X]");
-       my $unchecked=IkiWiki::htmllink($params{page}, $params{page},
-               "smileys/star_off.png", 0, 0, "[_]");
+       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};
        $params{content}=~s/^(\s*)\[X\]\s/${1}$checked /mg;
        $params{content}=~s/^(\s*)\[_\]\s/${1}$unchecked /mg;
         
        return $params{content};
-} # }}}
+}
 
 
-sub htmlize (@) { #{{{
+sub htmlize (@) {
        my %params=@_;
 
        # Can't use open2 since otl2html doesn't play nice with buffering.
        my %params=@_;
 
        # Can't use open2 since otl2html doesn't play nice with buffering.
@@ -40,7 +50,7 @@ sub htmlize (@) { #{{{
                unless (defined $pid) {
                        $tries--;
                        if ($tries < 1) {
                unless (defined $pid) {
                        $tries--;
                        if ($tries < 1) {
-                               IkiWiki::debug("failed to fork: $@");
+                               debug("failed to fork: $@");
                                return $params{content};
                        }
                }
                                return $params{content};
                        }
                }
@@ -55,7 +65,7 @@ sub htmlize (@) { #{{{
                        unless (defined $pid) {
                                $tries--;
                                if ($tries < 1) {
                        unless (defined $pid) {
                                $tries--;
                                if ($tries < 1) {
-                                       IkiWiki::debug("failed to fork: $@");
+                                       debug("failed to fork: $@");
                                        print $params{content};
                                        exit;
                                }
                                        print $params{content};
                                        exit;
                                }
@@ -64,7 +74,7 @@ sub htmlize (@) { #{{{
 
                if (! $pid) {
                        if (! exec 'otl2html', '-S', '/dev/null', '-T', '/dev/stdin') {
 
                if (! $pid) {
                        if (! exec 'otl2html', '-S', '/dev/null', '-T', '/dev/stdin') {
-                               IkiWiki::debug("failed to run otl2html: $@");
+                               debug("failed to run otl2html: $@");
                                print $params{content};
                                exit;
                        }
                                print $params{content};
                                exit;
                        }
@@ -85,6 +95,6 @@ sub htmlize (@) { #{{{
        $ret=~s/<body>.*//s;
        $ret=~s/<div class="Footer">.*//s;
        return $ret;
        $ret=~s/<body>.*//s;
        $ret=~s/<div class="Footer">.*//s;
        return $ret;
-} # }}}
+}
 
 1
 
 1