nanoc でページ・記事を作成する際にいちいち HTML を記述しては効率が悪いです。

当方は Markdown 記法が好きなので、nanoc で使えるようにしてみました。

0. 前提条件

  • Linux Mint 14 Nadia (64bit) での作業を想定。
  • nanoc 3.4.3 を使用。
  • Ruby 1.9.3-p362 を使用。

1. RubyGems パッケージインストール

Markdown 記法をパースするのに必要な kramdown という RubyGems パッケージをインストールする。
ちなみに、Ruby で使える Markdown パーサには Kramdown 以外に BlueCloth, RDiscount, Redcarpet, Maruku 等もあるようだ。

1
$ sudo gem install kramdown

2. Rules 編集

コンパイル時に kramdown でフィルターするよう Rules ファイルの該当の箇所に以下のように記述を追加する。
(以下はデフォルトの場合)

Rules
1
2
3
4
5
6
7
8
9
compile '*' do
  if item.binary?
    # don’t filter binary items
  else
    filter :erb
    filter :kramdown  # <= 追加
    layout 'default'
  end
end

3. 記事作成

試しに以下のように Markdown 記法で記事を作成してみる。
作成は nanoc create_item test-markdown か既存のファイルを複製する。

File: test-markdown

 1 ---
 2 title: TEST [ Markdown ]
 3 created_at: 2013/01/13 00:20:00
 4 kind: article
 5 ---
 6 A First Level Header
 7 
 8 A Second Level Header
 9 ---------------------
10 
11 Now is the time for all good men to come to
12 the aid of their country. This is just a
13 regular paragraph.
14 
15 The quick brown fox jumped over the lazy
16 dog's back.
17 
18 ### Header 3
19 
20 > This is a blockquote.
21 > 
22 > This is the second paragraph in the blockquote.
23 >
24 > ## This is an H2 in a blockquote

4. 確認

コンパイルして作成される画面をブラウザで確認してみる。
URL は http://127.0.0.1:3000/test-markdown/ となる。

1
2
$ nanoc compile
$ nanoc view

NANOC

うまく HTML に変換できているようだ。()

参考サイト


現在、メインで使用している Octopress によるブログでも Markdown を使用しているので、nanoc での作業も楽になりました。

ちなみに、当記事執筆時点では nanoc によるブログは公開していません。
しかし、現在メインで公開しているブログを今後移行するのかも知れませんし、メインのブログとは別にサブ(もしくは、クローン)として今後公開するかも知れません。あしからず。

以上。