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

View File

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

View File

@@ -6,38 +6,29 @@
</button> </button>
<div class="collapse navbar-collapse justify-content-end" id="navbarHolder"> <div class="collapse navbar-collapse justify-content-end" id="navbarHolder">
<ul class="nav navbar-nav"> <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"> <li class="nav-item dropdown">
{% set links = pages|selectattr('funnel','defined_and_equalto',funnel)| <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>
selectattr('top_nav_level', 'defined')|list + <div class="dropdown-menu" aria-labelledby="topnav_{{top_page.html}}">
appendpages %} {% 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 %}
{% set funneltop = pages|selectattr('funnel','defined_and_equalto',funnel)|first %} {% for link in top_page.children %}
<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> {% if not link.top_nav_omit %}
<div class="dropdown-menu" aria-labelledby="topnav_{{funneltop.html}}">
{% for link in links %}
<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> <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 %} {% endfor %}
</div> </div>
</li> </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 %} {% endmacro %}
{{ dropdown("Learn") }} {% for page in (pages|first).children %}
{{ dropdown(page) }}
{% if target.lang == "ja" %} {% endfor %}
{{ 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>
{% include 'template-github-edit.html' %} {% include 'template-github-edit.html' %}