wiki/_includes/list-details.md

54 lines
1.2 KiB
Markdown
Raw Normal View History

2017-12-02 02:04:52 -08:00
{% comment %}
引数:
type: 表示するdetailsの種類
list: 表示するデータのリスト
キー: アンカー名
値: データ:
name: データ名
{% endcomment %}
{% comment %}
アンカー名でソートする
{% endcomment %}
{% comment %}
全てのアンカー名を一つの文字列にする
{% endcomment %}
{% capture keys %}
{% for data in include.list %}
{{ data[0] }}
{% endfor %}
{% endcapture %}
{% comment %}
アンカー名を空白で区切ってソートする
{% endcomment %}
{% assign sorted_keys = (keys | split: " " | sort) %}
{% comment %}
使用するテンプレートファイル名
{% endcomment %}
{% capture template %}details-{{ include.type }}.md{% endcapture %}
{% comment %}
ソートしたアンカーリストでFor実行
{% endcomment %}
{% for key in sorted_keys %}
{% comment %}
assignした変数はinclude先でも参照できる
アンカー名で参照
{% endcomment %}
{% assign data = include.list[key] %}
{% comment %}
Markdownはインデント不可
{% endcomment %}
# {{ data.name }} {#{{ key }}}
{% comment %}
テンプレートを表示
同じくインデント不可
{% endcomment %}
{% include {{ template }} %}
{% endfor %}