[middleman] タグごとに記事の一覧ページを作る
作成日: 2018年02月23日
- middleman-blog が利用できるようになっている必要があります。
config.rbに下記を記述すると、tags.htmlに記述されているテンプレートの内容で、タグごとにファイルが生成されます。例えば、rubyとmiddlemanというタグが存在する場合、tags/ruby.htmlとtags/middleman.htmlが生成されます。
activate :blog do |blog|
blog.sources = "articles/{title}.html"
blog.permalink = "articles/{title}.html"
blog.taglink = "tags/{tag}.html"
blog.tag_template = "tags.html"
end
tags.htmlが存在しないとエラーになります。tags.htmlに下記を記述すると、タグが付けられた記事だけを一覧で表示することができます。tagsメソッドを実行するとその記事に付けられているタグの一覧を得ることができます。tagnameには現在のタグが入っています。
<% blog.articles.each do |article| %>
<% if article.tags.include?(tagname) %>
<div class="article"><a href="<%= article.url %>"><%= article.title %></a></div>
<% end %>
<% end %>