octopress-category-listをforkしました。

前回の記事(Octopressにtag Cloudを表示させる。)で使ったplugin、octopress-category-listですが、「Node.js」のように.入りのカテゴリだとリンクが正しく作られていませんでした。

例えば記事下部にある「Posted by YuG1224 Oct 18th, 2013 Node.js」からだと、http://blog.yug1224.com/categories/node-dot-js/ というリンクになっていて、カテゴリページに遷移します。

しかし、サイドバーに設置したカテゴリの場合は、http://blog.yug1224.com/categories/node-js/ というリンクになっているため、404ページに遷移してしまっていました。

ちょっとした正規表現だけでいけそうだったので、forkして直してみました。

YuG1224/octopress-category-list

-        url = category_dir + category.gsub(/_|\P{Word}/u, '-').gsub(/-{2,}/u, '-').downcase
+        url = category_dir + category.gsub(/\./u, '-dot-').gsub(/_|\P{Word}/u, '-').gsub(/-{2,}/u, '-').downcase

上記の様に正規表現で文字列の置換をしている部分で、.を持つカテゴリの場合は-dot-に置換されるように変更しています。

Octopress