「CMSでブログ書くのダルくね? やっぱ使い慣れたテキストエディタが一番でしょ」
という声が聞こえてくると言うか、プログラマならそう思っちゃうのは自然の摂理。
基本はvimなりEmacsなりSublime Textなりでmarkdownによってブログエントリを書き、 それをgitのリポジトリに突っ込むと、ブログに反映されてわー嬉しいというもの。
なので、要素としては:
- ブログエントリを管理するgitリポジトリ
- そのgitリポジトリの内容をブログ(HTML)として表すアプリケーション
以上の2つとなる。
"ブログとして表すアプリケーション"では噛みそうになるので、ここでは仮に"rabbitfire" と名付けておきます。
以下のようにしたい。
$ gem install rabbitfire
$ vi config.rb
$ rabbitfire -c config.rb
これだけでそのアプリケーションは起動し、設定ファイル(上記の例ではconfig.rb)に 記述されたgitリポジトリを元に、ブログを提供するようになる。
蛇足だが、昨今のアプリケーションサーバ(unicorn, puma, etc...)に倣い、設定を 設定ファイルで記述することはもちろん、rabbitfireコマンドへのコマンドライン引数と して与えられるようにしたい。理想は:
$ gem install rabbitfire
$ rabbitfire -s https://github.com/takkkun/blog.git
だけで簡単に作れちゃう、みたいな感じ。
rabbitfireは起動したので、次はブログの作成に移る。こんな感じを想定。
$ git clone https://github.com/takkkun/blog.git
$ cd blog
$ gem install rabbitfire-tools
$ rft new .
$ git add .
$ git commit -m 'Create my blog'
$ git push origin master
こんな感じ(カレントディレクトリがblogなのを想定)。
$ rft edit
(エディタが起動する)
$ git add .
$ git commit -m 'Write an entry'
$ git push origin master
- SCMはgit以外も使えるとまあいいよね
- もちろんmarkdown以外でも書けるといいよね
- rft editは引数なしだとエントリの新規作成を想定してるけど、editの後にエントリの 識別子を指定すると編集になる。そこで補完とか効くとクールだよね
- ブログのデザインなども管理したいよね