54 lines
1.2 KiB
Markdown
54 lines
1.2 KiB
Markdown
{% 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 %}
|