apatheia.info

TumblerからOctopressへの移行

2012.09.22 octopress

Tumblerでブログ書いていたけど、ローカルで記事書く => フォームに貼り付け => プレビューのサイクルが結構面倒くさいな、と常々思っていたので、Octopressに移行した。

ホスティングには Github Pages を利用している。

手順

設定

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

# テーマ入れ替える    
$ git clone git://github.com/tommy351/Octopress-Theme-Slash.git .themes/slash
$ rake 'install[slash]' # zsh だとクォートなりエスケープするなりしないと、[, ] がメタ文字として解釈される
# .themes/slash/{source,sass} がルートディレクトリにコピーされる

このままだと header の canonical が設定されないかったので、同梱テンプレート .themes/classic/source/_includes/head.html を参考に ./source/_includes/head.html をちょっとといじった。

Tumbler の記事をインポート

ブログの過去記事を全部インポートする ( 参考: Goodbye Tumblr. Hello, Octopress Powered by Jekyll and Markdown! )

$ wget -O source/tumblr.rb https://raw.github.com/stephenmcd/jekyll/master/lib/jekyll/migrators/tumblr.rb
$ vim source/tumblr.rb # format="md" => format="markdown" に書き換え
$ ruby -rubygems -e 'require "./source/tumblr"; Jekyll::Tumblr.process("http://tsurayogoshi.tumblr.com", format="markdown", grab_images=true)'
$ mv _posts/tumblr/* source/_posts/
$ mv post source/

後は細かい調整

  • 画像のパスが tumblr を参照しているので、全部ダウンロードして source/images 以下に保存
  • 記事のメタデータ部分
    • comments: trueを追加
    • tagscategories に書き換え。
  • 各種外部サイト向けパーツの設定

source/post には、tumbler と同じURLでアクセスしたとき、移行後のコンテンツにアクセスするリダイレクト設定が入っている。tumbler の頃からカスタムドメインを使っていた場合は、後述のドメイン設定で前と同じドメインにすればいい。

ドメインの設定

独自ドメインを使う場合、source/ 以下に CNAME というファイルを作り、そこにドメインを書いておく。その後、指定の IP アドレスに名前を向ける。

何度かIPアドレスが変更になっているみたいで、別のIPアドレスを利用した説明がネットに残っているけど、古いものだとカスタムドメインが使えるけどusername.github.comからのカスタムドメインへのリダイレクトが有効にならなかったりするので、ちゃんと 公式の説明のもの を参照すること。

Github Pages へデプロイ

ドキュメントを読めばわかるので詳細は割愛。

source ディレクトリの中身が public 以下に展開されて、ここがプレビュー領域となる。public の中身が _deploy にコピーされて、ここが Github Pages に pushされる。

git リポジトリのうち master ブランチがは公開用、source が編集用となる。ルーディレクトリに source ブランチ、公開用の _deploy ディレクトリに maste ブランチという二つのリポジトリが配置されることになる。

感想

vim で書く => すぐに確認 => github にデプロイ => 公開の流れは気持ちいい。tumblr の頃と同じく、markdown で書けるのもとても具合がいい。