navtree.wmk
<use plugin="navtree" />
<navtree name=... sitemap=...
opennode=... closednode=...
thisnode=... thisleaf=...
leaf=... depth=... />
This WebMake plugin provides the navtree tag.
navtree operates similarly to the sitetree tag, but displays only a
subset of all the site's nodes; it will map all of the top-level nodes of the
site, the parent nodes of the current page, their direct children, and the
current page plus it's children up to depth depth . The effect is similar to
a tree-view-based file browser, like Windows Explorer.
This differs from the sitetree tag in that sitetree does not support
displaying the current page's children.
So, for a site like this:
-
+ Section 1
-
-
+ Section 1 Subsection 1
-
-
+ Section 1 Subsection 2
-
+ Section 2
+ Section 2 Subsection 1
+ Section 2 Subsection 2
A reference to the site tree on page Section 1 would result in
a site tree like this:
-
- Main Page
-
-
- Section 1
-
-
+ Section 2
-
Display of each page's entry in the tree is performed by expanding one of the 5
template content items named in the tag's attributes: closednode ,
opennode , thisnode , thisleaf or leaf . See the sitemap tag
documentation for more details on how to use these (note however that the
is_node variable is not available for sitetrees).
-
name
-
The name of the sitetree object. To include a sitetree in a page, refer to it
using this name, as a deferred reference.
-
sitemap
-
The name of the sitemap. The sitetree requires a sitemap, as the sitemap is
responsible for mapping out the site and defining which pages and content items
are included.
-
closednode
-
A content item which is evaluated to display a ''closed'' node, ie. a node
which is not on the path to the current page.
-
opennode
-
A content item which is evaluated to display an ''open'' node, one which is on
the path to the current page. As for the
sitemap tag's node attribute,
this content item must include a reference to the list variable, which will
contain all the entries for the pages beneath it in the hierarchy.
-
rootnode
-
A content item which is evaluated to display an ''open'' root node. It
defaults to
opennode if not specified. It may be used to generate
''multirooted'' tree (a forest). In that case you should create a dummy
root content (it upsets sitemap code if you dont have one single root) and
create rootnode template to output only the list with apropriate
decorations.
-
thisnode
-
A content item which is evaluated to display the current page if it is an
inner node, that is it has children. Iff
depth 0, thisnode must include
a reference to the list variable.
-
thisleaf
-
A content item which is evaluated to display the current page if it is a
leaf.
-
leaf
-
A content item which is evaluated to display a leaf-node page, one which has no
pages beneath it in the hierarchy.
-
depth
-
How many levels beneath the current page should be listed. 0 means none
(behavior of
sitetree tag). The default is 1 which means to list direct
children of the current node.
Following variables (content items) are defined for use in templates:
-
title
-
The
title metadatum of the node.
-
score
-
The
score metadatum of the node.
-
name
-
The name of the node.
-
url
-
The url of the node. Should be referenced using url reference (
$ (url) ).
-
level
-
The level of the node, that is how deep it is in the tree. Root node has
level 0, it's children 1, their children 2 and so on.
-
sublvl
-
The level under current page. This is similar to
level , except that
current page is considered root. -1 for nodes not descendant from current
page.
-
left
-
This is
depth above the current node and depth - sublvl for the
descendants of the current node.
-
is_leaf
-
This is 1 for leaf nodes and 0 for inner nodes (both closed and open).
-
list
-
This is the list of children, which should be output by open nodes.
Thanks to Jan Hudec <bulb /at/ ucw.cz>, who provided this tag.
|