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
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 ?>
|