Jekyllを試す
ブログをGhostに移行したばかりですが、Jekyllを試してみました。
JekyllをGitHub Pagesに
ゼロから自分でやるのは流石に面倒なで、適当にJekyll用のテーマを漁ってみました。"Minimal Mistakes"というテーマがシンプルで良さそうだったので、これをコピーすることにします。
今回はお試しなので、自分でJekyllを導入せずにGitHub Pagesを利用してホスティングすることにします。
この場合、作業は簡単で"Minimal Mistakes"をForkして、リポジトリの名前を xxxxx.github.io に変換します。
設定
_config.yml
の最低限の設定は必要です。
localeに”ja-JP"をしていてブログのタイトルくらい書き換えます。 また、以下の設定は最低でも追記する必要があります。
# Defaults defaults: #_posts - scope: path: "" type: posts values: layout: single author_profile: true read_time: true comments: true share: true related: true
また、このテーマではデフォルトのレイアウトが single
なっており、よくJekyllの例で見るpost
ではないので注意が必要です。私は、面倒なので、'single.html'を'post.html'にコピーしました。
Ghostからの記事の取り込み
JekyllにはGhostの記事を取り込む幾つかのツールがあるようです。ghost.dbから直接取り出すツールもありますが、今回はGhostのバックアップファイルからJekyll用の記事を生成してくれるツールjekyll_ghost_importerを使用しました。
Ghostで抽出したバックアップファイルを指定すると、_postフォルダに全ての記事を所定のファイル名でJekyllの記事フォーマットに変換してくれます。
Ghostも、Jekyll用にテーマ"Minimal Mistakes"もルート直下の/images
フォルダに画像があると想定しているので、画像ファイルをそのままコピーすれば記事中の画像は全て再現できることがわかりました。1
ただし、記事中の画像は大丈夫ですが、記事のオーバーレイに使用される画像は情報がコピーされないので、必要であれば改めて指定していく必要があります。
また、タグ情報は全てコピーされます。しかし、Jekyllではタグとカテゴリーと2つの概念があり、どちらかというとGhostのタグはJekyllのカテゴリーに近いと思いますので、これもどのように運用するかを決めて修正が必要です。
そんな対応をすると、記事のタイトルは以下のような形になります。
--- title: PRONTO 100% スイカジュース header: teaser: 2016/06/IMG_0125.jpg overlay_image: 2016/06/IMG_0125.jpg title: "Watermelon Juice" date: '2016-06-19 21:45:06' categories: - foods-and-drink tags: - 2016 ---
Ghost vs Jekyll
GhostとJekyllを比較してみると、生成される記事の見栄えなどは結局テーマに依存するのであまり意味がなさそうです。
一つだけ記事を修正してみたので比べてみてください。Ghost版とJekyll版です。
まとめてみると
Ghost | Jekyll | |
---|---|---|
ソース形式 |
GitHub Flavored Markdown |
Markdownだが、Jekyll用のヘッダーの記述が必要 |
執筆環境 |
Ghostの管理画面で執筆。 常にライブプレビュー を確認しながら編集が可能。画像もドラッグ&ドロップで埋め込み可能。 |
自分の好きなEditorを利用で書ける 。画像ファイルは自分で配置して、URLを埋め込む。 |
CMSとして |
記事のアーカイブがまだ不完全。月別などのアーカイブは自分でなんとかする必要がある |
プラグインが豊富にあるので、なんとでもなる。ただし、GitHub Pagesではプラグインが制限される。 |
カスタマイズ |
ある程度はCode InjectionやNavigationなど管理画面から可能。その気になれば、テーマを直接編集も可能。コードの見通しは良い |
なんとでもなるが、全てエディタで自分で編集しなければならない。 |
Jekyllに移行する価値はあるか?
Jekyllのメリットは大きく3つあります。
- ローカルにソースも生成された完全な静的HTMLも残るため安心。
- そのため、ホスティングのハードルも低い
- GitHub Pagesならば無料で利用出来る
ただ、3.のGitHub Pagesは無料ですが、Jekyllによる生成はサーバー側で行われるため 1.のメリットが微妙に損なわれます。また、GitHubのDisk Quataの制限が1GBです。技術ブログでテキスト中心なら良いでしょうが、一般のブログで画像も貼り付けるとなかなか厳しい制約です。
また、Jekyllのプラグインが使えないという問題もあります。
そうすると、自分でJekyllで静的HTMLに変換したものをどこかにホスティングするかということになります。2.ホストのハードルは低いメリットが生きてきそうですが、今時はそもそもホスティングも安価になっているので取り立てて維持費の面でメリットがあるわけでもありません。2
結果としては、手元にソースと完全な静的HTMLが残るのが最もメリットです。うーん、微妙です。
こう言う自分で設定フィアルをいじっているのが楽しい時と、「面倒だからサービス使っちゃえ」という気分の時があるので、もう少し悩んでみます。
-
今回はGitHubの容量の制約があるので、画像ファイルはコピーしていません。 ↩
-
Ghostで運営しているこのサイトともDigitalOceanで運営していますが、月$5程度です。 ↩