Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info

master
Joey Hess 2008-08-11 12:47:51 -04:00
commit 49d56c3957
2 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,3 @@
Would it be possible to factor out this pagespec
code so that other plugins can use it without enabling attachments?
I am interested for [[todo/mbox]] --[[DavidBremner]]

View File

@ -62,6 +62,11 @@ Any comments? --[[Paweł|ptecza]]
>>> Thank you for the code! I know how to fix that problem, because I had
>>> the same issue while writing [[todo/color_plugin]] :) --[[Paweł|ptecza]]
>>>> Ahh - good idea. Patch updated to work with HTMLScrubber. --[[Will]]
>>>>> I like it, but I think that Joey should take a look at that patch too :)
>>>>> --[[Paweł|ptecza]]
#!/usr/bin/perl
package IkiWiki::Plugin::progress;
@ -74,6 +79,7 @@ Any comments? --[[Paweł|ptecza]]
sub import { #{{{
hook(type => "getsetup", id => "progress", call => \&getsetup);
hook(type => "preprocess", id => "progress", call => \&preprocess);
hook(type => "format", id => "progress", call => \&format);
} # }}}
sub getsetup () { #{{{
@ -124,4 +130,38 @@ Any comments? --[[Paweł|ptecza]]
} # }}}
sub format(@) { #{{{
my %params = @_;
# If HTMLScrubber has removed the style attribute, then bring it back
$params{content} =~ s!<div class="progress-done">($percentage_pattern)</div>!<div class="progress-done" style="width: $1">$1</div>!g;
return $params{content};
} #}}}
1
Here is a potential documentation page:
-----
[[!template id=plugin name=progress author="[[Will]]"]]
[[!tag type/meta]]
Provides a \\[[!progress ]] [[ikiwiki/PreProcessorDirective]] that is
replaced with a progress bar.
There are two possible parameter sets. The first is a single parameter
`percent` which holds a percentage figure for how complete the progress bar is.
The second possible set of parameters is a pair of [[ikiwiki/PageSpec]]s,
`totalpages` and `donepages`. The progress plugin counts the number of
pages in each pagespec and shows the percentage of the total pages that are
done.
This plugin is included in ikiwiki, but is not enabled by default.
If it is turned on it can show what percentage of pages have discussion pages:
[[!progress totalpages="* and !*/Discussion" donepages="*/Discussion"]]