[[!template id=plugin name=pedigree author="intrigeri"]]
[[!tag type/useful]]
This plugin offers a `HTML::Template` loop that iterates over all or
a subset of a page's parents, providing a few bonus possibilities,
such as styling the parent links depending on their place in the path.
One can think of pedigree as "`PARENTLINKS` on steroids".
[[!toc ]]
Content
=======
This plugin provides one template loop, called `PEDIGREE`, that
returns the same parents list as `PARENTLINKS` would; as a bonus,
every path element returned by the `PEDIGREE` loop has the following
variables set:
* `URL` (string): url to the current path element
* `PAGE` (string): title of the current path element
* `DEPTH` (positive integer): depth of the path leading to the
current path element, counting from the wiki's root, which has
`DEPTH=0`
* `HEIGHT` (positive integer): distance, expressed in path elements,
from the current page to the current path element; e.g. this is
1 for the current page's mother, 2 for its grand-mother, etc.
* `DEPTH_n` (boolean): true if, and only if, `DEPTH==n`
* `HEIGHT_n` (boolean): true if, and only if, `HEIGHT==n`
Usage
=====
The `DEPTH_n` and `HEIGHT_n` variables allow the template writer to
skip arbitrary elements in the parents list: they are arbitrary
page-range selectors.
The `DEPTH` and `HEIGHT` variables allow the template writer to apply
general treatment, depending on one of these variables, to *every*
parent: they are counters.
Styling parents depending on their depth
----------------------------------------
Say you want the parent links to be styled depending on their depth in
the path going from the wiki root to the current page; just add the
following lines in `page.tmpl`: