Table of Contents
今日、よりシンプルにGitHub Pagesを使えるようになったというアナウンスがあり、ソース設定という新機能が追加されていたので、さっそく試してみた話。
GitHub Pagesの新機能: ソース設定
GitHub PagesにはUser Pages、Organization Pages、Project Pagesの三種類があるが、ソース設定が使えるのはProject Pages、つまりGitHubリポジトリごとに使えてusername.github.io/projectname
のようなURLのやつだけ。
今まではProject Pagesで公開するサイトのソースはgh-pages
という名のブランチに置く必要があったが、ソース設定によりmaster
ブランチのルートに置いたりmaster
ブランチの/docs
フォルダに置いたりもできるようになった。
ソース設定の使い道
Pcap4Jのホームページのソースをmaster
ブランチの/docs
フォルダに置く設定にしたら捗った。
Pcap4JのホームページはHugoで作っていて、以前は、Hugoのソースをpcap4j-hpリポジトリのmasterブランチに置き、gh-pages
ブランチを作ってそこにHugoのビルド成果物(=ホームページのソース)を入れていた。
ローカルPCでは、master
をcloneして、そこからgit worktree
でgh-pages
を別のフォルダにチェックアウトしておいてあり、Hugoのビルドオプションでgh-pages
のフォルダにビルド成果物を出力するようにしていた。
これだと、ホームページを修正したい場合、まずmaster
でHugoソースを修正してgit add/commit/push
、次いでビルドしてgh-pages
フォルダに移動してgit add/commit/push
、というように、二度手間で面倒だった。
Hugoのビルド成果物をmaster
ブランチの/docs
フォルダに置けるようにできれば、git add/commit/push
はビルド後にmaster
に対して一回だけやれば済むようになる。
gh-pagesからmasterブランチの/docsフォルダへの移行
GitHubのヘルプを参考にしつつ、
- ローカルPCで、
master
の作業ディレクトリのルートにdocs
というフォルダを作り、gh-pages
のフォルダの中身を全てそこに移動。 master
のdocs
をgit add/commit/push
。GitHubのpcap4j-hpリポジトリのページに行き、SettingsタブのGitHub PagesセクションのSourceを
gh-pages branch
からmaster branch /docs folder
に変えてSaveボタンをクリック。
実にこれだけ。 カスタムドメインにしていてもこれだけ。簡単。ダウンタイムもなし。
あとはローカルPCのgh-pages
の作業ディレクトリを削除したり、gh-pages
ブランチを削除したり。