Satoryu's Diary

Rubyが好きなプログラマーの日記。日々の生活、開発に関するメモとか考えとか。


2016年08月18日 [長年日記]

_ Jekyll でGithub Pageを作ってみた。

今朝GithubのブログでGithub Pagesがリポジトリの/doc ディレクトリから公開できるようになったことがアナウンスされた。 これのおかげで、プルリクエストの変更でドキュメントも変更が必要になった場合、忘れずに一緒に行うことができるようになる。 ということで、本格的にGithub Pages を試してみた。

まずは、Github上でUser Pages 用のリポジトリを作る。 特別なことは必要なく、通常のリポジトリ作成と同様に、Github上の新規リポジトリ作成を行う。その際に、リポジトリ名を USERNAME.github.io とすることでそこのmaster ブランチに登録されたものがGithub Pages のコンテンツとしてデプロイされる。Jekyll の場合は、ビルドまでも自動的に行なってくれる。リポジトリ作成後に、そのリポジトリをclone する。

$ git clone git@github.com:satoryu/satoryu.github.io
$ cd satoryu.github.io

その後、Jekyll をインストールし、プロジェクトを作成する。 インストールからJekyllのプロジェクトの作成までは、railsと同様の手順だ。 Jekyllはgem として配布されているので、gemコマンドでインストールする。 その後、jekyll new サブコマンドでプロジェクトを作成する。

$ gem install jekyll
$ jekyll new .

この後はまってしまったのだが、Github Pagesで利用するには、生成されたGemfile にあるように、gem 'jekyll を削除して、gem 'github-pages'を追加する必要がある。 ということで結果的にGemfile は以下のようになる。

source "https://rubygems.org"

gem "minima"

gem "github-pages", group: :jekyll_plugins

そこで、bundle install する。その後、jekyll new で再度プロジェクトを生成し直す。github-pages が依存しているjekyll と最新のものとでバージョンが異なる場合があるためだ。この時は、bundle exec 経由で実行する。

$ bundle exec jekyll new . --force

以上で出来上がったものをコミットして、git push origin master とすれば自動的にビルドされて展開される。

出来上がったものがこれ。

無料で簡単に静的コンテンツをおけるのはとても便利な上に、リポジトリ内でドキュメントの扱いがしやすくなったので、OSSのプロジェクトでどんどん使っていこう。 そして最後に残る唯一の問題は、サイトデザインやドキュメントを書く能力が自分には足りてないということなので、ついにそこと向き合わざるを得ない。

参考


最近の投稿

翻訳しました(ちょっとだけ)

follow us in feedly