X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/042a0577780ca1783ce8cb4d9a050fa115f6cd6b..b00d8771cc212349ca886401bc68facdf08e0d3c:/IkiWiki/Plugin/color.pm
diff --git a/IkiWiki/Plugin/color.pm b/IkiWiki/Plugin/color.pm
index ac702ff02..d550dd9f4 100644
--- a/IkiWiki/Plugin/color.pm
+++ b/IkiWiki/Plugin/color.pm
@@ -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,18 +47,18 @@ sub preserve_style ($$$) { #{{{
return $preserved;
-} #}}}
+}
-sub replace_preserved_style ($) { #{{{
+sub replace_preserved_style ($) {
my $content = shift;
$content =~ s!((color: ([a-z]+|\#[0-9a-f]{3,6})?)?((; )?(background-color: ([a-z]+|\#[0-9a-f]{3,6})?)?)?)!!g;
$content =~ s!!!g;
return $content;
-} #}}}
+}
-sub preprocess (@) { #{{{
+sub preprocess (@) {
my %params = @_;
# Preprocess the text to expand any preprocessor directives
@@ -57,13 +67,13 @@ sub preprocess (@) { #{{{
IkiWiki::filter($params{page}, $params{destpage}, $params{text}));
return preserve_style($params{foreground}, $params{background}, $params{text});
-} #}}}
+}
-sub format (@) { #{{{
+sub format (@) {
my %params = @_;
$params{content} = replace_preserved_style($params{content});
return $params{content};
-} #}}}
+}
1