Jekyll移行後、新規post作成にはjekyll-composeを使っている。

便利なのだが、frontmatterにlayoutとtitleしか設定してくれない。追加の設定をする機能はない。起動時にdateを指定しても、frontmatterのdateには反映されない。

dateが設定できないと地味に問題になる場合がある。これを手動で毎度解決するのは気持ち悪いので、jekyll-composeを起動する前に簡単な前処理で書き換えることにした。

jekyll-composeで生成されたpostの雛形にはfrontmatter部分しかない。これを読み込んで、YAMLとして書き換える方法をとった。

require 'yaml'
y = YAML.load File.read(ARGV[0])
y['date'] = DateTime.now.to_s
y['categories'] = ['未分類']
File.write ARGV[0], YAML.dump(y) + "---\n"

こういうスクリプトを書いて、jekyll-compose直後に呼ぶようにする。

本来はjekyll-compose自体に修正を入れるのが筋だろう。