1*feeed43cSAndroid Build Coastguard Worker <?cs 2*feeed43cSAndroid Build Coastguard Worker 3*feeed43cSAndroid Build Coastguard Worker # walk the children pages and print them nested below the parent 4*feeed43cSAndroid Build Coastguard Worker page: the node to insert a label, link and check for children 5*feeed43cSAndroid Build Coastguard Worker whitespace: Whitespace to insert before any text in the structure, which helps 6*feeed43cSAndroid Build Coastguard Worker with nesting children on recursion. 7*feeed43cSAndroid Build Coastguard Worker isRoot: treat this node as if it has children and insert a section node. 8*feeed43cSAndroid Build Coastguard Worker 9*feeed43cSAndroid Build Coastguard Worker ?><?cs 10*feeed43cSAndroid Build Coastguard Worker def:write_child_nodes(page,whitespace,isRoot) ?> 11*feeed43cSAndroid Build Coastguard Worker <?cs var:whitespace ?>- title: "<?cs var:page.label ?>" 12*feeed43cSAndroid Build Coastguard Worker <?cs var:whitespace ?> path: <?cs var:page.link ?><?cs 13*feeed43cSAndroid Build Coastguard Worker if:subcount(page.children) || isRoot ?> 14*feeed43cSAndroid Build Coastguard Worker <?cs var:whitespace ?> section: <?cs 15*feeed43cSAndroid Build Coastguard Worker /if?><?cs 16*feeed43cSAndroid Build Coastguard Worker each:child = page.children?> 17*feeed43cSAndroid Build Coastguard Worker <?cs var:whitespace ?> - title: "<?cs var:child.label ?>" 18*feeed43cSAndroid Build Coastguard Worker <?cs var:whitespace ?> path: <?cs var:child.link ?><?cs 19*feeed43cSAndroid Build Coastguard Worker if:subcount(child.children) ?> 20*feeed43cSAndroid Build Coastguard Worker <?cs var:whitespace ?> section:<?cs 21*feeed43cSAndroid Build Coastguard Worker call:write_child_nodes(child," ", 0) ?><?cs 22*feeed43cSAndroid Build Coastguard Worker /if ?><?cs 23*feeed43cSAndroid Build Coastguard Worker /each ?><?cs 24*feeed43cSAndroid Build Coastguard Worker /def ?><?cs 25*feeed43cSAndroid Build Coastguard Worker 26*feeed43cSAndroid Build Coastguard Worker 27*feeed43cSAndroid Build Coastguard Worker 28*feeed43cSAndroid Build Coastguard Worker # print out the yaml nav starting with the toc entry and using the first item, 29*feeed43cSAndroid Build Coastguard Worker which is generally the package summary as the root element with the rest of the 30*feeed43cSAndroid Build Coastguard Worker pages as children beneath the package summary. 31*feeed43cSAndroid Build Coastguard Worker 32*feeed43cSAndroid Build Coastguard Worker ?> 33*feeed43cSAndroid Build Coastguard Worker toc:<?cs each:page = docs.pages?><?cs 34*feeed43cSAndroid Build Coastguard Worker if:page.type == "package"?><?cs 35*feeed43cSAndroid Build Coastguard Worker call:write_child_nodes(page,"",1) ?><?cs 36*feeed43cSAndroid Build Coastguard Worker else?> 37*feeed43cSAndroid Build Coastguard Worker <?cs 38*feeed43cSAndroid Build Coastguard Worker call:write_child_nodes(page," ",0) ?><?cs 39*feeed43cSAndroid Build Coastguard Worker /if?><?cs 40*feeed43cSAndroid Build Coastguard Worker /each ?> 41