カテゴリに対応した

2013-08-29  /  CMS

jekyll面白い。手間かかるけど、昔コツコツサイト作ってた頃と同じ感覚。

さて、jekyllにもカテゴリはあるので、対応してみた。

##トップの最近の記事一覧

特に難しいこともなく、使ってるカテゴリは、テンプレート内では page.categories から参照できる。記事に対して複数カテゴリを設定するつもりはないので、page.categories .first してる。

##カテゴリ別ページ

カテゴリ名を取得するのは簡単なんだけど、カテゴリ別の一覧ページを作るのは一工夫。

記事にカテゴリを使うと、http://kawaken.github.io/カテゴリ/〜 みたいなサブディレクトリを作ってくれるので、あらかじめカテゴリ名と同じディレクトリを作って、index.htmlを作っとくと良い。

index.htmlの内容は、RSSに対応した時と同じ理屈で、YAML front matter に対応したテンプレートになっていれば良い。

##ハマったとこ
ちょっと注意しないといけないのは、for でsite.categoriesを参照するとき。↓のようなループを書くんだけど、要素用の変数名をcategoryとかにしすると上手く値が取れない。

{% raw %}{% for cate in site.categories %}
  <li><a href="/{{cate.first}}/">{{ cate.first }}</a></li>
{% endfor %}{% endraw %}

予約されてるのか何なのかわからないけど、変数名を違うものにしたら上手くいった。

あと、この例だと、cateにはカテゴリ名とさらに記事一覧が入ってるっぽい。cate.first で期待した値が取れたので深追いしてないけど。

Published: 2013-08-29  /  Tags: CMS  /  Share: X