You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.3 KiB

<?cs
# walk the children pages and print them nested below the parent
page: the node to insert a label, link and check for children
whitespace: Whitespace to insert before any text in the structure, which helps
with nesting children on recursion.
isRoot: treat this node as if it has children and insert a section node.
?><?cs
def:write_child_nodes(page,whitespace,isRoot) ?>
<?cs var:whitespace ?>- title: "<?cs var:page.label ?>"
<?cs var:whitespace ?> path: <?cs var:page.link ?><?cs
if:subcount(page.children) || isRoot ?>
<?cs var:whitespace ?> section: <?cs
/if?><?cs
each:child = page.children?>
<?cs var:whitespace ?> - title: "<?cs var:child.label ?>"
<?cs var:whitespace ?> path: <?cs var:child.link ?><?cs
if:subcount(child.children) ?>
<?cs var:whitespace ?> section:<?cs
call:write_child_nodes(child," ", 0) ?><?cs
/if ?><?cs
/each ?><?cs
/def ?><?cs
# print out the yaml nav starting with the toc entry and using the first item,
which is generally the package summary as the root element with the rest of the
pages as children beneath the package summary.
?>
toc:<?cs each:page = docs.pages?><?cs
if:page.type == "package"?><?cs
call:write_child_nodes(page,"",1) ?><?cs
else?>
<?cs
call:write_child_nodes(page," ",0) ?><?cs
/if?><?cs
/each ?>