Difference between revisions of "Template:Tree"
| Line 3: | Line 3: | ||
* Second parameter: Delimiter used to separate each application of the template; default is comma+space | * 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) | * ''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 indicates no more children) | + | * ''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 | * ''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|}}} | ||
| + | | {{#if:{{{skip root|}}} | ||
| + | | {{Tree/Children|{{{2|, }}}|| | ||
| + | | current parent={{{1}}} | ||
| + | | current child={{{{{children}}}|{{{1}}}|1}} | ||
| + | | depth=1 | ||
| + | | index=1 | ||
| + | | template={{{template}}} | ||
| + | | children={{{children}}} | ||
| + | }} | ||
| {{Tree/Subtree|{{{2|, }}}|| | | {{Tree/Subtree|{{{2|, }}}|| | ||
| − | | | + | | current parent={{{1}}} |
| − | |||
| depth=1 | | depth=1 | ||
| − | | | + | | index=1 |
| − | | template={{{template | + | | template={{{template}}} |
| − | | children={{{children | + | | children={{{children}}} |
}} | }} | ||
| − | }}</includeonly> | + | }}}}</includeonly> |
Revision as of 21:43, 15 June 2015
Apply a template to a string, and then recursively apply this function 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