Difference between revisions of "Template:Tree"

From Green Family Wiki
Jump to: navigation, search
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