X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/4c5b83cbcf4d668353252312653214bc30a018aa..5ec9c7af7579341a751de9ccbedc21438ea14be0:/doc/todo/color_plugin.mdwn diff --git a/doc/todo/color_plugin.mdwn b/doc/todo/color_plugin.mdwn index 1e1fb174e..19fba3b35 100644 --- a/doc/todo/color_plugin.mdwn +++ b/doc/todo/color_plugin.mdwn @@ -58,6 +58,11 @@ comments are very welcome. --[[Paweł|ptecza]] >> Similar hardcoded method I've found in `img` plugin :) But only one >> argument is not named there (image path). +>>> I think I hadn't realized what you were doing there. The order +>>> for unnamed parameters can in fact be relied on. +>>> +>>> --[[Joey]] + >> Maybe I shouldn't use so simple plugin syntax? For following syntax >> I wouldn't have that problem: @@ -96,6 +101,25 @@ seems to be too enigmatic and it was hard to me to handle unnamed parameters in not hardcoded way. I hope that my changes are acceptable for you. Of course, I'm open for discussion or exchange of ideas :) --[[Paweł|ptecza]] +> One question, why the 2px padding for span.color? --[[Joey]] + +>> Sorry for a long silence, but I had Internet free summer holiday :) +>> I did that, because backgrounded text without any padding looks +>> strange for me ;) You can remove it if you don't like that padding. +>> --[[Paweł|ptecza]] + +>>> Joey, will you add that plugin to Ikiwiki 2.61? :) --[[Paweł|ptecza]] + +>>>> I also had a long net-free summer holiday. :-) The [[patch]] is +>>>> 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 @@ @@ -108,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; @@ -138,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; - +} #}}} + + return $content; + +} + - +sub preprocess(@) { #{{{ + +sub preprocess (@) { + my %params = @_; + + # Preprocess the text to expand any preprocessor directives @@ -158,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 @@ -173,29 +197,26 @@ Of course, I'm open for discussion or exchange of ideas :) --[[Paweł|ptecza]] @@ -0,0 +1,25 @@ +\[[!template id=plugin name=color core=0 author="[[ptecza]]"]] + - +This plugin can be used to color a piece of text on Ikiwiki page. - +It's possible setting foreground and/or background color of the text. + +This plugin can be used to color a piece of text on a page. + +It can be used to set the foreground and/or background color of the text. + - +You can use name (e.g. `white`) or HTML code of colors (e.g. `#ffffff`) + +You can use a color name (e.g. `white`) or HTML code (e.g. `#ffffff`) +to define colors. + +Below are a few examples: + + \[[!color foreground=white background=#ff0000 text="White text on red background"]] + - +Foreground color is defined as a word, background color is defined as HTML + +In the above example, the foreground color is defined as a word, while the background color is defined as a HTML +color code. + + \[[!color foreground=white text="White text on default color background"]] + - +Background color is missing, so the text is displayed on default background. + +The background color is missing, so the text is displayed on default background. + + \[[!color background=#ff0000 text="Default color text on red background"]] + - +Foreground is missing, so the text has default color. - + - +This plugin is not enabled by default. You can do that in [[ikiwiki.setup]] - +file (hint: `add_plugins` variable). + +The foreground is missing, so the text has the default foreground color. --- style.css-orig 2008-07-27 15:12:39.000000000 +0200 +++ style.css 2008-07-27 15:15:06.000000000 +0200 @@ -333,3 +333,7 @@ @@ -206,3 +227,5 @@ Of course, I'm open for discussion or exchange of ideas :) --[[Paweł|ptecza]] +span.color { + padding: 2px; +} + +[[done]]