Rubyが好きなプログラマーの日記。日々の生活、開発に関するメモとか考えとか。
今朝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のプロジェクトでどんどん使っていこう。 そして最後に残る唯一の問題は、サイトデザインやドキュメントを書く能力が自分には足りてないということなので、ついにそこと向き合わざるを得ない。