2014年4月14日

jekyll の Front-matter のカスタム属性の"date"でソートできるフィルターを公開

最近作成した情報セキュリティターミナルは、jekyll で作成していますが、
トップページに、新着情報を掲載しようと思いました。

ところが、jekyll では、カスタム属性でソートできないんですよね。
以下のURIで、ソートできる感じに書いてあるんですが、うまくいきませんでした。

そこで、日付でソートできるフィルタを公開しました。

このファイルを _plugins フォルダに入れると

---
layout: default
title: トップページ
date: 2014-4-12 21:00
tags:
---
上記のようなFront-matterにある date 属性でソートできます。
フィルターは 2つあって、 date_sort_descending, date_sort_ascending があり、
それぞれ、降順と昇順に並べ替えます。
主に for ループを使用する時に使うでしょう。
{% assign sorted_pages =  site.pages | date_sort_descending %}
{% for page in sorted_pages limit:4 %}
<h3><a href="{{ page.url }}">{{ page.title }}</a></h3>
<p><small>{{ page.date | date: "%Y年%m月%d日" }}</small></p>
{% endfor %}