jekyllで作成したページをローカルでプレビューする

TL;DR

  • Ubuntu Desktop 環境で jekyll serve を使えるようにした

UbuntuでGithub Pagesに公開するjekyllで作成したサイトをローカルで確認できるようになることが目標。 ちなみにUbuntu 16.04 LTS。


rbenvを用いたRuby環境の構築

version management toolであるrbenvを用いてRuby環境を構築する。
まずは必要な依存関係のあるパッケージをインストール。

$ sudo apt-get update
$ sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev nodejs

必要なrepositoryをcloneしてpathを通す。

$ cd
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ exec $SHELL
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
$ echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
$ exec $SHELL

Rubyをインストールする。とりあえずglobalの環境も2.4.0にしておくが、この辺は好みで。

$ rbenv install 2.4.0
$ rbenv global 2.4.0
$ ruby -v
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]

最後に3rd party製のlibraryを管理するためのgemを扱うのに有用なbundlerを入れておく。

$ gem install bundler


Railsをインストール

Railsでアプリケーションを動かすために必要になるNode.jsもインストールする。

$ curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
$ sudo apt-get install -y nodejs
$ gem install rails -v 5.0.1
$ rbenv rehash
$ rails -v
Rails 5.0.1


jekyllとgithub-pagesのインストール

これも素直に入れるだけ。

$ gem install jekyll
$ gem install github-pages


repositoryをcloneしてきてローカルで確認

自分の場合はこんな感じ。

$ git clone https://github.com/yoheikikuta/yoheikikuta.github.io.git
$ cd yoheikikuta.github.io/
$ jekyll serve
Configuration file: /home/yohei/git/yoheikikuta.github.io/_config.yml
...
    Server address: http://127.0.0.1:4000/
...

これでブラウザで http://127.0.0.1:4000/ にアクセスすれば確認できる。
止める場合は Ctrl+c で止める。ちなみに起動中にファイルを変更して保存すると自動的にウェブページの再生成が走るので、ブラウザをリロードすれば変更を確認できる。

最も基本的な使い方はこんなもんでしょうか。


20180728 追記
結局ローカルで環境構築をするのが大変なので、docker を使うことにした。 自分で色々いじってたがなんか gem でうまくいかなかったりしていたところ、https://github.com/envygeeks/jekyll-docker を見つけた。
xxx.github.io の top directory で以下を実行すればよい。

docker run -it --rm -p 4000:4000 -v $(pwd):/srv/jekyll jekyll/jekyll jekyll serve

ありがとうございます。




Written on January 17, 2017