X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/5338c674dbe8a6ad0938be9e6a2f1b02f3d2f89c..2149dd4ac0e7dd29fdcc11a063f9835f7111ebed:/doc/todo/color_plugin.mdwn
diff --git a/doc/todo/color_plugin.mdwn b/doc/todo/color_plugin.mdwn
index 64ff46253..19fba3b35 100644
--- a/doc/todo/color_plugin.mdwn
+++ b/doc/todo/color_plugin.mdwn
@@ -114,6 +114,12 @@ Of course, I'm open for discussion or exchange of ideas :) --[[PaweÅ|ptecza]]
>>>> ready for integration (made a few minor changes). Is this GPL 2?
>>>> --[[Joey]]
+>>>>> No problem. I guessed it, because I've not seen your commits
+>>>>> at [[RecentChanges]] page in last days and I subscribe your
+>>>>> [blog](http://kitenet.net/~joey/blog/entry/vacation/) :D
+>>>>> It's GPL-2+ like your Ikiwiki and the most external plugins.
+>>>>> --[[PaweÅ|ptecza]]
+
--- /dev/null 2008-06-21 02:02:15.000000000 +0200
+++ color.pm 2008-07-27 14:58:12.000000000 +0200
@@ -0,0 +1,69 @@
@@ -126,12 +132,12 @@ Of course, I'm open for discussion or exchange of ideas :) --[[PaweÅ|ptecza]]
+use strict;
+use IkiWiki 2.00;
+
- +sub import { #{{{
+ +sub import {
+ hook(type => "preprocess", id => "color", call => \&preprocess);
+ hook(type => "format", id => "color", call => \&format);
- +} #}}}
+ +}
+
- +sub preserve_style ($$$) { #{{{
+ +sub preserve_style ($$$) {
+ my $foreground = shift;
+ my $background = shift;
+ my $text = shift;
@@ -156,18 +162,18 @@ Of course, I'm open for discussion or exchange of ideas :) --[[PaweÅ|ptecza]]
+
+ 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
@@ -176,14 +182,14 @@ Of course, I'm open for discussion or exchange of ideas :) --[[PaweÅ|ptecza]]
+ 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
--- /dev/null 2008-06-21 02:02:15.000000000 +0200
@@ -221,3 +227,5 @@ Of course, I'm open for discussion or exchange of ideas :) --[[PaweÅ|ptecza]]
+span.color {
+ padding: 2px;
+}
+
+[[done]]