{%- comment -%}
ordered_child_list
generates an html list of child pages, respecting the page.order value. only first-level children are listed, grandchildren and beyond are ignored. order: 0 is first, -1 is last, undefined orders go in the middle alphabetically
params:
docs=<array-of-docs-to-order> page=<calling-page-object> (optional, will restrict list to children of given page)
{%- endcomment -%} {% assign doc_list = include.docs %} {% if include.page %}
{% assign parent = include.page.path | split: '.' | first %} {% assign child_depth = include.page.path | split:'/' | size | minus:1 %}
{% endif %}
{% assign ordered = '' | split: '' %} {% assign endered = '' | split: '' %} {% assign unorder = '' | split: '' %} {% for doc in doc_list %}
{% if doc.order %} {% if doc.order < 0 %}{% assign endered = endered | push: doc %} {% else %}{% assign ordered = ordered | push: doc %} {% endif %} {% else %}{% assign unorder = unorder | push: doc %} {% endif %}
{% endfor %} {% assign ordered = ordered | sort: 'order' %} {% assign endered = endered | sort: 'order' %} {% assign doc_list = ordered | concat: unorder | concat: endered %}
<div class=“ui bulleted link list”> {% for doc in doc_list %}
{% assign listable = true %} {% if include.page %} {% assign child = doc.path | split: '.' | first %} {% if parent == child %}{% continue %}{%endif%} {% assign prefix = child | truncate: parent.size, '' %} {% unless prefix == parent %}{% assign listable = false %}{% endunless %} {% endif %} {% if listable %} {% capture url %}{{ doc.url }}#/{{ doc.collection | downcase }}/{% endcapture %} <a class="item" href="{{ site.baseurl }}{{ url }}">{{ doc.title }}</a> {% endif %}
{% endfor %} </div>