Available in a git repository branch.
Branch: smcv/trail
Author: smcv
Available from smcv's git repository, in the trail
branch. This
plugin aims to solve wikitrails in a simpler way.
Updated, June 2011:
removed
inline
integration for nowadded
<link>
tagsswitched from a custom data structure to using typed links
Plugin: trail
Author: Simon McVittie
Included in ikiwiki: no
Enabled by default: no
Included in goodstuff: no
Currently enabled: no
It's sometimes useful to have "trails" of pages in a wiki, as a guided tour, sequence of chapters etc. In this plugin, a trail is represented by a page, and the pages in the trail are indicated by specially marked links within that page.
If using the default page.tmpl
, each page automatically displays the
trails that it's a member of (if any), with links to the trail and to
the next and previous members. HTML <link>
tags with the prev
,
next
and up
relations are also generated.
The traillink
directive is used to record which pages
are in a trail, and simultaneously link to them. Alternatively, the
trailitem directive can be used to make an
invisible traillink
.
Directives
(These will go to the appropriate pages in directive if this plugin is included in ikiwiki.)
trailitem
The trailitem
directive is supplied by the trail
plugin. It is used like this:
[[!trailitem some_other_page]]
to add some_other_page
to the trail represented by this page, without
generating a visible hyperlink.
traillink
The traillink
directive is supplied by the trail
plugin. It generates a visible WikiLink, and also adds the linked page to
the trail represented by the page containing the directive.
In its simplest form, the first parameter is like the content of a WikiLink:
[[!traillink some_other_page]]
The displayed text can also be overridden, either with a |
symbol or with
a text
parameter:
[[!traillink Click_here_to_start_the_trail|some_other_page]]
[[!traillink some_other_page text="Click here to start the trail"]]
trailoptions
The trailoptions
directive is supplied by the trail
plugin. It sets options for the trail represented by this page. Example usage:
[[!trailoptions sort="meta(title)" circular="no"]]
The available options are:
sort
: sets a sorting order; if not specified, the items of the trail are ordered according to the first link to each item found on the trail pagecircular
: if set toyes
or1
, the trail is made into a loop by making the last page's "next" link point to the first page, and the first page's "previous" link point to the last page
Future directions
The current version of this plugin doesn't implement inline-based or otherwise PageSpec-based trails. This is difficult because there's a circular dependency:
adding typed links should happen before scanning has finished, to guarantee that they're available before the first page is rendered
evaluating pagespecs should only happen after scanning has finished, to guarantee that everything you might want to base a pagespec on (
meta
, etc.) has been gathered by scanning