GitHub Pagesについて

GitHub Pages はユーザや、組織、そしてレポジトリ (これらはGitHubの github.io ドメインあるいは、ユーザが選んだドメイン名で自由にホストされます) のための公開できるウェブページです。GitHub Pages は 裏側でJekyllが動作しており、通常のHTMLコンテンツをサポートすることに加え、 Jekyllで動作するウェブサイトを無料でホストするとても優れた方法です。

GitHub Pages へ Jekyll をデプロイ

GitHub上のレポジトリのあるブランチを指定することでGitHub Pagesは動作します。 利用できる2つの基本的なタイプがあります:ユーザー/組織のページとプロジェクトのページです。 2,3の細かな部分を除いて、これら2つのタイプのサイトをデプロイする方法は、ほとんど同じです。

ユーザーと組織ページ

GitHub Pagesファイル専用の特別なGithubレポジトリでユーザーと組織ページは動作します。 このレポジトリは、アカウント名をとって名付けられなければなりません。たとえば、 @mojomboというユーザのレポジトリ は、mojombo.github.ioという名前になります。

あなたのレポジトリのmasterブランチの内容はGitHub Pagesサイトの構築・公開するのに 使用されるので、あなたのJekyllサイトがそこに保存されてることを確認してください。

カスタムドメインの場合はレポジトリ名の制限はありません

GitHub Pagesはまず最初にusername.github.ioサブドメインで 動作するように構成されます。 そして、これがカスタムドメインが利用されるとしても、 リポジトリにこのような名前を付けられなければならない理由です。

プロジェクトページ

ユーザーと組織ページと違って、プロジェクトページは彼らのプロジェクトと同じリポジトリに 保存されますが、ウェブサイトコンテンツは特別な名前をつけられたgh-pagesブランチに保存されます。 このブランチのコンテンツはJekyllを利用して生成されます。そして出力されたものは あなたのユーザーページのサブドメイン、例えばusername.github.io/project (明示的なカスタムドメインでない限り。下記参照)のような形で利用できます。

Jekyll プロジェクトのリポジトリ自体が — このmaster ブランチ を含むブランチ構成が — Jekyllというソフトウエアの完璧な例になっています。 しかし、Jekyllウェブサイト(あなたがたった今見ているこのサイト)は同じリポジトリの gh-pages ブランチ に含まれているものになります。

ソースファイルはルートディレクトリ内にある必要があります

Github Pages は “Site Source” 設定値を 上書きします。 だから、ルートディレクトリ以外のソースファイルを探そうとした場合、 正しくビルドできない可能性があります。

Project Page URL Structureについて

時々、あなたのJekyllサイトのgh-pagesブランチをGitHubへpush する前にプレビューするとよい です。しかし、GitHubがプロジェクトページのために使用するサブディレクトリのようなURL構造は URLの適切な解決を困難にします。 そこで、ローカルでにJekyllサイトをプレビューする機能を維持する GitHubGitHub Project Page URL structure (username.github.io/project-name/) を 利用するアプローチがあります。

  1. _config.yml ファイルにて、baseurl オプションを/project-nameに設定します。 – 先頭にスラッシュをつけて、最後にスラッシュをつけないことに注意してください。
  2. JSやCSSファイルを参照する際は、次のようにしてください: {{ site.baseurl }}/path/to/css.css – 変数に続いてスラッシュを記述することに注意してください。(”path”のすぐ前に記述)
  3. パーマリンクや内部リンクを行う時には、次のようにしてください: {{ site.baseurl }}{{ post.url }} – 2つの変数の間にスラッシュはないことに注意してください。
  4. 最後に、もしあなたがコミット・デプロイする前にプレビューしたい場合はjekyll serveを実行してください。 --baseurl オプションに空文字列を渡せばlocalhost:4000で見ることができます。(最初に/project-nameをつけることなしに)

この方法ならlocalhost上でサイトのトrootからあなたのサイトを手元でプレビューすることができます。 しかし、gh-pages ブランチからあなたのページをGitHubが生成する時にはすべてのURLは /project-name で始まり、適切に解決されます。

GitHubのページマニュアル、ヘルプ、サポート

GitHub Pagesを使って何ができるかのさらに詳細な情報が必要な場合やだけでなく、 トラブルシューティングガイドについては GitHub’s Pages Help sectionをチェックアウトする必要があります。 それらのすべてでも解決しない場合にはGitHub サポートにご連絡ください。