xref: /aosp_15_r20/external/doclava/res/assets/templates/yaml_navtree.cs (revision feeed43c7c55e85932c547a3cefc559df175227c)
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