diff --git a/_includes/components/children_nav.html b/_includes/components/children_nav.html index bf380a1c..7d61de7e 100644 --- a/_includes/components/children_nav.html +++ b/_includes/components/children_nav.html @@ -1,50 +1,68 @@ {%- comment -%} - Updated to support both `children` and `subcategories` for flexible YAML structures. + Include as: {%- include components/children_nav.html -%} + Depends on: page, site, nav_breadcrumbs. + Results in: HTML for the children-navigation component. + Includes: components/nav/sorted.html, toc_heading_custom.html. + Overwrites: + nav_ancestor_links, nav_top_node_titles, nav_child_candidates, nav_children, + nav_child, nav_child_ok, nav_child_ancestor, nav_sorted. {%- endcomment -%} - -{%- if page.has_children == false and page.subcategories == nil -%} +{%- comment -%} + Whether a page has any children is checked efficiently by inspecting the cached + site_nav. If the page has no children, nav_children is set to an empty array; + otherwise nav_children is left unset. (The site_nav is rendered the first time + it is included, and that may overwrite various variables.) +{%- endcomment -%} +{%- if page.has_children == false -%} {%- assign nav_children = "" | split: "" -%} {%- else -%} {%- capture site_nav -%} - {%- include_cached components/site_nav.html all=true -%} + {%- include_cached components/site_nav.html all=true -%} + {%- endcapture -%} + {%- assign nav_children = nil -%} + {%- capture nav_list_link -%} + {%- endcapture -%} - - {%- assign nav_children = site_nav | where_exp: "item", "item.parent == page.url" | concat: page.subcategories -%} + {%- capture nav_list_simple -%} +