]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/color.pm
new jssearchfield directive
[git.ikiwiki.info.git] / IkiWiki / Plugin / color.pm
index ac702ff026052e34b780ec380cf3cc048b7443bc..9bb2359ce6f45f9ba452ad400aa48fc2c204584e 100644 (file)
@@ -5,14 +5,24 @@ package IkiWiki::Plugin::color;
 
 use warnings;
 use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
 
-sub import { #{{{
+sub import {
        hook(type => "preprocess", id => "color", call => \&preprocess);
        hook(type => "format",     id => "color", call => \&format);
-} #}}}
-
-sub preserve_style ($$$) { #{{{
+       hook(type => "getsetup",   id => "color", call => \&getsetup);
+}
+
+sub getsetup () {
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+                       section => "widget",
+               },
+}
+
+sub preserve_style ($$$) {
        my $foreground = shift;
        my $background = shift;
        my $text       = shift;
@@ -37,33 +47,32 @@ sub preserve_style ($$$) { #{{{
        
        return $preserved;
 
-} #}}}
+}
 
-sub replace_preserved_style ($) { #{{{
+sub replace_preserved_style ($) {
        my $content = shift;
 
        $content =~ s!<span class="color">((color: ([a-z]+|\#[0-9a-f]{3,6})?)?((; )?(background-color: ([a-z]+|\#[0-9a-f]{3,6})?)?)?)</span>!<span class="color" style="$1">!g;
        $content =~ s!<span class="colorend">!!g;
 
        return $content;
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params = @_;
 
-       # Preprocess the text to expand any preprocessor directives
-       # embedded inside it.
-       $params{text} = IkiWiki::preprocess($params{page}, $params{destpage},
-                               IkiWiki::filter($params{page}, $params{destpage}, $params{text}));
-
-       return preserve_style($params{foreground}, $params{background}, $params{text});
-} #}}}
+       return preserve_style($params{foreground}, $params{background},
+               # Preprocess the text to expand any preprocessor directives
+               # embedded inside it.
+               IkiWiki::preprocess($params{page}, $params{destpage},
+                       $params{text}));
+}
 
-sub format (@) { #{{{
+sub format (@) {
        my %params = @_;
 
        $params{content} = replace_preserved_style($params{content});
        return $params{content};        
-} #}}}
+}
 
 1