はてなブログからJekyllを使ったGitHub Pagesに移行した理由
Table of Contents
長年利用していたはてなブログ
からGitHub Pages上でJekyllを使った静的生成サイトに移行しました。
この記事ではなぜ移行したのか?なぜJekyllなのか?なぜGitHub Pagesなのか?といった選定理由や移行理由などについて
まとめてあります。
移行したかった理由
- カスタマイズが非常にやりにくかった
細かい理由はありますが、この1点が常に不便で作りたいサイトが作れない煩わしさがありました。
パンくずリストを配置したい.グロナビを配置したい.関連記事による回遊率を上げたい.toc置きたい. 決められた場所ではなくもっと全体的に自由に改変したい。 という欲が常に付きまとい、CSSやJavascriptを弄るなどして我慢していましたが、
移行先について調べてしまったら追加で
- 記事に対して自動処理を挟みたい時に挟めるなど実現可能性を確保しておきたい
- 自分のブランディングに対して独自ドメインが必須だが、無料アカウントではできない
- 得た知識で自分でSEO対応したブログを作ってみたい
- Ruby製ツールに慣れることでRubyスキルもあげれるかもしれない。
などの欲も出てきて、移行することを決断しました。 ちなみにこのように移行について深刻に悩んだのは5回目ぐらいです。
移行先にGitHub Pagesを選んだ理由
ホスティング先をGitHub Pagesを選んだ理由は至ってシンプルで、技術ブログっぽいしエンジニアっぽいって理由なだけです。
静的サイト生成ツールにJekyllを選んだ理由
もともとはMiddlemanを予定していました
理由はRubyで書かれたツールで、View周りをHamlで書くことができたためです。
しかし、Middlemanを調べると同じようにMiddlemanから別ツールに移行する記事もありました。
それら記事はプレビューや記事速度が遅すぎるという理由でHUGOに移行していました。
HUGOはGolang製でGo言語の処理速度により記事生成やプレビューがとにかく早い。が売りでした。
しかし自分はこれを検討はしたものの採用はしませんでした。なぜならGo言語についてあまり構文を理解していないので、
プラグイン作成とかちょっとしたView内コードを書くなどカスタマイズしたいときにGo言語が障害となりうると思っていたからです。
実際サンプル覗いてもGo言語特有にret, error := hoge
というエラーとレスポンスの同時受け取りが目に入り、却下しました。
他にどんなツールがあるから調べた
もともと知っているツールが少なかったこともあって、一度全体的に静的サイト生成ツールについて情報収集を行いました。 結果Ruby製でMiddlemanとJekyllがありました。
このときMiddlemanではなくJekyllに揺れた理由として
- MiddlemanのRepositoryが動いていない
- JekyllはGitHub Pagesが公式サポートしている
の2点です。
Jekyllはmasterにpushすれば自動生成される仕組みがある
Jekyllにはgithubが用意するgemに則ったサイト構成であれば、masterにpushするだけであとの生成は、github側が自動で生成してくれるらしいです。 自分もその恩恵にあやかろうと思っていたのですが、対象のRuby言語バージョンが低くて、流石にここまで低いバージョンでメンテやカスタマイズしたくないなと思い、 自分でdeploy用スクリプトを用意して運用しています。
JekyllのViewがLiquidで苦労する
JekyllのViewはLiquidという慣れないビューエンジンを使っており、最初大変でしたが、 Jekyllのサイトが日本語で書いてあり結構分かりやすかったので、 チュートリアルをやったりして覚えました。
カスタムタグがRubyで書ける
Markdown中に記載できるタグを自作ができて、かつRubyで処理を書くので、Rubyに触る機会が増やす目的は達成できたかなと思います。
ドメインにはムームードメインを使った
自分用のドメインを買うのにもどこがいいか調べた結果ムームードメインにしました。 もともとはGMOのどれかにしようと目星は付けていましたが、 同じ親会社のサービスであるお名前.comは代理公開が有料だったので、ムームードメインにしました。 GMOに絞った理由は、ドメインという運用において数多く、そして長く運用している=安定性が高い。という決断です。