Octopress試した / そうだ競技プログラミング用にしよう

Octopressっていうブログツールが

  • テキストエディタ, git, rakeで投稿が完結するらしい
  • markdown記法で書けるらしい

といかにもプログラマ向けっぽくてデザインもフォントとか好みで気になってはいたのだけど、ruby 1.9.2が必要だったので面倒な気がして放置してました。(Macでrvm使って入れようとすると怒られた)

が、EUROの合間に一念発起してインストールしてみた。

セットアップ

(0) rvmのインストール

$ curl -L get.rvm.io | bash -s stable --ruby
$ source ~/.rvm/scripts/rvm

(1) ruby 1.9.2のインストール

$ rvm install 1.9.2 --with-gcc=clang

で一応入った。なんか警告されたけど今のところ問題ない。

(2) Octopressを取得

$ git clone git://github.com/imathis/octopress.git octopress

(3) Octopressをインストール

$ cd octopress
$ gem install bundler
$ bundle install
$ rake install

(4) 適当に記事を作る

$ rake new_post['Hello, Octopress']

これで、source/_posts/YYYY-mm-DD-hello.markdown みたいなファイルができるので、それをmarkdown記法で編集する

(5) Previewする

$ rake generate
$ rake preview

ブラウザで http://localhost:4000/ を開けばどんな感じになるか確認できる

(6) サーバにアップロードする準備

今回はrsyncで自前サーバにアップロードする方法を採りました。公開鍵の登録とかは先に済んでいてパスワードや秘密鍵指定無しにrsync可能になっていれば、下記Rakefileの編集だけ。

$ vi Rakefile
ssh_user       = "user@domain.com"
document_root  = "~/website.com/"
rsync_delete   = true
deploy_default = "rsync"

(7) サーバにアップロードする

$ rake generate
$ rake deploy

(8) ブログソース(*.markdownとか)をgithubでバージョン管理する

githubにquizblog.gitを作って、そこで管理することにしました。

$ git remote rename origin octopress
$ git remote add origin https://github.com/fuqinho/quizblog.git
$ git config branch.master.remote origin

(9) ブログソースの編集をcommit & push

$ git add .
$ git commit -m 'hogehoge'
$ git push -u origin master

あとは(4),(5),(7),(9)の繰り返しのはず

感想

ブログソースがテキストファイルなので、管理は楽だし一括編集もしやすくてうれしい。
あとやっぱり静的ページはレスポンス早くて良い。負荷がかかればS3とかCDNに置いちゃえばいいし。かかれば。

なに書こう

とはいえ、今のWordpressのブログを移行するのは大変そう。

ということで、最近は毎朝1問、チャレンジブックの練習問題を中心に競技プログラミングのクイズを解くのを日課にしてるので、その解法とかを淡々と貼っていく場所にしようかと。ググって見つかった解法に何度もお世話になってるうちに、自分もちゃんと検索にひっかかる場所に書いてかないとという気になりました。

Octopressで作ったブログ: fuqinho@競技プログラミング