wiki/_includes/list-details.md

1.2 KiB

{% 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 %}