WordPressからmiddlemanに移行してGithub Pagesで運用する方法
サイトをリニューアルしていました。 WordPressからmiddleman-blogに乗り換えました。 ホスティングもロリポップからgithub-pagesに乗り換え。 理由は普段使っているエディタでmarkdownでブログを書いてgitでデプロイする流れがやりたかったから。 static site generatorは数あれど、慣れたmiddlemanでやってしまおうと思っていました。 haml と sassでコーディングしています。コードはここに置いてあります→camuro.github.io
今回リニューアルするのにとった流れか下記の通りです。
- WordPressからデータをmarkdown形式でブッコ抜く
- Pureを少し使ってmiddleman-blogでコーディング
- githubにorganizationアカウントを作る
- middleman-deployでdeploy
- トップレベルドメイン(TLD)でDNSの変更
1. WordPressからデータをmarkdown形式でブッコ抜く
WordPressからxmlをexportしておく。
Octopress - WordPress から投稿データを移行! の記事を参考にWpXml2Mdを使ってxmlからmarkdownにコンバートする。
wp-content/uploads/
の画像をsource/images/
にコピーする。
表示おかしいところなどを確認して直す。
正直、syntax-hilighterの調整で戸惑ったので、もっといい方法があるはず。 jekyllとかoctpressの記事を調べてもっと良い方法探した方がいいかも。
2. Pureを少し使ってmiddleman-blogでコーディング
グリッドとページングのところにPureを使いました。@yterajimaさんのgemが便利です。 markdownはmiddleman-syntaxでredcarpet、Syntax-Hilightはmiddleman-rouge、コメントはmiddleman-disqusのgemを使いました。
3. githubにorganizationアカウントを作る
ドメインを割り当てたい場合の対策です。
ユーザーアカウントにプロジェクトリポジトリを作成した場合は、masterブランチをdeployするとgh-pagesブランチが生成されてそこにbuildしたファイルがdeployされます。
http://username.github.io/projectname
でgh-pagesブランチのファイルが表示されるはずです。
ドメインを割り当てる場合は、username.github.io
という名前でリポジトリを作成してそこにドメインを書いたCNAMEファイルを置きます。(置き場所はsource/
の下です。)
github pagesのカスタムドメインは1ユーザにつき1つしか設定できないので、自分の場合はcamuro.org用にcamuroというorganizationアカウントを作りました。
そしてorganizationアカウントで新しいリポジトリをcamuro.github.io
という名前で作成します。
camuro/camuro.github.io
という感じですね。
4. middleman-deployでdeploy
(deployする前に、$ middleman build
しておいてくださいね。)
以前書いていたのですが、公開してなかった記事があったのでついでに公開します。
Middleman 実践(4)- Githubページへデプロイする方法
上記の記事の方法はdeploy.branch
を指定しないと自動的にgh-pages
というブランチで生成されますが、ドメインを割り当てたい場合にはgh-pagesにCNAMEを置いても反映されず、あくまでmaster
ブランチでないと反映されません。
なので、config.rb
に次のように設定しておきます。
activate :deploy do |deploy|
deploy.method = :git
deploy.branch = 'master'
end
これで、$ middleman deploy
してあげるとmasterブランチにdeployされます。
まぎらわしいので本来のmasterブランチ的な役割はdevelop
というブランチ名で作りました。
Coiney開発者ブログを参考にしました。(coiney.github.io)。
トップレベルドメイン(TLD)でDNSの変更
独自ドメインの取得先で DNS を設定します。 DNS で camuro.org の Aレコードを 204.232.175.78 にセットします。 セットした後にターミナルで確認します。
dig camuro.org +nostats +nocomments +nocmd
反映されていたらこんな感じで表示されるはずです。
; <<>> DiG 9.8.5-P1 <<>> camuro.org +nostats +nocomments +nocmd
;; global options: +cmd
;camuro.org. IN A
camuro.org. 3600 IN A 204.232.175.78
これで、camuro.org
にアクセスしたらGithub Pagesに飛ぶようになります。
以上です!