[jekyll] 英語名カテゴリーを日本語表記に変換するフィルター

Github PagesではURLに日本語が含まれているとファイルにアクセスできない場合があるので、カテゴリーを日本語にすると悲劇が起きることがありますfrustrate

そこで、フィルターで英語→日本語に変換して表示してやると解決できました。

ソースコード

slug2name.rb
module Jekyll
    module Slug2Name
        def slug2name(input)
        slug = @context.registers[:site].config['category_slugs'][input]
        slug ? slug : input
    end
    end
end
Liquid::Template.register_filter(Jekyll::Slug2Name)
_config.yml
category_slugs:
    programming: "プログラミング"
    diary: "日記"
Example
<li><a href="/category/{{ category }}/">{{ category | slug2name }}</a></li>
blog comments powered by Disqus