Migrate doc/plugins via prefix_directives

This is a partial commit of:
egrep -rl '\[\[[a-z]+ ' doc | xargs --max-args 1 ./ikiwiki-transition
prefix_directives
master
Simon McVittie 2008-07-21 12:31:57 +01:00
parent dd87d82fbe
commit 297ff849b9
89 changed files with 242 additions and 242 deletions

View File

@ -1,12 +1,12 @@
[[template id=plugin name=amazon_s3 author="[[Joey]]"]]
[[tag type/special-purpose]]
[[!template id=plugin name=amazon_s3 author="[[Joey]]"]]
[[!tag type/special-purpose]]
This plugin allows ikiwiki to publish a wiki in the [Amazon Simple Storage
Service](http://aws.amazon.com/s3) (S3). As pages are rendered, ikiwiki
will upload them to Amazon S3. The entire wiki contents, aside from the
ikiwiki CGI, can then be served directly out of Amazon S3.
You'll need the [[cpan Net::Amazon::S3]] and [[cpan File::MimeInfo]] perl
You'll need the [[!cpan Net::Amazon::S3]] and [[!cpan File::MimeInfo]] perl
modules and an Amazon S3 account to use this plugin.
## configuration

View File

@ -1,5 +1,5 @@
[[template id=plugin name=anonok author="[[Joey]]"]]
[[tag type/auth]]
[[!template id=plugin name=anonok author="[[Joey]]"]]
[[!tag type/auth]]
By default, anonymous users cannot edit the wiki. This plugin allows
anonymous web users, who have not signed in, to edit any page in the wiki

View File

@ -1,5 +1,5 @@
[[template id=plugin name=attachment core=0 author="[[Joey]]"]]
[[tag type/useful]]
[[!template id=plugin name=attachment core=0 author="[[Joey]]"]]
[[!tag type/useful]]
This plugin allows files to be uploaded to the wiki over the web.
@ -24,7 +24,7 @@ If you enable this plugin, be sure to lock that down, by entering an
[[enhanced_PageSpec|ikiwiki/pagespec/attachment]] in the "Allowed
Attachments" field of the wiki admin's preferences page.
This plugin will use the [[cpan File::MimeInfo::Magic]] perl module, if
This plugin will use the [[!cpan File::MimeInfo::Magic]] perl module, if
available, for mimetype checking.
The `virusfree` [[PageSpec|ikiwiki/pagespec/attachment]] requires that

View File

@ -1,5 +1,5 @@
[[template id=plugin name=brokenlinks author="[[Joey]]"]]
[[tag type/link type/meta]]
[[!template id=plugin name=brokenlinks author="[[Joey]]"]]
[[!tag type/link type/meta]]
This plugin generates a list of broken links on pages in the wiki. This is
a useful way to find pages that still need to be written, or links that
@ -10,4 +10,4 @@ pages to search for broken links, default is search them all.
If this plugin is turned on, here's a list of broken links on this wiki:
[[brokenlinks pages="* and !recentchanges"]]
[[!brokenlinks pages="* and !recentchanges"]]

View File

@ -1,5 +1,5 @@
[[template id=plugin name=calendar author="[[ManojSrivastava]]"]]
[[tag type/chrome]]
[[!template id=plugin name=calendar author="[[ManojSrivastava]]"]]
[[!tag type/chrome]]
This plugin displays a calendar, similar to the typical calendars shown on
some blogs.

View File

@ -1,4 +1,4 @@
[[template id=plugin name=camelcase author="[[Joey]]"]]
[[!template id=plugin name=camelcase author="[[Joey]]"]]
This plugin makes words in CamelCase be treated as a [[ikiwiki/WikiLink]].
That is to say, any two or more words capitalised and mashed together are
@ -7,4 +7,4 @@ link.
If this plugin is enabled, this will be a link: SandBox
[[tag type/link]]
[[!tag type/link]]

View File

@ -1,5 +1,5 @@
[[template id=plugin name=conditional core=1 author="[[Joey]]"]]
[[tag type/format]]
[[!template id=plugin name=conditional core=1 author="[[Joey]]"]]
[[!tag type/format]]
With this plugin, you can make text be conditionally displayed on a page.
For example:

View File

@ -14,9 +14,9 @@ is supposed to have *no* blank lines between...
> The blank lines in this example are coming from the newline after `then="`, and also from the newline before the close quote. If you remove those newlines, I think it should work. --[[Joey]]
>> No, that's unfortunately not it, see here:
>> [[if test="enabled(trallala)" then="foot"]]
>> [[!if test="enabled(trallala)" then="foot"]]
>> Continued. But on the other
>> [[if test="enabled(trallala)" then="foot" else="hand:"]]
>> [[!if test="enabled(trallala)" then="foot" else="hand:"]]
>> Continued. --[[tschwinge]]
>>> Seems ok, no? The only linebreaks I see in the source are the ones you
@ -25,9 +25,9 @@ is supposed to have *no* blank lines between...
>>>> Okay, that would explain the linebreak between 1 and 3. But then, why are all linebreaks removed between 3 and 5?
>>>> 1 No, that's unfortunately not it, see here:
>>>> [[if test="enabled(trallala)" then="foot"]]
>>>> [[!if test="enabled(trallala)" then="foot"]]
>>>> 3 Continued. But on the other
>>>> [[if test="enabled(trallala)" then="foot" else="hand:"]]
>>>> [[!if test="enabled(trallala)" then="foot" else="hand:"]]
>>>> 5 Continued. --[[tschwinge]]
>>>>> The conditional after 1 evaluates to "", so there's a blank line

View File

@ -2,6 +2,6 @@ Contributed [[plugins]]:
(See [[install]] for installation help.)
[[inline pages="plugins/contrib/* !*/Discussion"
[[!inline pages="plugins/contrib/* !*/Discussion"
feedpages="created_after(plugins/contrib/navbar)" archive="yes"
rootpage="plugins/contrib" postformtext="Add a new plugin named:" show=0]]

View File

@ -1,4 +1,4 @@
[[template id=plugin name=attach author="[[Ben]]"]]
[[!template id=plugin name=attach author="[[Ben]]"]]
**Note: This plugin is currently pending upload. It is also most assuredly beta.**

View File

@ -1,7 +1,7 @@
[[template id=plugin name=copyright author="[[tschwinge]]"]]
[[template id=plugin name=license author="[[tschwinge]]"]]
[[!template id=plugin name=copyright author="[[tschwinge]]"]]
[[!template id=plugin name=license author="[[tschwinge]]"]]
[[meta title="default content for *copyright* and *license*"]]
[[!meta title="default content for *copyright* and *license*"]]
Someone was just asking for it and I had written these two plugins already some months ago,
so I'm now publishing them here.

View File

@ -1,4 +1,4 @@
[[template id=plugin name=gallery author="[[arpitjain]]"]]
[[!template id=plugin name=gallery author="[[arpitjain]]"]]
This plugin would create a nice looking gallery of the images. It has been build over the img plugin in Ikiwiki
@ -35,4 +35,4 @@ Additional details are available [here](http://myweb.unomaha.edu/~ajain/ikiwikig
-- [[arpitjain]]
[[tag plugins]] [[tag patch]] [[tag soc]] [[tag wishlist]]
[[!tag plugins]] [[!tag patch]] [[!tag soc]] [[!tag wishlist]]

View File

@ -6,13 +6,13 @@ rebased it onto the *origin/master*, built a Debian package and installed that o
However, I can't even get simply things like this to work:
$ cat web/index.mdwn
[[gallery imagedir="b" vcs="0"]]
[[!gallery imagedir="b" vcs="0"]]
$ ls web/b/
1.jpg 2.jpg 3.jpg 4.jpg
$ ikiwiki [...] --plugin gallery web web.rendered
[...]
$ grep gallery web.rendered/index.html
<p>[[gallery Failed to Read Directory b.]]</p>
<p>[[!gallery Failed to Read Directory b.]]</p>
When using `vcs="1"` it's no better:
@ -25,7 +25,7 @@ When using `vcs="1"` it's no better:
Its probably because of the restriction of permissions by plugins in newer version of IkiWiki.
For the time being, you can turn resizing off till I look into conditional underlay directory feature.
USAGE : [[gallery imagedir="directory" resize="0"]]
USAGE : [[!gallery imagedir="directory" resize="0"]]
New version updated at SVN REPO : http://ned.snow-crash.org:8080/svn/ikiwiki-gallery/

View File

@ -1,5 +1,5 @@
[[template id=plugin name=googlemaps author="Christian Mock"]]
[[tag type/special-purpose todo/geotagging]]
[[!template id=plugin name=googlemaps author="Christian Mock"]]
[[!tag type/special-purpose todo/geotagging]]
`googlemaps` is a plugin that allows using the [Google Maps API][2]
from ikiwiki.

View File

@ -1,4 +1,4 @@
[[template id=plugin name=headinganchors author="[[PaulWise]]"]]
[[!template id=plugin name=headinganchors author="[[PaulWise]]"]]
This is a simple plugin to add ids to all headings, based on their text. It
works as a postprocessing filter, allowing it to work on mdwn, wiki, html,

View File

@ -1,5 +1,5 @@
[[template id=plugin name=img author="Christian Mock"]]
[[tag type/chrome]]
[[!template id=plugin name=img author="Christian Mock"]]
[[!tag type/chrome]]
`img` is an enhanced image handling plugin.

View File

@ -1,4 +1,4 @@
[[template id=plugin name=linguas author="Jordà Polo"]]
[[!template id=plugin name=linguas author="Jordà Polo"]]
Linguas
=======

View File

@ -1,4 +1,4 @@
[[template id=plugin name=navbar author="[[TobiOetiker]]"]]
[[!template id=plugin name=navbar author="[[TobiOetiker]]"]]
The Navbar Plugin renders a Navigation Bar into your page. It is based on code
from the [[sidebar_plugin|plugins/sidebar]].

View File

@ -1,5 +1,5 @@
[[template id=plugin name=sar author="[[VictorMoral]]"]]
[[tag type/chrome type/slow ]]
[[!template id=plugin name=sar author="[[VictorMoral]]"]]
[[!tag type/chrome type/slow ]]
The `sar` plugin is useful to make global or local search and replace operations
using common or specific terms.
@ -14,19 +14,19 @@ The global dictionary page is like this:
## Sites and projects
- [[sar search="ikiwiki" first="[IkiWiki](http://ikiwiki.info)" next="_IkiWiki_"]]
- [[sar search="debian" first="[Debian](http://debian.org)" next="_Debian_"]]
- [[sar search="perl" first="[Perl](http://perl.org)" next="_Perl_"]]
- [[sar search="linux" replace="GNU/Linux"]]
- [[!sar search="ikiwiki" first="[IkiWiki](http://ikiwiki.info)" next="_IkiWiki_"]]
- [[!sar search="debian" first="[Debian](http://debian.org)" next="_Debian_"]]
- [[!sar search="perl" first="[Perl](http://perl.org)" next="_Perl_"]]
- [[!sar search="linux" replace="GNU/Linux"]]
## Persons
- [[sar search="joey" first="[Joey Hess](http://ikiwiki.info/users/joey]]" next="_Joey_" ]]
- [[sar search="angel" first="[Angel](http://triptico.com)" next="Angel"]]
- [[!sar search="joey" first="[Joey Hess](http://ikiwiki.info/users/joey]]" next="_Joey_" ]]
- [[!sar search="angel" first="[Angel](http://triptico.com)" next="Angel"]]
## Technical terms
- [[sar search="smtp" first="\[[wp SMTP]]" next="SMTP"]]
- [[sar search="pop3" first="\[[wp POP3]]" next="POP3"]]
- [[!sar search="smtp" first="\[[wp SMTP]]" next="SMTP"]]
- [[!sar search="pop3" first="\[[wp POP3]]" next="POP3"]]
The search expressions must be surrounded by double dashes in a source ikiwiki
page, like this:

View File

@ -1,4 +1,4 @@
[[template id=plugin name=siterel2pagerel author="[[PaulWise]]"]]
[[!template id=plugin name=siterel2pagerel author="[[PaulWise]]"]]
This is a simple plugin to convert all site-relative links to page-relative
links (converts /foo into ../../../foo or similar). It works as a

View File

@ -1,7 +1,7 @@
[[template id=plugin name=syntax author="[[VictorMoral]]"]]
[[tag type/chrome type/slow]]
[[!template id=plugin name=syntax author="[[VictorMoral]]"]]
[[!tag type/chrome type/slow]]
The `syntax` plugin adds support to ikiwiki for syntax highlighting through the *vim* editor and its perl interface [[cpan Text::VimColor]]. It depends on a functional vim installation.
The `syntax` plugin adds support to ikiwiki for syntax highlighting through the *vim* editor and its perl interface [[!cpan Text::VimColor]]. It depends on a functional vim installation.
The plugin inserts a fragment of HTML with special marks from a file or a string text. It accepts the following parameters:

View File

@ -1,4 +1,4 @@
[[template id=plugin name=texinfo author="[[tschwinge]]"]]
[[!template id=plugin name=texinfo author="[[tschwinge]]"]]
[[I|tschwinge]] started writing a plugin to render
[GNU Texinfo](http://www.gnu.org/software/texinfo/)

View File

@ -1,9 +1,9 @@
[[template id=plugin name=creole author="BerndZeimetz"]]
[[tag type/format]]
[[!template id=plugin name=creole author="BerndZeimetz"]]
[[!tag type/format]]
This plugin allows ikiwiki to process pages written in
[WikiCreole](http://www.wikicreole.org/) format.
To use it, you need to have the [[cpan Text::WikiCreole]] perl
To use it, you need to have the [[!cpan Text::WikiCreole]] perl
module installed, enable the plugin, then files with the extention `.creole`
will be processed as creole.

View File

@ -1,8 +1,8 @@
[[template id=plugin name=ddate author="[[Joey]]"]]
[[tag type/fun]]
[[!template id=plugin name=ddate author="[[Joey]]"]]
[[!tag type/fun]]
Enables use of Discordian dates. `--timeformat` can be used to change
the date format; see `ddate(1)`.
This plugin requires the [[cpan DateTime]] and
[[cpan DateTime::Calendar::Discordian]] perl modules.
This plugin requires the [[!cpan DateTime]] and
[[!cpan DateTime::Calendar::Discordian]] perl modules.

View File

@ -1,5 +1,5 @@
[[template id=plugin name=editdiff author="[[JeremieKoenig]]"]]
[[tag type/useful]]
[[!template id=plugin name=editdiff author="[[JeremieKoenig]]"]]
[[!tag type/useful]]
This plugin adds a "Diff" button when a page is being edited.
When clicked, a diff between the stored page and provided content

View File

@ -1,5 +1,5 @@
[[template id=plugin name=edittemplate author="[[Joey]]"]]
[[tag type/useful]]
[[!template id=plugin name=edittemplate author="[[Joey]]"]]
[[!tag type/useful]]
This plugin allows registering template pages, that provide default
content for new pages created using the web frontend. To register a
@ -19,7 +19,7 @@ something like:
Reproducible: y/n
Details:
The template page can also contain [[cpan HTML::Template]] directives,
The template page can also contain [[!cpan HTML::Template]] directives,
similar to other ikiwiki [[templates]]. Currently only one variable is
set: `<TMPL_VAR name>` is replaced with the name of the page being
created.

View File

@ -1,5 +1,5 @@
[[template id=plugin name=embed author="[[Joey]]"]]
[[tag type/html]]
[[!template id=plugin name=embed author="[[Joey]]"]]
[[!tag type/html]]
This plugin allows embedding content from external sites on
wiki pages.

View File

@ -1,5 +1,5 @@
[[template id=plugin name=favicon author="[[Joey]]"]]
[[tag type/chrome]]
[[!template id=plugin name=favicon author="[[Joey]]"]]
[[!tag type/chrome]]
If this plugin is enabled, then an icon link is added to pages, for web
browsers to display. The icon is currently hardcoded to be a favicon.ico,

View File

@ -1,15 +1,15 @@
[[template id=plugin name=fortune author="[[Joey]]"]]
[[tag type/fun]]
[[!template id=plugin name=fortune author="[[Joey]]"]]
[[!tag type/fun]]
This just uses the `fortune` program to insert a fortune into the page.
Usage:
\[[fortune ]]
[[if test="enabled(fortune)" then="""
[[!if test="enabled(fortune)" then="""
Here's a fortune for you:
----
[[fortune ]]
[[!fortune ]]
"""]]

View File

@ -1,5 +1,5 @@
[[template id=plugin name=goodstuff author="[[Joey]]"]]
[[tag type/bundle]]
[[!template id=plugin name=goodstuff author="[[Joey]]"]]
[[!tag type/bundle]]
This plugin enables a bunch of other plugins -- basically all the ones that
are not too intrusive, work well with little configuration, and are nice to

View File

@ -1,5 +1,5 @@
[[template id=plugin name=googlecalendar author="[[Joey]]"]]
[[tag type/special-purpose]]
[[!template id=plugin name=googlecalendar author="[[Joey]]"]]
[[!tag type/special-purpose]]
*Note*: This plugin is deprecated. Please switch to the [[embed]] plugin.

View File

@ -1,5 +1,5 @@
[[template id=plugin name=graphviz author="[[JoshTriplett]]"]]
[[tag type/chrome type/format]]
[[!template id=plugin name=graphviz author="[[JoshTriplett]]"]]
[[!tag type/chrome type/format]]
This plugin allows embedding [graphviz](http://www.graphviz.org/) graphs in a
page. Example usage:
@ -7,7 +7,7 @@ page. Example usage:
\[[graph src="a -> b -> c; a -> c;"]]
Note that graphs will only show up in previews if your browser has
[[wikipedia data: URI]] support, or if the same graph already exists on that
[[!wikipedia data: URI]] support, or if the same graph already exists on that
page.
Security implications: graphviz does not seem to have any syntax exploitable to
@ -31,11 +31,11 @@ The `graph` directive supports the following parameters:
in inches. You must specify both to limit the size; otherwise, graphviz will
choose a size, without any limit.
[[if test="enabled(graphviz)" then="""
[[!if test="enabled(graphviz)" then="""
Some example graphs:
[[graph src="a -> b -> c; a -> b;"]]
[[graph src="a -- b -- c -- a;" prog="circo" type="graph"]]
[[!graph src="a -> b -> c; a -> b;"]]
[[!graph src="a -- b -- c -- a;" prog="circo" type="graph"]]
"""]]
This plugin uses the [[cpan Digest::SHA1]] perl module.
This plugin uses the [[!cpan Digest::SHA1]] perl module.

View File

@ -1,12 +1,12 @@
[[template id=plugin name=haiku author="[[Joey]]"]]
[[tag type/fun]]
[[!template id=plugin name=haiku author="[[Joey]]"]]
[[!tag type/fun]]
This plugin allows inserting a randomly generated haiku into a wiki page.
Just type:
\[[haiku hint="argument"]]
[[haiku hint="argument test"]]
[[!haiku hint="argument test"]]
The hint parameter can be omitted, it only provides the generator a hint of
what to write the haiku about. If no hint is given, it might base it on the

View File

@ -1,5 +1,5 @@
[[template id=plugin name=hnb author="[[XTaran]]"]]
[[tag type/format type/slow]]
[[!template id=plugin name=hnb author="[[XTaran]]"]]
[[!tag type/format type/slow]]
This plugin allows ikiwiki to process `.hnb` XML files, as created by
the Hierachical Notebook [hnb](http://hnb.sourceforge.net/). To use it, you need to have

View File

@ -1,5 +1,5 @@
[[template id=plugin name=html author="[[Joey]]"]]
[[tag type/html type/format]]
[[!template id=plugin name=html author="[[Joey]]"]]
[[!tag type/html type/format]]
This plugin lets html pages be used as source pages for the wiki. The
html pages will still be wrapped in the same html template as any other

View File

@ -1,5 +1,5 @@
[[template id=plugin name=htmlscrubber core=1 author="[[Joey]]"]]
[[tag type/html]]
[[!template id=plugin name=htmlscrubber core=1 author="[[Joey]]"]]
[[!tag type/html]]
This plugin is enabled by default. It sanitizes the html on pages it renders
to avoid XSS attacks and the like.
@ -13,7 +13,7 @@ All attributes that can be used to specify an url are checked to make sure
that the url is in a known, safe scheme, and to block embedded javascript
in such urls.
It uses the [[cpan HTML::Scrubber]] perl module to perform its html
It uses the [[!cpan HTML::Scrubber]] perl module to perform its html
sanitisation, and this perl module also deals with various entity encoding
tricks.

View File

@ -1,6 +1,6 @@
[[template id=plugin name=htmltidy author="Faidon Liambotis"]]
[[tag type/html]]
[[tag type/slow]]
[[!template id=plugin name=htmltidy author="Faidon Liambotis"]]
[[!tag type/html]]
[[!tag type/slow]]
This plugin uses [tidy](http://tidy.sourceforge.net/) to tidy up the html
emitted by ikiwiki. Besides being nicely formatted, this helps ensure that

View File

@ -1,5 +1,5 @@
[[template id=plugin name=httpauth author="Alec Berryman"]]
[[tag type/auth]]
[[!template id=plugin name=httpauth author="Alec Berryman"]]
[[!tag type/auth]]
This plugin allows HTTP basic authentication to be used to log into the
wiki. To use the plugin, your web server should be set up to perform HTTP

View File

@ -1,5 +1,5 @@
[[template id=plugin name=img author="Christian Mock"]]
[[tag type/chrome]]
[[!template id=plugin name=img author="Christian Mock"]]
[[!tag type/chrome]]
This is an image handling plugin. While ikiwiki supports inlining full-size
images by making a [[ikiwiki/WikiLink]] that points to the image, using

View File

@ -1,4 +1,4 @@
[[template id=plugin name=inline core=1 author="[[Joey]]"]]
[[!template id=plugin name=inline core=1 author="[[Joey]]"]]
This is a [[ikiwiki/PreProcessorDirective]] that allows including one wiki page
inside another. For example:

View File

@ -1,4 +1,4 @@
[[meta title="Installing third party plugins"]]
[[!meta title="Installing third party plugins"]]
Most ikiwiki plugins are perl modules and should be installed somewhere in
the perl module search path. See the @INC list at the end of the output of

View File

@ -1,4 +1,4 @@
[[template id=plugin name=link core=1 author="[[Joey]]"]]
[[tag type/link]]
[[!template id=plugin name=link core=1 author="[[Joey]]"]]
[[!tag type/link]]
This plugin implements standard [[WikiLinks|WikiLink]].

View File

@ -1,6 +1,6 @@
[[template id=plugin name=linkmap author="[[Joey]]"]]
[[tag type/meta]]
[[tag type/slow]]
[[!template id=plugin name=linkmap author="[[Joey]]"]]
[[!tag type/meta]]
[[!tag type/slow]]
This plugin uses [graphviz](http://www.graphviz.org/) to generate a graph showing the links between a
set of pages in the wiki. Example usage:
@ -22,8 +22,8 @@ directive:
in inches. Both must be specified for the limiting to take effect, otherwise
the map's size is not limited.
[[if test="enabled(linkmap)" then="""
[[!if test="enabled(linkmap)" then="""
Here is an example link map, of the index page and all pages it links to:
[[linkmap pages="index or (backlink(index) and !*.png)"]]
[[!linkmap pages="index or (backlink(index) and !*.png)"]]
"""]]

View File

@ -1,4 +1,4 @@
[[template id=plugin name=lockedit core=1 author="[[Joey]]"]]
[[tag type/auth]]
[[!template id=plugin name=lockedit core=1 author="[[Joey]]"]]
[[!tag type/auth]]
This plugin enables [[page_locking]]. It is enabled by default.

View File

@ -1,7 +1,7 @@
[[template id=plugin name=map author="Alessandro Dotti Contra"]]
[[tag type/meta]]
[[!template id=plugin name=map author="Alessandro Dotti Contra"]]
[[!tag type/meta]]
[[meta description="some page description"]]
[[!meta description="some page description"]]
This plugin generates a hierarchical page map for the wiki. Example usage:
@ -19,7 +19,7 @@ the [[meta]] plugin). For example:
Hint: To limit the map to displaying pages less than a certain level deep,
use a [[ikiwiki/PageSpec]] like this: `pages="* and !*/*/*"`
[[if test="enabled(map)" then="""
[[!if test="enabled(map)" then="""
Here's an example map, for the plugins section of this wiki:
[[!map pages="(plugins or plugins/*) and !*/*/*"]]

View File

@ -16,5 +16,5 @@ Thoughts, anyone? --[[KarlMW]]
We'd also very much like to have an option to display the title of the page instead of the filename in the map plugin. --Andrew
There's a patch implementing this in [[debbug 484510]]. It needs a few fixes
There's a patch implementing this in [[!debbug 484510]]. It needs a few fixes
before I merge it. Now applied. --[[Joey]]

View File

@ -1,5 +1,5 @@
[[template id=plugin name=mdwn core=1 author="[[Joey]]"]]
[[tag type/format]]
[[!template id=plugin name=mdwn core=1 author="[[Joey]]"]]
[[!tag type/format]]
This plugin lets ikwiki convert files with names ending in ".mdwn" to html.
It uses the [[ikiwiki/markdown]] minimal markup language.
@ -10,9 +10,9 @@ are also available in other plugins.
There are several implementations of markdown support that can be used by
this plugin. The [original version of
markdown](http://daringfireball.net/projects/markdown/) can be used, or the
[[cpan Text::Markdown]] perl module.
[[!cpan Text::Markdown]] perl module.
[[cpan Text::Markdown]] also includes a markdown variant called
[[!cpan Text::Markdown]] also includes a markdown variant called
[multimarkdown](http://fletcherpenney.net/MultiMarkdown/), which supports
tables, footnotes, and other new features. Multimarkdown is not enabled by
default, but can be turned on via the `multimarkdown` option in the setup

View File

@ -1,5 +1,5 @@
[[template id=plugin name=meta author="[[Joey]]"]]
[[tag type/meta]]
[[!template id=plugin name=meta author="[[Joey]]"]]
[[!tag type/meta]]
This plugin allows inserting arbitrary metadata into the source of a page.
Enter the metadata as follows:
@ -55,7 +55,7 @@ Supported fields:
* date
Specifies the creation date of the page. The date can be entered in
nearly any format, since it's parsed by [[cpan TimeDate]].
nearly any format, since it's parsed by [[!cpan TimeDate]].
* stylesheet

View File

@ -1,5 +1,5 @@
[[template id=plugin name=mirror author="[[Joey]]"]]
[[tag type/special-purpose]]
[[!template id=plugin name=mirror author="[[Joey]]"]]
[[!tag type/special-purpose]]
This plugin allows adding links a list of mirrors to each page in the
wiki. For each mirror, a name and an url should be specified. Pages are

View File

@ -1,5 +1,5 @@
[[template id=plugin name=more author="Ben"]]
[[tag type/format]]
[[!template id=plugin name=more author="Ben"]]
[[!tag type/format]]
This plugin provides a way to have a "more" link on a page in a blog, that
leads to the full version of the page. Use it like this:

View File

@ -1,5 +1,5 @@
[[template id=plugin name=opendiscussion author="[[Joey]]"]]
[[tag type/auth]]
[[!template id=plugin name=opendiscussion author="[[Joey]]"]]
[[!tag type/auth]]
This plugin allows editing of Discussion pages by anonymous users who have
not logged into the wiki.

View File

@ -1,12 +1,12 @@
[[template id=plugin name=openid core=1 author="[[Joey]]"]]
[[tag type/auth]]
[[!template id=plugin name=openid core=1 author="[[Joey]]"]]
[[!tag type/auth]]
This plugin allows users to use their [OpenID](http://openid.net/) to log
into the wiki.
The plugin needs the [[cpan Net::OpenID::Consumer]] perl module. The
[[cpan LWPx::ParanoidAgent]] perl module is used if available, for added
security. Finally, the [[cpan Crypt::SSLeay]] perl module is needed to support
The plugin needs the [[!cpan Net::OpenID::Consumer]] perl module. The
[[!cpan LWPx::ParanoidAgent]] perl module is used if available, for added
security. Finally, the [[!cpan Crypt::SSLeay]] perl module is needed to support
users entering "https" OpenID urls.
This plugin has a configuration option. You can set `--openidsignup`

View File

@ -1,5 +1,5 @@
[[template id=plugin name=orphans author="[[Joey]]"]]
[[tag type/meta]]
[[!template id=plugin name=orphans author="[[Joey]]"]]
[[!tag type/meta]]
This plugin generates a list of possibly orphaned pages -- pages that no
other page links to.
@ -11,10 +11,10 @@ Note that it takes [[BackLinks]] into account, but does not count inlining a
page as linking to it, so will generally count many blog-type pages as
orphans.
[[if test="enabled(orphans)" then="""
[[!if test="enabled(orphans)" then="""
Here's a list of orphaned pages on this wiki:
[[orphans pages="* and !news/* and !todo/* and !bugs/* and !users/* and
[[!orphans pages="* and !news/* and !todo/* and !bugs/* and !users/* and
!recentchanges and !examples/* and !tips/* and !sandbox/* and !templates/* and
!wikiicons/* and !plugins/*"]]
"""]]

View File

@ -1,5 +1,5 @@
[[template id=plugin name=otl author="[[Joey]]"]]
[[tag type/format]]
[[!template id=plugin name=otl author="[[Joey]]"]]
[[!tag type/format]]
This plugin allows ikiwiki to process `.otl` outline files, as created by
[vimoutliner](http://www.vimoutliner.org/). To use it, you need to have

View File

@ -1,5 +1,5 @@
[[template id=plugin name=pagecount author="[[Joey]]"]]
[[tag type/meta]]
[[!template id=plugin name=pagecount author="[[Joey]]"]]
[[!tag type/meta]]
Provides a \\[[pagecount ]] [[ikiwiki/PreProcessorDirective]] that is
replaced with the total number of pages currently in the wiki.
@ -10,5 +10,5 @@ pages to count, default is to count them all.
This plugin is included in ikiwiki, but is not enabled by default.
If it is turned on it can tell us that this wiki includes
[[pagecount pages="* and !recentchanges"]]
pages, of which [[pagecount pages="*/Discussion"]] are discussion pages.
[[!pagecount pages="* and !recentchanges"]]
pages, of which [[!pagecount pages="*/Discussion"]] are discussion pages.

View File

@ -1,5 +1,5 @@
[[template id=plugin name=pagestats author="Enrico Zini"]]
[[tag type/meta type/tags]]
[[!template id=plugin name=pagestats author="Enrico Zini"]]
[[!tag type/meta type/tags]]
This plugin can generate stats about how pages link to each other. It can
produce either a del.icio.us style cloud, or a table counting the number of

View File

@ -1,5 +1,5 @@
[[template id=plugin name=pagetemplate author="[[Joey]]"]]
[[tag type/chrome]]
[[!template id=plugin name=pagetemplate author="[[Joey]]"]]
[[!tag type/chrome]]
This plugin allows a page to be created using a different
[[template|wikitemplates]]. The page text is inserted into the template, so

View File

@ -1,5 +1,5 @@
[[template id=plugin name=passwordauth core=1 author="[[Joey]]"]]
[[tag type/auth]]
[[!template id=plugin name=passwordauth core=1 author="[[Joey]]"]]
[[!tag type/auth]]
This plugin lets ikiwiki prompt for a user name and password when logging
into the wiki. It also handles registering users, resetting passwords, and
@ -18,7 +18,7 @@ as an "ask an existing member to get an account" system.)
Users' passwords are stored in the `.ikiwiki/userdb` file, which needs to
be kept safe to prevent exposure of passwords. If the
[[cpan Authen::Passphrase]] perl module is installed, only hashes of the
[[!cpan Authen::Passphrase]] perl module is installed, only hashes of the
passwords will be stored. This is strongly recommended.
The `password_cost` configuration option can be used to make the stored

View File

@ -1,5 +1,5 @@
[[template id=plugin name=pingee author="[[Joey]]"]]
[[tag type/special-purpose]]
[[!template id=plugin name=pingee author="[[Joey]]"]]
[[!tag type/special-purpose]]
This plugin causes ikiwiki to listen for pings, typically delivered from
another ikiwiki instance using the [[pinger]] plugin. When a ping is

View File

@ -1,5 +1,5 @@
[[template id=plugin name=pinger author="[[Joey]]"]]
[[tag type/special-purpose]]
[[!template id=plugin name=pinger author="[[Joey]]"]]
[[!tag type/special-purpose]]
This plugin allows ikiwiki to be configured to hit a URL each time it
updates the wiki. One way to use this is in conjunction with the [[pingee]]
@ -16,9 +16,9 @@ the pinging. This is used to prevent ping loops.
The "to" parameter is the url to ping. The example shows how to ping
another ikiwiki instance.
The [[cpan LWP]] perl module is used for pinging. Or the [[cpan
The [[!cpan LWP]] perl module is used for pinging. Or the [[!cpan
LWPx::ParanoidAgent]] perl module is used if available, for added security.
Finally, the [[cpan Crypt::SSLeay]] perl module is needed to support pinging
Finally, the [[!cpan Crypt::SSLeay]] perl module is needed to support pinging
"https" urls.
By default the pinger will try to ping a site for 15 seconds before timing

View File

@ -1,5 +1,5 @@
[[template id=plugin name=poll author="[[Joey]]"]]
[[tag type/useful]]
[[!template id=plugin name=poll author="[[Joey]]"]]
[[!tag type/useful]]
This plugin allows you to create online polls in the wiki. Here's an
example use:

View File

@ -1,5 +1,5 @@
[[template id=plugin name=polygen author="Enrico Zini"]]
[[tag type/fun]]
[[!template id=plugin name=polygen author="Enrico Zini"]]
[[!tag type/fun]]
This plugin allows inserting text generated by polygen into a wiki page.
For example:
@ -9,21 +9,21 @@ For example:
It's also possible to specify a starting nonterminal for the grammar by
including `symbol="text"` in the directive.
[[if test="enabled(polygen)" then="""
[[!if test="enabled(polygen)" then="""
----
Here are a few notes about ikiwiki, courtesy of polygen:
Ikiwiki is internally based on a [[polygen grammar="designpatterns"]]
coupled to a [[polygen grammar="designpatterns"]], as described in
"[[polygen grammar="paper"]]" by [[polygen grammar="nipponame"]] of
[[polygen grammar="boyband"]].
Ikiwiki is internally based on a [[!polygen grammar="designpatterns"]]
coupled to a [[!polygen grammar="designpatterns"]], as described in
"[[!polygen grammar="paper"]]" by [[!polygen grammar="nipponame"]] of
[[!polygen grammar="boyband"]].
Ikiwiki reviews:
<ul>
<li>[[polygen grammar="reviews"]]</li>
<li>[[polygen grammar="reviews"]]</li>
<li>[[polygen grammar="reviews"]]</li>
<li>[[!polygen grammar="reviews"]]</li>
<li>[[!polygen grammar="reviews"]]</li>
<li>[[!polygen grammar="reviews"]]</li>
</ul>
"""]]

View File

@ -1,5 +1,5 @@
[[template id=plugin name=postsparkline author="[[Joey]]"]]
[[tag type/chrome]]
[[!template id=plugin name=postsparkline author="[[Joey]]"]]
[[!tag type/chrome]]
This plugin uses the [[sparkline]] plugin to create a sparkline of
statistics about a set of pages, such as posts to a blog.

View File

@ -1,5 +1,5 @@
[[template id=plugin name=prettydate author="[[Joey]]"]]
[[tag type/format]]
[[!template id=plugin name=prettydate author="[[Joey]]"]]
[[!tag type/format]]
Enabling this plugin changes the dates displayed on pages in the wiki to
a format that is nice and easy to read. Examples: "late Wednesday evening,
@ -16,4 +16,4 @@ The format used for the date can be customised using the `prettydateformat`
configuration variable in the setup file. `%X` will be expanded to the
prettified time value. The default prettydateformat is `"%X, %B %o, %Y"`.
This plugin uses the [[cpan TimeDate]] perl module.
This plugin uses the [[!cpan TimeDate]] perl module.

View File

@ -1,5 +1,5 @@
[[template id=plugin name=rawhtml author="[[Joey]]"]]
[[tag type/html type/format]]
[[!template id=plugin name=rawhtml author="[[Joey]]"]]
[[!tag type/html type/format]]
This plugin changes how ikiwiki handles html files, making it treat html
or xhtml files not as source files but as data files that are copied

View File

@ -1,4 +1,4 @@
[[template id=plugin name=recentchanges core=1 author="[[Joey]]"]]
[[!template id=plugin name=recentchanges core=1 author="[[Joey]]"]]
This plugin examines the [[revision_control_system|rcs]] history and
generates a page describing each recent change made to the wiki. These

View File

@ -1,4 +1,4 @@
[[template id=plugin name=recentchangesdiff core=0 author="[[Joey]]"]]
[[!template id=plugin name=recentchangesdiff core=0 author="[[Joey]]"]]
This plugin extends the [[recentchanges]] plugin, adding a diff for each
change. The diffs are by default hidden from display on the recentchanges

View File

@ -1,9 +1,9 @@
[[template id=plugin name=rst author="martin f. krafft"]]
[[tag type/format]]
[[!template id=plugin name=rst author="martin f. krafft"]]
[[!tag type/format]]
This plugin lets ikwiki convert files with names ending in ".rst" to html.
It uses the [reStructuredText](http://docutils.sourceforge.net/rst.html)
markup syntax. You need to have [[cpan RPC::XML]], python and the
markup syntax. You need to have [[!cpan RPC::XML]], python and the
python-docutils module installed to use it.
Note that this plugin does not interoperate very well with the rest of

View File

@ -1,10 +1,10 @@
[[template id=plugin name=search author="[[Joey]]"]]
[[tag type/useful]]
[[!template id=plugin name=search author="[[Joey]]"]]
[[!tag type/useful]]
This plugin adds full text search to ikiwiki, using the
[xapian](http://xapian.org/) engine, its
[omega](http://xapian.org/docs/omega/overview.html) frontend, and the
[[cpan Search::Xapian]], [[cpan Digest::SHA1]], and [[cpan HTML::Scrubber]]
[[!cpan Search::Xapian]], [[!cpan Digest::SHA1]], and [[!cpan HTML::Scrubber]]
perl modules.
The [[ikiwiki/searching]] page describes how to write search queries.

View File

@ -1,5 +1,5 @@
[[template id=plugin name=shortcut author="[[Joey]]"]]
[[tag type/format]]
[[!template id=plugin name=shortcut author="[[Joey]]"]]
[[!tag type/format]]
This plugin allows external links to commonly linked to sites to be made
more easily using shortcuts.

View File

@ -1,5 +1,5 @@
[[template id=plugin name=sidebar author="Tuomo Valkonen"]]
[[tag type/chrome]]
[[!template id=plugin name=sidebar author="Tuomo Valkonen"]]
[[!tag type/chrome]]
If this plugin is enabled, then a sidebar is added to pages in the wiki.
The content of the sidebar is simply the content of a page named

View File

@ -1,5 +1,5 @@
[[template id=plugin name=signinedit core=1 author="[[Joey]]"]]
[[tag type/auth]]
[[!template id=plugin name=signinedit core=1 author="[[Joey]]"]]
[[!tag type/auth]]
This plugin, which is enabled by default, requires users be logged in
before editing pages in the wiki.

View File

@ -1,5 +1,5 @@
[[template id=plugin name=smiley author="[[Joey]]"]]
[[tag type/chrome]]
[[!template id=plugin name=smiley author="[[Joey]]"]]
[[!tag type/chrome]]
This plugin makes it easy to insert smileys and other special symbols into
pages in the wiki. The symbols are all listed on the [[smileys]] page,

View File

@ -1,5 +1,5 @@
[[template id=plugin name=sparkline author="[[Joey]]"]]
[[tag type/chrome]]
[[!template id=plugin name=sparkline author="[[Joey]]"]]
[[!tag type/chrome]]
This plugin allows for easily embedding sparklines into wiki pages. A
sparkline is a small word-size graphic chart, that is designed to be
@ -15,12 +15,12 @@ to use the plugin, you will need:
php can find it when `sparkline/Sparkline.php` is required.
* The GD PHP module used by the Sparkline library.
* A "php" program in the path, that can run standalone php programs.
* [[cpan Digest::SHA1]]
* [[!cpan Digest::SHA1]]
On a Debian system, this can be accomplished by installing these packages:
`libsparkline-php` `php5-gd` `php5-cli` `libdigest-sha1-perl`
This plugin also uses the [[cpan Digest::SHA1]] perl module.
This plugin also uses the [[!cpan Digest::SHA1]] perl module.
# examples
@ -28,8 +28,8 @@ This plugin also uses the [[cpan Digest::SHA1]] perl module.
featurepoint="4,-3,red,3" featurepoint="5,10,green,3"]]
This creates a simple line graph, graphing several points.
[[if test="enabled(sparkline)" then="""
[[sparkline 1 3 5 -3 10 0 width=40 height=16
[[!if test="enabled(sparkline)" then="""
[[!sparkline 1 3 5 -3 10 0 width=40 height=16
featurepoint="4,-3,red,3" featurepoint="5,10,green,3"]]
"""]]
It will be drawn 40 pixels wide and 16 pixels high. The high point in the
@ -39,8 +39,8 @@ line has a green marker, and the low point has a red marker.
barspacing=1 height=13]]
This more complex example generates a bar graph.
[[if test="enabled(sparkline)" then="""
[[sparkline 1 -1(red) 1 -1(red) 1 1 1 -1(red) -1(red)
[[!if test="enabled(sparkline)" then="""
[[!sparkline 1 -1(red) 1 -1(red) 1 1 1 -1(red) -1(red)
style=bar barwidth=2 barspacing=1 height=13]]
"""]]
The bars are 2 pixels wide, and separated by one pixel, and the graph is 13

View File

@ -1,10 +1,10 @@
[[template id=plugin name=table author="[[VictorMoral]]"]]
[[tag type/format]]
[[!template id=plugin name=table author="[[VictorMoral]]"]]
[[!tag type/format]]
This plugin can build HTML tables from data in CSV (comma-separated values)
or DSV (delimiter-separated values) format.
It needs the perl module [[cpan Text::CSV]] for the CSV data.
It needs the perl module [[!cpan Text::CSV]] for the CSV data.
## examples

View File

@ -1,5 +1,5 @@
[[template id=plugin name=tag author="[[Joey]]"]]
[[tag type/tags type/link]]
[[!template id=plugin name=tag author="[[Joey]]"]]
[[!tag type/tags type/link]]
This plugin allows tagging pages. List tags as follows:
@ -24,7 +24,7 @@ tags/tech, tags/life, and tags/linux. This is a useful way to avoid
having to write the full path to tags, if you want to keep them grouped
together out of the way.
[[if test="enabled(tag)" then="""
[[!if test="enabled(tag)" then="""
This wiki has the tag plugin enabled, so you'll see a note below that this
page is tagged with the "tags" tag.
"""]]

View File

@ -1,5 +1,5 @@
[[template id=plugin name=template author="[[Joey]]"]]
[[tag type/format]]
[[!template id=plugin name=template author="[[Joey]]"]]
[[!tag type/format]]
With this plugin, you can set up templates, and cause them to be filled out
and inserted into pages in the wiki. It's documented and existing templates

View File

@ -1,5 +1,5 @@
[[template id=plugin name=testpagespec author="[[Joey]]"]]
[[tag type/useful]]
[[!template id=plugin name=testpagespec author="[[Joey]]"]]
[[!tag type/useful]]
This plugin allows testing a [[ikiwiki/PageSpec]] to see if it matches a
page, and to see the part that matches, or causes the match to fail.

View File

@ -1,5 +1,5 @@
[[template id=plugin name=teximg author="[[PatrickWinnertz]]"]]
[[tag type/chrome type/slow]]
[[!template id=plugin name=teximg author="[[PatrickWinnertz]]"]]
[[!tag type/chrome type/slow]]
This plugin renders LaTeX formulas into images.

View File

@ -1,6 +1,6 @@
[[template id=plugin name=syntax author="mazirian"]]
[[tag type/format]]
[[!template id=plugin name=syntax author="mazirian"]]
[[!tag type/format]]
Textile is a versatile markup language. So here's a plugin that will use the
Textile markup language to render .txtl files in your data directory.
You must have [[cpan Text::Textile]] installed for it to work.
You must have [[!cpan Text::Textile]] installed for it to work.

View File

@ -1,5 +1,5 @@
[[template id=plugin name=toc author="[[Joey]]"]]
[[tag type/chrome]]
[[!template id=plugin name=toc author="[[Joey]]"]]
[[!tag type/chrome]]
Add a table of contents to a page:

View File

@ -1,5 +1,5 @@
[[template id=plugin name=toggle author="[[Joey]]"]]
[[tag type/chrome]]
[[!template id=plugin name=toggle author="[[Joey]]"]]
[[!tag type/chrome]]
With this plugin you can create links on pages that, when clicked, toggle
display of other parts of the page.

View File

@ -1,5 +1,5 @@
[[template id=plugin name=txt author="[[Gabriel]]"]]
[[tag type/format]]
[[!template id=plugin name=txt author="[[Gabriel]]"]]
[[!tag type/format]]
This plugin makes ikiwiki treat files with names ending in ".txt"
as wiki pages.
@ -10,5 +10,5 @@ with html markup characters such as ">" escaped.
The only exceptions are that [[WikiLinks|WikiLink]] and
[[PreprocessorDirectives|PreprocessorDirective]] are still expanded by
ikiwiki, and that, if the [[cpan URI::Find]] perl module is installed, URLs
ikiwiki, and that, if the [[!cpan URI::Find]] perl module is installed, URLs
in the txt file are converted to hyperlinks.

View File

@ -1,12 +1,12 @@
[[template id=plugin name=typography author="[[Roktas]]"]]
[[tag type/format]]
[[!template id=plugin name=typography author="[[Roktas]]"]]
[[!tag type/format]]
This plugin, also known as
[SmartyPants](http://daringfireball.net/projects/smartypants/), translates
plain ASCII punctuation characters into ``smart'' typographic punctuation HTML
entities. To use it, you need to have the [[cpan Text::Typography]] module
entities. To use it, you need to have the [[!cpan Text::Typography]] module
installed.
This plugin has a configuration option. To change the attributes,
set `--typographyattributes=whatever`. See the documentation for
[[cpan Text::Typography]] for available attributes.
[[!cpan Text::Typography]] for available attributes.

View File

@ -1,5 +1,5 @@
[[template id=plugin name=version author="[[Joey]]"]]
[[tag type/useful]]
[[!template id=plugin name=version author="[[Joey]]"]]
[[!tag type/useful]]
This plugin allows inserting the version of ikiwiki onto a page.

View File

@ -1,8 +1,8 @@
[[template id=plugin name=wikitext author="[[Joey]]"]]
[[tag type/format]]
[[!template id=plugin name=wikitext author="[[Joey]]"]]
[[!tag type/format]]
This plugin allows ikiwiki to process pages written in the original wiki
text format. To use it, you need to have the [[cpan Text::WikiFormat]] perl
text format. To use it, you need to have the [[!cpan Text::WikiFormat]] perl
module installed, enable the plugin, then files with the extention `.wiki`
will be processed as wiki text.

View File

@ -3,7 +3,7 @@ written to extend ikiwiki in many ways. Despite the length of this page,
it's not really hard. This page is a complete reference to everything a
plugin might want to do. There is also a quick [[tutorial]].
[[toc levels=2]]
[[!toc levels=2]]
## Types of plugins
@ -189,7 +189,7 @@ ikiwiki, like generating a page, or part of a blog page, or an rss feed, or
a cgi. This hook allows modifying the variables available on those
templates. The function is passed named parameters. The "page" and
"destpage" parameters are the same as for a preprocess hook. The "template"
parameter is a [[cpan HTML::Template]] object that is the template that
parameter is a [[!cpan HTML::Template]] object that is the template that
will be used to generate the page. The function can manipulate that
template object.
@ -325,7 +325,7 @@ It can modify the content as desired, and should return the content.
hook(type => "formbuilder_setup", id => "foo", call => \&formbuilder_setup);
hook(type => "formbuilder", id => "foo", call => \&formbuilder);
These hooks allow tapping into the parts of ikiwiki that use [[cpan
These hooks allow tapping into the parts of ikiwiki that use [[!cpan
CGI::FormBuilder]] to generate web forms. These hooks are passed named
parameters: `cgi`, `session`, `form`, and `buttons`. These are, respectively,
the `CGI` object, the user's `CGI::Session`, a `CGI::FormBuilder`, and a
@ -433,7 +433,7 @@ the entire wiki build and make the wiki unusable.
#### `template($;@)`
Creates and returns a [[cpan HTML::Template]] object. The first parameter
Creates and returns a [[!cpan HTML::Template]] object. The first parameter
is the name of the file in the template directory. The optional remaining
parameters are passed to `HTML::Template->new`.

View File

@ -13,7 +13,7 @@ easier you can do the same thing in your favorite language. ;-)
There's now a second external plugin, the [[rst]] plugin, written in
python. It uses a `proxy.py`, a helper library for ikiwiki python plugins.
[[toc ]]
[[!toc ]]
## How external plugins use XML RPC
@ -85,7 +85,7 @@ language as part of their XML RPC interface.
XML RPC has a limitation that it does not have a way to pass
undef/NULL/None. There is an extension to the protocol that supports this,
but it is not yet available in the [[cpan XML::RPC]] library used by
but it is not yet available in the [[!cpan XML::RPC]] library used by
ikiwiki.
Until the extension is available, ikiwiki allows undef to be communicated

View File

@ -5,7 +5,7 @@ What should the plugin do? Let's make it calculate and output the Fibonacci
sequence. To output the next number in the sequence, all a user has to do
is write this on a wiki page:
[[fib ]]
[[!fib ]]
When the page is built, the [[ikiwiki/PreProcessorDirective]] will be
replaced by the next number in the sequence.
@ -44,7 +44,7 @@ that "fib" has shown up again. It doesn't actually have to match the module
name this time, but it generally will. This "fib" is telling ikiwiki what
kind of PreprocessorDirective to handle, namely one that looks like this:
[[fib ]]
[[!fib ]]
Notice the `\&preprocess`? This is how you pass a reference to a function,
and the `preprocess` function is the one that ikiwiki will call to expand
@ -98,7 +98,7 @@ And let's change the `preprocess` sub to use it:
Feel free to try it out with a simple page like this:
[[fib ]], [[fib ]], [[fib ]], [[fib ]], [[fib ]]
[[!fib ]], [[!fib ]], [[!fib ]], [[!fib ]], [[!fib ]]
Looks like it works ok, doesn't it? That creates a page that lists:
@ -139,7 +139,7 @@ Ok, one more enhancement. Just incrementing the numbers is pretty boring.
It would be nice to be able to jump directly to a given point in the
sequence:
\[[fib seed=20]], [[fib ]], [[fib ]]
\[[fib seed=20]], [[!fib ]], [[!fib ]]
Just insert these lines of code inside `preprocess`, in the appropriate
spot: