23 lines
961 B
Plaintext
23 lines
961 B
Plaintext
|
[[!template id=plugin name=wordcount author="[[schmonz]]"]]
|
||
|
[[!template id=gitbranch branch=schmonz/wordcount author="[[schmonz]]"]]
|
||
|
[[!tag type/meta]]
|
||
|
[[!tag patch]]
|
||
|
|
||
|
This plugin counts words in a page. For a single page, write a
|
||
|
`\[[!wordcount]]` directive and the word count will be interpolated there.
|
||
|
For a site, add `<TMPL_VAR WORDCOUNT>` to your [[templates]].
|
||
|
|
||
|
If [[!cpan HTML::Strip]] is installed, the wordcount will be slightly
|
||
|
more accurate.
|
||
|
|
||
|
Possible enhancements:
|
||
|
|
||
|
* Optimize: count words iff the result will be displayed. `sanitize()`
|
||
|
seems like the right place to count. Since it's called well after
|
||
|
`preprocess()`, I can tell whether a directive needs the result,
|
||
|
but since it appears to be called before `pagetemplate()`, I can't
|
||
|
tell whether a template wants to know and possibly skip the
|
||
|
computation. (In other words, if I add `$needed_for_template`
|
||
|
like `$needed_for_directive`, it gets set too late for `sanitize()`
|
||
|
to see.)
|