Difference between revisions of "Template:Tree"
| Line 6: | Line 6: | ||
* ''skip root'': Whether the root of the tree should be skipped; if so, the root's children have depth 1 | * ''skip root'': Whether the root of the tree should be skipped; if so, the root's children have depth 1 | ||
</noinclude><includeonly>{{#if:{{{1|}}} | </noinclude><includeonly>{{#if:{{{1|}}} | ||
| + | | {{#ifexist:{{{children}}} | ||
| {{#if:{{{skip root|}}} | | {{#if:{{{skip root|}}} | ||
| {{Tree/Children|{{{2|, }}}|| | | {{Tree/Children|{{{2|, }}}|| | ||
| Line 22: | Line 23: | ||
| children={{{children}}} | | children={{{children}}} | ||
}} | }} | ||
| + | }} | ||
| + | | {{#if:skiproot||{{{{{template}}}|{{{1}}}|depth=1|index=1}}}} | ||
}}}}</includeonly> | }}}}</includeonly> | ||
Revision as of 06:20, 16 June 2015
Apply a template to a string, and then recursively apply this template to each "child", as defined by a function.
- First parameter: Root of the tree
- Second parameter: Delimiter used to separate each application of the template; default is comma+space
- template: Template to apply to each node (first parameter is the node; depth and index are the tree coordinates, 1-based)
- children: Function mapping a parent to children (first parameter is the node; second parameter is the requested index, 1-based; empty result indicates no more children)
- skip root: Whether the root of the tree should be skipped; if so, the root's children have depth 1