nanoc - コンパイル時のルーティング設定!
Updated:
nanoc でブログ運用する場合、コンパイルした記事を月別や日別にディレクトリ分けしたいケースがある思います。
コンパイル時のルーティング設定で実現可能のようです。
0. 前提条件
- Linux Mint 14 Nadia (64bit) での作業を想定。
- nanoc 3.4.3 を使用。
- Ruby 1.9.3-p362 を使用。
- 記事ファイルは nanoc ルート配下の
content/content/articles/
ディレクトリに置いている。 - 記事ファイルの名称は
yyyy-mm-dd-test-post.md
のような「年月日+記事タイトル+拡張子」としている。 - 出力する際のディレクトリ構成は
output/yyyy/mm/dd/test-post/index.html
ような形とする。
1. Rules ファイル編集
nanoc ルートにある Rules
ファイルに以下のようなルーティング設定を追加する。
(route '*' do
の行より先に記述する)
File: Rules
1
2
3
4
5
6
route '/articles/*/' do
y,m,d,slug = /([0-9]+)\-([0-9]+)\-([0-9]+)\-([^\/]+)/
.match(item.identifier).captures
"/#{y}/#{m}/#{d}/#{slug}/index.html"
end
2. コンパイル
いつものようにコンパイルする。
File: Rules
1
$ nanoc compile
3. 確認
出力ディレクトリ(デフォルトなら output
)に指定のディレクトリ構成で HTML ファイルが作成されているのを確認する。
今回の場合は、output/yyyy/mm/dd/test-post/index.html
というディレクトリ構成になっているはず。
4. 参考サイト
これで、好みのディレクトリ構成で HTML ファイル出力が可能になりました。
ちなみに、nanoc によるブログを Octopress によるメインのブログのクローンとして公開しています。
但し、mk-mode BLOG (by Octopress)の記事を機械的に変換しているため、人知の及ばない部分もあるかと思います。ご了承下さい。
以上。
Comments