mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-20 19:55:54 +00:00
6-layer page-children
This commit is contained in:
@@ -334,14 +334,39 @@ pre code {
|
|||||||
.level-3 {
|
.level-3 {
|
||||||
list-style-type: square;
|
list-style-type: square;
|
||||||
margin-left: 45px;
|
margin-left: 45px;
|
||||||
color: #888;
|
color: #555;
|
||||||
}
|
}
|
||||||
.level-3 a {
|
.level-3 a {
|
||||||
color: #888;
|
color: #555;
|
||||||
}
|
}
|
||||||
.level-3 a:hover {
|
.level-3 a:hover {
|
||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
|
.level-4 {
|
||||||
|
margin-left: 60px;
|
||||||
|
color: #888;
|
||||||
|
}
|
||||||
|
.level-4 a {
|
||||||
|
color: #888;
|
||||||
|
}
|
||||||
|
.level-4 a:hover {
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
.level-5 {
|
||||||
|
margin-left: 75px;
|
||||||
|
list-style-type: circle;
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
.level-5 a {
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
.level-5 a:hover {
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
.level-6 {
|
||||||
|
/* Probably not used */
|
||||||
|
margin-left: 90px;
|
||||||
|
}
|
||||||
|
|
||||||
.foot-nav-col .children-display li {
|
.foot-nav-col .children-display li {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
<div class="col foot-nav-col">
|
<div class="col foot-nav-col">
|
||||||
<h5><a class="foot-nav-link" href="{{ parent_page.html }}">{{ parent_page.name }}</a></h5>
|
<h5><a class="foot-nav-link" href="{{ parent_page.html }}">{{ parent_page.name }}</a></h5>
|
||||||
{% set depth=1 %}
|
{% set depth = 1 %}
|
||||||
{% include 'template-page-children.html' %}
|
{% include 'template-page-children.html' %}
|
||||||
</div><!--/.foot-nav-col -->
|
</div><!--/.foot-nav-col -->
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
<p class="doc-type-blurb">{{currentpage.doc_type_blurbs[page.doc_type]}}</p>
|
<p class="doc-type-blurb">{{currentpage.doc_type_blurbs[page.doc_type]}}</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% set parent_page = doc_type_top %}
|
{% set parent_page = doc_type_top %}
|
||||||
{% set depth = 1 %}
|
{% set depth = 1.5 %}
|
||||||
{% include 'template-page-children.html' %}
|
{% include 'template-page-children.html' %}
|
||||||
</div><!--/.card-body-->
|
</div><!--/.card-body-->
|
||||||
</div><!--/.card-->
|
</div><!--/.card-->
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
{% set parent_page = currentpage %}
|
{% set parent_page = currentpage %}
|
||||||
{% set depth = 3 %}
|
{% set depth = 5 %}
|
||||||
{% include 'template-page-children.html' %}
|
{% include 'template-page-children.html' %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -8,24 +8,22 @@
|
|||||||
{% if parent_page.funnel is undefined %}
|
{% if parent_page.funnel is undefined %}
|
||||||
{% set parent_level = "home" %}
|
{% set parent_level = "home" %}
|
||||||
{% set level_2 = "funnel" %}
|
{% set level_2 = "funnel" %}
|
||||||
{% set level_3 = "doc_type" %}
|
|
||||||
{% set childpages = pages %}{# special case for home #}
|
{% set childpages = pages %}{# special case for home #}
|
||||||
{% elif parent_page == pages|selectattr("funnel", "equalto", parent_page.funnel)|first %}
|
{% elif parent_page == pages|selectattr("funnel", "equalto", parent_page.funnel)|first %}
|
||||||
{% set parent_level = "funnel" %}
|
{% set parent_level = "funnel" %}
|
||||||
{% set level_2 = "doc_type" %}
|
{% set level_2 = "doc_type" %}
|
||||||
{% set level_3 = "category" %}
|
|
||||||
{% elif parent_page == pages|selectattr("doc_type", "equalto", parent_page.doc_type)|first %}
|
{% elif parent_page == pages|selectattr("doc_type", "equalto", parent_page.doc_type)|first %}
|
||||||
{% set parent_level = "doc_type" %}
|
{% set parent_level = "doc_type" %}
|
||||||
|
{% set level_2 = "supercategory" %}
|
||||||
|
{% elif parent_page == pages|selectattr("supercategory", "equalto", parent_page.supercategory)|first %}
|
||||||
|
{% set parent_level = "supercategory" %}
|
||||||
{% set level_2 = "category" %}
|
{% set level_2 = "category" %}
|
||||||
{% set level_3 = "subcategory" %}
|
|
||||||
{% elif parent_page == pages|selectattr("category", "equalto", parent_page.category)|first %}
|
{% elif parent_page == pages|selectattr("category", "equalto", parent_page.category)|first %}
|
||||||
{% set parent_level = "category" %}
|
{% set parent_level = "category" %}
|
||||||
{% set level_2 = "subcategory" %}
|
{% set level_2 = "subcategory" %}
|
||||||
{% set level_3 = None %}
|
|
||||||
{% elif parent_page == pages|selectattr("subcategory", "equalto", parent_page.subcategory)|first %}
|
{% elif parent_page == pages|selectattr("subcategory", "equalto", parent_page.subcategory)|first %}
|
||||||
{% set parent_level = "subcategory" %}
|
{% set parent_level = "subcategory" %}
|
||||||
{% set level_2 = None %}
|
{% set level_2 = None %}
|
||||||
{% set level_3 = None %}
|
|
||||||
{% else %}
|
{% else %}
|
||||||
<!-- TEMPLATE ERROR: page {{parent_page.name}} is not the parent of anything? -->
|
<!-- TEMPLATE ERROR: page {{parent_page.name}} is not the parent of anything? -->
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -34,45 +32,74 @@
|
|||||||
{% set childpages = pages|selectattr(parent_level, "equalto", parent_page[parent_level])|list %}
|
{% set childpages = pages|selectattr(parent_level, "equalto", parent_page[parent_level])|list %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% macro print_children(parent, thosepages, indent_level, next_level_field, depth_limit) %}
|
||||||
|
{% set printed_next_levels = [] %}
|
||||||
|
{% for onepage in thosepages %}
|
||||||
|
{% if onepage == parent %}{# pass #}
|
||||||
|
{% elif next_level_field == None or (onepage[next_level_field] is undefined and next_level_field != "supercategory") %}
|
||||||
|
{# direct child, print it! #}
|
||||||
|
<li class="level-{{indent_level}}"><a href="{{onepage.html}}">{{onepage.name}}</a></li>
|
||||||
|
|
||||||
|
{% elif onepage[next_level_field] is undefined and next_level_field == "supercategory" %}
|
||||||
|
{# special case, might need to skip "supercategory" #}
|
||||||
|
|
||||||
|
{% if onepage.category is defined %}
|
||||||
|
{# possible direct child or grandchild due to skipped level #}
|
||||||
|
|
||||||
|
{% if onepage.category not in printed_next_levels %}
|
||||||
|
{% set next_level_children = thosepages|selectattr("category",
|
||||||
|
"equalto", onepage.category)|list %}
|
||||||
|
{% set next_level_parent = next_level_children|first %}
|
||||||
|
<li class="level-{{indent_level}}"><a href="{{next_level_parent.html}}">{{next_level_parent.name}}</a></li>
|
||||||
|
{% if indent_level+1 <= depth_limit and next_level_field != None %}
|
||||||
|
{# Recurse! #}
|
||||||
|
{% set field_after = "subcategory" %}
|
||||||
|
{{ print_children(next_level_parent, next_level_children, indent_level+1, field_after, depth_limit) }}
|
||||||
|
{% endif %}
|
||||||
|
{% set _ = printed_next_levels.append(onepage.category) %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% else %}
|
||||||
|
<!-- Template WARNING: no category for page '{{onepage.name}}'? -->
|
||||||
|
<li class="level-{{indent_level}}"><a href="{{onepage.html}}">{{onepage.html}}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% elif onepage[next_level_field] is defined %}
|
||||||
|
{# might be a grandchild or lower #}
|
||||||
|
{% if onepage[next_level_field] not in printed_next_levels %}
|
||||||
|
{% set next_level_children = thosepages|selectattr(next_level_field,
|
||||||
|
"equalto", onepage[next_level_field])|list %}
|
||||||
|
{% set next_level_parent = next_level_children|first %}
|
||||||
|
<li class="level-{{indent_level}}"><a href="{{next_level_parent.html}}">{{next_level_parent.name}}</a></li>
|
||||||
|
{% if (indent_level+1 <= depth_limit and next_level_field != None)
|
||||||
|
or (next_level_field == "supercategory" and depth_limit == 1.5) %}
|
||||||
|
{# Recurse! #}
|
||||||
|
|
||||||
|
{# figure out what level to use next #}
|
||||||
|
{% if next_level_field == "subcategory" %}
|
||||||
|
{% set field_after = None %}
|
||||||
|
{% elif next_level_field == "category" %}
|
||||||
|
{% set field_after = "subcategory" %}
|
||||||
|
{% elif next_level_field == "supercategory" %}
|
||||||
|
{% set field_after = "category" %}
|
||||||
|
{% elif next_level_field == "doc_type" %}
|
||||||
|
{% set field_after = "supercategory" %}
|
||||||
|
{% elif next_level_field == "funnel" %}
|
||||||
|
{% set field_after = "doc_type" %}
|
||||||
|
{% else %}
|
||||||
|
<!-- ERROR: child-pages template reached unexpected next_level_field case. -->
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{{ print_children(next_level_parent, next_level_children, indent_level+1, field_after, depth_limit) }}
|
||||||
|
{% endif %}
|
||||||
|
{% set _ = printed_next_levels.append(onepage[next_level_field]) %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endmacro %}
|
||||||
|
|
||||||
<div class="children-display">
|
<div class="children-display">
|
||||||
<ul>
|
<ul>
|
||||||
{% set printed_level2s = [] %}
|
{{ print_children(parent_page, childpages, 1, level_2, depth) }}
|
||||||
{% for page in childpages %}
|
|
||||||
{% if page == parent_page %}{# skip parent #}
|
|
||||||
{% elif level_2 == None or page[level_2] is undefined %}
|
|
||||||
<li class="level-1"><a href="{{page.html}}">{{page.name}}</a></li>
|
|
||||||
{% elif page[level_2] is defined %}
|
|
||||||
{% if page[level_2] not in printed_level2s %}
|
|
||||||
{% set printed_level3s = [] %}
|
|
||||||
{% set subpages = childpages|selectattr(level_2, "equalto", page[level_2])|list %}
|
|
||||||
{% for subpage in subpages %}
|
|
||||||
{% if loop.index == 1 %}
|
|
||||||
<li class="level-1"><a href="{{subpage.html}}">{{subpage.name}}</a></li>
|
|
||||||
{% else %}
|
|
||||||
{% if depth > 1 %}
|
|
||||||
{% if level_3 == None or subpage[level_3] is undefined %}
|
|
||||||
<li class="level-2"><a href="{{subpage.html}}">{{subpage.name}}</a></li>
|
|
||||||
{% elif subpage[level_3] is defined %}
|
|
||||||
{% if subpage[level_3] not in printed_level3s %}
|
|
||||||
{% for subsubpage in subpages|selectattr(level_3, "equalto", subpage[level_3])|list %}
|
|
||||||
{% if loop.index == 1 %}
|
|
||||||
<li class="level-2"><a href="{{subsubpage.html}}">{{subsubpage.name}}</a></li>
|
|
||||||
{% elif depth > 2 %}
|
|
||||||
<li class="level-3"><a href="{{subsubpage.html}}">{{subsubpage.name}}</a></li>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% set _ = printed_level3s.append(subpage[level_3]) %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% set _ = printed_level2s.append(page[level_2]) %}
|
|
||||||
{% endif %}
|
|
||||||
{% else %}
|
|
||||||
<!-- TEMPLATE warning: else case -->
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user