WebMake
WebMake Documentation (version 2.2)

navtree.wmk


LOADING

  < use plugin="navtree" />
                                    

WEBMAKE TAGS

  < navtree name=... sitemap=...
        opennode=... closednode=...
        thisnode=... thisleaf=...
        leaf=... depth=... />
                                    

DESCRIPTION

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).


ATTRIBUTES

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.


VARIABLES

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

Thanks to Jan Hudec &lt;bulb /at/ ucw.cz&gt;, who provided this tag.

WebMake Documentation (version 2.2)
Built With WebMake