Mar 12th, 2012

Wordpress to Octopress on Github

WordpressからOctopressへ

借りているVPSで、Wordpressを使うためだけにphpを入れているのだけど、使用しているnginx公式のphpレポジトリがいつの間にか停止していて、再開する見込みが無いようで困っていた。(正確に言うと、去年末に一度レポジトリが削除され、1月末頃にまた再開したけど、また削除されている)
前々からphpを停止しようと考えてはいたのだけど、WordPressがあるためにどう移行しようか?だけを考えていて、今日ふとしたきっかけで(もう覚えていない )WordpressからOctopressに移行した記事を見て、 Wordpressが悪い訳ではないのだけど、 思い切ってWordPressを捨てることにした。

Octopressの特徴としては、以下のような感じ。

  • Markdown で書ける(大事)
  • Ruby で書かれている
  • git と rake で管理される
  • 1post=1file で、htmlファイルをビルドする Jekyll が元になっている
  • Jekyllが元になっているので、github pages が利用可能。

Octopress Install

ということでインストールにあたり Octopress については以下の記事を参考にした。

そして、Octopressでは以下のものが必要

  • Ruby 1.9.2以上
  • Git

どちらも brew で入れているので、 後は公式に従い、以下のように実行。

$ git clone git://github.com/imathis/octopress.git octopress
$ cd octopress
$ bundle install

すると、 bundle install で、rb-fseventのビルドでコケる。
おそらく入れたばかりの XCode 4.3.1 が影響してるのだろうなと思いつつ、公式をみたところ、 解決方法が ここに書いてあった。さらに元ネタは ここらしいのだけど、最後が笑えたw

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/

上のコマンドを入れた後再度。

$ bundle install

うまく通ったので、次。

$ rake install

これは名前がややこしいのだけど、sassなどの設定ファイルや公開用のディレクトリを作成しているだけなので安心して実施してください。 ここで準備は終了。

Github Pages

次に github で公開するための準備。

レポジトリの作成

ここから username.github.com という形式でレポジトリの作成を行う。
自分の場合は id が d6rkaiz なので、 d6rkaiz.github.com となる。

Octopressデプロイ設定

Octopressのデプロイ先の初期設定を行う。

$ rake setup_github_pages

入力を求められるので、先程作ったレポジトリの git url を入力。

Github Pages で カスタムドメインを設定。

blog.d6rkaiz.com に CNAME で d6rkaiz.github.com を割り当てる。
そして、Octopress側には

echo 'blog.d6rkaiz.com' >> source/CNAME

とすることで行けるようだ。

Octopress初期設定

設定は ここを参考に url,title,subtitle,author,permalink,pagination_dirを修正。

url: http://blog.d6rkaiz.com
title: Under Construction Always!
subtitle: いつも工事中
author: d6rkaiz
simple_search: http://google.com/search
description:

そして、3rd party settings のところでTwiterの箇所を修正。

新規投稿の方法

新規投稿は

$ rake new_post["title"]

とすることで、source/_posts/$(date)-$(title).markdown というファイルが作られる。(zshなどのシェルを使っている場合には[]をエスケープする必要があるようだ)
これを Mou などで編集した後で、

$ rake generate

で、ファイルが生成され

$ rake preview

とすることで http://localhost:4000 で見ることが出来る。 preview中編集するとregenerateされ、ブラウザをreloadするだけで表示が変わるので、適宜結果を見ることが出来る。

確認が出来たら

$ rake gen_deploy

とりあえず、これだけで出来るようになった。後は既存のブログからのインポートが残っているけれど、何とかなりそう。