Octopressが素晴らしすぎて未だに感動しているゴンゾウです。

ブログのエントリを書くときに欠かせないのが画像です。Octopressは"source/images"に画像を置いておけば、deployした時に自動的にアップロードしてくれます。

ですが、imagesに複数のエントリの画像を無造作に置いておくのは、少し気持ち悪いです。できればエントリごとにディレクトリを作って、そこに画像を置いておきたいです。でも手動で作るのはめんどくさい。

ということで、new postをしたときに"source/images"にMarkdownのファイル名と同じディレクトリを作るようにします。

変更手順

Rakefileをエディタで開き、new postに関係ありそうな箇所を見つけます。
(94行目あたりの"task :new_post, :title do |t, args|" から"end"までがひとかたまり)

"end"の直前に、以下の行を追加します。

 mkdir_p "#{source_dir}/#{image_dir}/#{Time.now.strftime('%Y-%m-%d')}-#{title.to_url}"

これで、new postをするときに"source/images"にMarkdownと同じ名前のディレクトリが作成されます。1
日付が不要な場合は、"#{Time.now.strftime('%Y-%m-%d')}-"をはずせばOKです。


  1. mkdirでもいいのかな?Rubyよくわからん。