rails で postmarkdown を使う

markdown を app/posts 以下に置くとブログになるプラグイン。 データベースを使わないでただの markdown をディレクトリに置くだけなので、 単純だけど投稿機能はないようだ。 投稿機能は認証機能と合わせて自分で作れば良いのだが、 rails が複数のマシンで動いていると困ると思う。

routing と controller を変更して、 あまり更新しない静的なコンテンツを配置するのに使った。 haml や eruby を書くより markdown を書いた方が楽なので。

使い方は https://github.com/ennova/postmarkdown を見ればわかる。

インストール

Gemfile に

gem 'postmarkdown'

を書く。

bundle update

rails generate postmarkdown:install

http://localhost:3000/posts にアクセスする。

カスタマイズ

rails generate postmarkdown:override --all

で controller や view などを生成して、そのファイルを編集する。

routing

config/routes.rb に

postmarkdown :as => :posts

のように書くと /posts 以下に記事の URL が設定される。 postmarkdown メソッドにオプションを与えることで URL の日付のフォーマットをカスタマイズできる。

私は、単純に markdown のファイルのパスを URL にしたかったので、 postmarkdown のソースコードの lib/postmarkdown/routes.rb を参考にして get メソッドで定義して controller と model をそれに合わせて変更した。

記事のメタデータ

rails generate postmarkdown:post test-post --date=2011-01-01

とすると記事のテンプレートが作成される。 できた markdown ファイルを見ると先頭に yaml で メタデータを記述するようになっているのがわかる。

Tags of current page

, ,