Use hierarchy and virtual pages for top nav and footer

This commit is contained in:
mDuo13
2021-04-20 18:22:31 -07:00
parent d5c2b99a21
commit cc69f06206
4 changed files with 79 additions and 2270 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,7 @@
<footer class="xrpl-footer" role="contentinfo">
<section class="container card-grid card-grid-Nx1">
{% set funnels = [] %}
{% for page in pages %}
{% if page.funnel is defined and page.funnel not in funnels %}
{% set parent_page = pages|selectattr('funnel', 'defined_and_equalto', page.funnel)|first %}
{% for parent_page in (pages|first).children %}
{% set parent_html = parent_page.html %}
<div class="card">
<div class="card-header">
@@ -12,12 +10,10 @@
<div class="card-body">
{% set depth = 1 %}
{% set count = 5 %}
{% include 'template-page-children.html' %}
{% include 'children.html' %}
</div><!--/.card-body-->
</div><!--/.card -->
{% set _ = funnels.append(page.funnel) %}
{% endif %}
{% endfor %}
</section>

View File

@@ -12,31 +12,26 @@
{% set doc_types = [] %}
{% set flag_n = cycler(* range(1,99)) %}
{% for page in pages %}
{% if page.doc_type is defined and page.doc_type not in doc_types %}
{% set doc_type_top = pages|selectattr('doc_type', 'defined_and_equalto', page.doc_type)|first %}
{% set doc_type_name = doc_type_top.name %}
<div class="card">
<div class="card-header">
<h3 class="card-title"><a href="{{doc_type_top.html}}">{{doc_type_name}}</a></h3>
</div><!--/.card-header-->
<div class="card-body">
{% if page.blurb is defined %}
<p class="blurb">{{page.blurb}}</p>
{% endif %}
{% set parent_page = doc_type_top %}
{% set depth = 1.5 %}
{% include 'template-page-children.html' %}
</div><!--/.card-body-->
<div class="card-footer">
<div class="readmore">
<a class="btn btn-outline-secondary" href="{{doc_type_top.html}}">{% trans %}View All {{doc_type_name}}{% endtrans %}</a>
</div>
</div><!--/.card-footer-->
</div><!--/.card-->
{% set _ = doc_types.append(page.doc_type) %}
{% endif %}
{% for page in currentpage.children %}
<div class="card">
<div class="card-header">
<h3 class="card-title"><a href="{{page.html}}">{{page.name}}</a></h3>
</div><!--/.card-header-->
<div class="card-body">
{% if page.blurb is defined %}
<p class="blurb">{{page.blurb}}</p>
{% endif %}
{% set parent_html = page.html %}
{% set parent_name = page.name %}
{% set depth = 1 %}
{% include 'children.html' %}
</div><!--/.card-body-->
<div class="card-footer">
<div class="readmore">
<a class="btn btn-outline-secondary" href="{{page.html}}">{% if page.cta_text %}{{page.cta_text}}{% else %}{% trans %}View All {{parent_name}}{% endtrans %}{% endif %}</a>
</div>
</div><!--/.card-footer-->
</div><!--/.card-->
{% endfor %}
</section>
@@ -45,9 +40,9 @@
<h2 id="full-doc-index">{% trans %}Full Documentation Index{% endtrans %}</h2>
<div class="row">
<div class="col-md-8">
{% set parent_page = currentpage %}
{% set parent_html = currentpage.html %}
{% set depth = 5 %}
{% include 'template-page-children.html' %}
{% include 'children.html' %}
</div>
</div>
</section>

View File

@@ -6,38 +6,29 @@
</button>
<div class="collapse navbar-collapse justify-content-end" id="navbarHolder">
<ul class="nav navbar-nav">
{% macro dropdown(funnel, appendpages=[]) %}
{% macro dropdown(top_page) %}
{% if top_page.children|selectattr('top_nav_omit', 'undefined_or_ne', True)|list|length %}
<li class="nav-item dropdown">
{% set links = pages|selectattr('funnel','defined_and_equalto',funnel)|
selectattr('top_nav_level', 'defined')|list +
appendpages %}
{% set funneltop = pages|selectattr('funnel','defined_and_equalto',funnel)|first %}
<a class="nav-link dropdown-toggle" href="#" id="topnav_{{funneltop.html}}" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{funneltop.name}}</a>
<div class="dropdown-menu" aria-labelledby="topnav_{{funneltop.html}}">
{% for link in links %}
<a class="nav-link dropdown-toggle" href="#" id="topnav_{{top_page.html}}" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{top_page.name}}</a>
<div class="dropdown-menu" aria-labelledby="topnav_{{top_page.html}}">
{% if not top_page.top_nav_omit %}<a class="dropdown-item top-level-1{% if currentpage == top_page %} active{% endif %}" href="{{top_page.html}}">{% if top_page.top_nav_name is defined %}{{top_page.top_nav_name}}{% else %}{{top_page.name}}{% endif %}</a>{% endif %}
{% for link in top_page.children %}
{% if not link.top_nav_omit %}
<a class="dropdown-item {% if link.top_nav_level is undefined %}top-level-1{% else %}top-level-{{link.top_nav_level}}{% endif %}{% if currentpage == link %} active{% endif %}" href="{{link.html}}">{% if link.top_nav_name is defined %}{{link.top_nav_name}}{% else %}{{link.name}}{% endif %}</a>
{% endif %}
{% endfor %}
</div>
</li>
{% elif not top_page.top_nav_omit %}
<li class="nav-item">
<a class="nav-link" href="{{top_page.html}}">{{top_page.name}}</a>
</li>
{% endif %}
{% endmacro %}
{{ dropdown("Learn") }}
{% if target.lang == "ja" %}
{{ dropdown("Explore", [{"name":"XRP Ledger エクスプローラ", "html": "https://livenet.xrpl.org/"}]) }}
{% else %}
{{ dropdown("Explore", [{"name":"Ledger Explorer", "html": "https://livenet.xrpl.org/"}]) }}
{% endif %}
{% if target.lang == "ja" %}
{{ dropdown("Build", [{"name": "開発者ブログ", "html": "/blog/"}]) }}
{% else %}
{{ dropdown("Build", [{"name": "Dev Blog", "html": "/blog/"}]) }}
{% endif %}
<li class="nav-item">
<a class="nav-link" href="contribute.html">{% trans %}Contribute{% endtrans %}</a>
</li>
{% for page in (pages|first).children %}
{{ dropdown(page) }}
{% endfor %}
{% include 'template-github-edit.html' %}