jekyll用のRakefile作成中
2013-09-04 / CMS
jekyll は新規に投稿する時、まずファイルを作らないといけないが、これが地味にめんどくさい。
日付とURLのスラッグを付けたファイル名にして、YAML front matter の書式でタイトルとか設定しないといけない。
URLのスラッグも最近は日本語で書いているし、タイトルと異なることはほぼないので、二度手間の感じもある。
なので、rakeのタスクを作ってみた。とりあえず新規作成に関するところ。
post:new
{% highlight ruby %}
rake post:new
{% endhighlight %}
新規投稿を作成する。
タイトルは STDIN.gets して、標準入力から入力するようにした。iPhoneで使ってるアプリ(octopage)の都合上、_draftsを使ってないので、代わりに published: false がデフォになってる。
post:publish
{% highlight ruby %}
rake post:publish
{% endhighlight %}
非公開になっている投稿(published: false)を公開する。
対象のファイル一覧を出力するので、そこから番号を選ぶようにしてみた。all で全部。ここまで書いて思ったけど、post:publish:all に分けても良いかも。
serve
{% highlight ruby %}
rake serve
{% endhighlight %}
Jekyllのコマンドもrakeで実行するようにした。よく使うのでこれをデフォルトタスクにしている。
Rakefileの作法?
そんな作法があるかよく知らんが、ファイル操作する時、grep, sed とか使うことにした。
ホントはRubyで実装するのが良いかなと思う。
でも、ruby力が足りないので、grep に相当するコードがすぐに思い浮かばない…。
「個人的なものだし、遠慮せずに書くか〜」と腹をくくって、バッククオート使おうと決めたら、コーディング捗った。