site.*
内の変数についての調査Jekyllの変数に格納されているものがよくわからないので調べた。
参考
site.posts
変数の中身
site.posts
- A reverse chronological list of all Posts.
ということなので、_post 以下のものが日付が新しい順に表示されるはずだ。
<ul>
{% for post in site.posts %}
<li>
{{post.date | date: "%F" }}:<a href="{{site.github.url}}{{ post.url }}">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
これを実行してみる。
site.pages
変数の中身
site.pages
- A list of all Pages.
全てのページが出力されるらしい。先程と同じようなコードを実行してみる。
<ul>
{% for page in site.pages %}
<li>
{{ page.url }}
</li>
{% endfor %}
</ul>
実行してみる。
- /atom.xml
- /
- /css/style.css
- /assets/css/style.css
- /js/MathJax/
cssやxmlなど、必要そうな不要そうなものまで出力される。
site.html_pages
変数の中身
site.html_pages
- A subset of
site.pages
listing those which end in.html
.
どうやら同じような考えだったらしく、html だけ格納されている変数があった。
<ul>
{% for page in site.html_pages %}
<li>
{{page.date | date: "%F"}}:<a href="{{site.github.url}}{{ page.url }}">{{ page.title }}</a>
</li>
{% endfor %}
</ul>
実行してみる。
トップページまで出力されるのか・・・。
site.tags.TAG
- The list of all Posts with tag TAG.
{% for tag in site.tags %} <article> <h1 id="tag_{{ tag[0] }}">{{ tag[0] }}</h1> <ul> {% for post in tag[1] %} <li><a href="{{ post.url }}">{{ post.title }}</a></li> {% endfor %} </ul> </article> {% endfor %}
上記ソースではtag[0]
がタグ名、tag[1]
がタグを含むページの配列になっているらしい。
少し変更して実行してみる。
{% for tag in site.tags %}
<article>
<h3>{{ tag[0] }}</h3>
<ul>
{% for post in tag[1] %}
<li><a href="{{ post.url }}">{{ post.title }}</a></li>
{% endfor %}
</ul>
</article>
{% endfor %}
実行してみる。
2017-06-16 23:13:15 +0000 現在、固定ページのタグは取得できない ことがわかった。