118b25554072c36d4d9652523ec15e0c5306101ceChirag Shah<?cs
218b25554072c36d4d9652523ec15e0c5306101ceChirag Shah
318b25554072c36d4d9652523ec15e0c5306101ceChirag Shah# walk the children pages and print them nested below the parent
418b25554072c36d4d9652523ec15e0c5306101ceChirag Shahpage: the node to insert a label, link and check for children
518b25554072c36d4d9652523ec15e0c5306101ceChirag Shahwhitespace: Whitespace to insert before any text in the structure, which helps
618b25554072c36d4d9652523ec15e0c5306101ceChirag Shah with nesting children on recursion.
718b25554072c36d4d9652523ec15e0c5306101ceChirag ShahisRoot: treat this node as if it has children and insert a section node.
818b25554072c36d4d9652523ec15e0c5306101ceChirag Shah
918b25554072c36d4d9652523ec15e0c5306101ceChirag Shah?><?cs
1018b25554072c36d4d9652523ec15e0c5306101ceChirag Shahdef:write_child_nodes(page,whitespace,isRoot) ?>
1118b25554072c36d4d9652523ec15e0c5306101ceChirag Shah<?cs var:whitespace ?>- title: "<?cs var:page.label ?>"
1218b25554072c36d4d9652523ec15e0c5306101ceChirag Shah<?cs var:whitespace ?>  path: <?cs var:page.link ?><?cs
1318b25554072c36d4d9652523ec15e0c5306101ceChirag Shah  if:subcount(page.children) || isRoot ?>
1418b25554072c36d4d9652523ec15e0c5306101ceChirag Shah<?cs var:whitespace ?>  section: <?cs
1518b25554072c36d4d9652523ec15e0c5306101ceChirag Shah /if?><?cs
1618b25554072c36d4d9652523ec15e0c5306101ceChirag Shah  each:child = page.children?>
1718b25554072c36d4d9652523ec15e0c5306101ceChirag Shah<?cs var:whitespace ?>  - title: "<?cs var:child.label ?>"
1818b25554072c36d4d9652523ec15e0c5306101ceChirag Shah<?cs var:whitespace ?>    path: <?cs var:child.link ?><?cs
1918b25554072c36d4d9652523ec15e0c5306101ceChirag Shah    if:subcount(child.children) ?>
2018b25554072c36d4d9652523ec15e0c5306101ceChirag Shah<?cs var:whitespace ?>    section:<?cs
2118b25554072c36d4d9652523ec15e0c5306101ceChirag Shah    call:write_child_nodes(child) ?><?cs
2218b25554072c36d4d9652523ec15e0c5306101ceChirag Shah    /if ?><?cs
2318b25554072c36d4d9652523ec15e0c5306101ceChirag Shah    /each ?><?cs
2418b25554072c36d4d9652523ec15e0c5306101ceChirag Shah/def ?><?cs
2518b25554072c36d4d9652523ec15e0c5306101ceChirag Shah
2618b25554072c36d4d9652523ec15e0c5306101ceChirag Shah
2718b25554072c36d4d9652523ec15e0c5306101ceChirag Shah
2818b25554072c36d4d9652523ec15e0c5306101ceChirag Shah# print out the yaml nav starting with the toc entry and using the first item,
2918b25554072c36d4d9652523ec15e0c5306101ceChirag Shahwhich is generally the package summary as the root element with the rest of the
3018b25554072c36d4d9652523ec15e0c5306101ceChirag Shahpages as children beneath the package summary.
3118b25554072c36d4d9652523ec15e0c5306101ceChirag Shah
3218b25554072c36d4d9652523ec15e0c5306101ceChirag Shah?>
3318b25554072c36d4d9652523ec15e0c5306101ceChirag Shahtoc:<?cs each:page = docs.pages?><?cs
3418b25554072c36d4d9652523ec15e0c5306101ceChirag Shah  if:page.type == "package"?><?cs
3518b25554072c36d4d9652523ec15e0c5306101ceChirag Shah  call:write_child_nodes(page,"",1) ?><?cs
3618b25554072c36d4d9652523ec15e0c5306101ceChirag Shah  else?>
3718b25554072c36d4d9652523ec15e0c5306101ceChirag Shah    <?cs
3818b25554072c36d4d9652523ec15e0c5306101ceChirag Shah    call:write_child_nodes(page,"  ",0) ?><?cs
3918b25554072c36d4d9652523ec15e0c5306101ceChirag Shah  /if?><?cs
4018b25554072c36d4d9652523ec15e0c5306101ceChirag Shah/each ?>
41