先日の記事で、 ブログシステムとしてGhostを使ってherokuにデプロイする話を紹介しました。
ところが使い始めてみるといくつか問題がありました。
- herokuはアクセスが無いとスリープするので、サイトを初めて開くときに時間がかかる
- 常にアクセスが来るとスリープはしなくなるが、Freeプランの範囲を越えてしまい、Hobbyにアップグレードするように催促が来る
- 画像ファイルを置けないのはやはり多少不便である
そこで、hexoに移行してみることにしました。デプロイ先はgithub.ioです。 github.ioがどこまで使えるのかは分かりませんが、少なくともherokuのfree planよりはよさそうです。
hexoはghostと違ってスタティックなサイトを生成するだけですが、markdown形式のファイルを入力とするので、 移行は比較的楽かと期待しました。 Ghostのmarkdownプレビュー機能は便利だったのですが、それは残念ながら諦めることにしました。ちゃんと探していませんが、オーサリング側の拡張もありそうです。
移行時に気づいたことをまとめておきます。 全体的に、Ghostの方が出来が良くて、hexoでやりたいことを再現するのに苦労した感じです。
markdownの変換が不完全な場合がある
Ghostでは問題なかったmarkdownの変換がhexoではうまく行かないケースがいくつかありました。
今回テンプレートにhandlebarsを使ったのでそれが原因かもしれません。
例えば、{{foo}}
のような記述がうまく変換できませんでした。{{foo}}
とすることで解決。
他にも、<code>
の変換結果が異なりました。これは問題という訳でもないですが。
handlebarsがサポートされていない
Ghostで標準のhandlebarsがhexoではコミュニティサポートであり、サポートされていませんでした。 どうやら、hexo v2からhexo v3で大幅な変更があったようで、プラグインなどが追従できていないようです。 これはなんとかしました。
Casperの移植が大変だった
Ghostの標準テーマであるCasperががシンプルで使いやすくて気に入っていたのですが、 hexoのテーマには似たようなものがありませんでした。以前のCasperを移植したものはありましたが、 機能やデザインがいまいちでした。 Ghostに戻ろうかと何度も挫折しましたが、結果的になんとか自分が使いたいCasperの機能とデザインは移植できました。
まとめ
当初の目的であった、herokuの課題への対応は、github.ioになったことで解消されました。 hexoで苦労したのはどれもCasperを使おうとしたことに起因するので、もっと素直に使う分には問題ないかもしれません。 苦労したおかげでテーマのテンプレートやCSSは理解が進んでいじりやすくなりました。
最後に一つ学んだこと、Ghostすごい。WordPressを置き換えることができるかもしれません。 (ただ、単純に代替として使うという意識ではきっとダメです、新世代に移行するという意識でないと)
機会があったらどこかでGhostもまた使いたいです。
コメント