LoginSignup
2
1

More than 5 years have passed since last update.

TL:DR

  • GitHub PagesはJekyll3.2だけど、Jekyll3.3のsiteを無理やりホストさせた

Jekyll on GitHub Pages

  • GitHubはJekyllを優遇していて、Jekyll siteをpushすると勝手にbuildしてpagesにアップロードしてくれる
  • 2016/10/30現在、GitHub PagesのJekyllは3.2
  • 3.2から、gem経由でthemeを適用できるようになった
    • ただし、現状のGitHub Pagesでは、デフォルトのテーマであるminimaのver1.2にしか対応していない

Jekyll 3.3

  • 何も考えずにgem installすると3.3が入る
  • 3.3からはcssもthemeで管理するようになった
  • Jekyll3.2が参照しているminimaは1.2だが、Jekyll3.3はminima2.0を利用する

GitHub Pagesで動かしてみる

インストール&動作確認

公式ページのquick startを参考にやってみる

~ $ gem install jekyll bundler
~ $ jekyll new myblog
~ $ cd myblog
~/myblog $ bundle exec jekyll serve

GitHub Pagesへpush

かつてはGitHub Pagesを利用するにはgh-pagesというブランチにpushする必要があったが、今は普通にmasterブランチの内容をpagesに反映してくれるので、何も考えずにpushすればよい。

~/myblog $ git init
~/myblog $ git add .
~/myblog $ git commit -m "first commit"
~/myblog $ git remote add origin https://github.com/yourname/yourproject.git
~/myblog $ git push origin master
~/myblog $ open yourname.github.io/yourproject

ただし、User PageではなくProject Pageの場合は、baseUrlの設定が必要なので、はじめてのJekyll on Github Pagesなどを参考にやっていく。

Jekyllのバージョンが違うと発生する問題と対策

  • そのままGitHubにpushすると、cssが見つからずにエラーになる
    • 3.3まではcssをthemeで管理していなかったので、minima1.2はcssを持っていない
      => minima2.0のsassをcss/main.sassに置く
  • index.htmlが表示されない
    • minima2.0のroot pageはhomeというlayoutを参照しているが、minima1.2にはhomeがない
      => home layoutの内容をそのままrootのindex.htmlにする

これで動くはず。

その他

  • 一応手元で動かす時はGemfileのJekyllを3.2にしてbundle exec jekyll serveとかしとくのが安心だと思う
  • 普通に3.2で作り直したほうが早い説はある
  • すぐにGitHub Pagesも3.3に対応すると思うので、待つのも良い
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1