GitHub Pages

GitHub Pagesは、ユーザー、組織、リポジトリ向けの公開Webページであり、GitHubのgithub.ioドメインまたは選択したカスタムドメイン名で無料でホストされます。GitHub PagesはJekyllによって動作しているため、Jekyllで作成したWebサイトを無料でホストするのに最適な方法です。

ソースファイルをプッシュすると、サイトはGitHub Pagesによって自動的に生成されます。GitHub Pagesは、Jekyllがフロントマターのないファイルを静的アセットとして扱うため、通常のHTMLコンテンツでも同様に機能することに注意してください。そのため、生成されたHTMLのみをプッシュする必要がある場合は、それ以上の設定なしで作業できます。

GitHub Pagesのドキュメントは包括的であり、Jekyllを使用してGitHub Pagesサイトを設定するためのガイドが含まれています。このガイドに従うことをお勧めします。

このページには、JekyllでGitHub Pagesサイトを操作する際に役立つ追加情報がいくつか含まれています。

GitHub Pagesのドキュメント、ヘルプ、サポート

GitHub Pagesでできることの詳細、およびトラブルシューティングガイドについては、GitHubのPagesヘルプセクションをご覧ください。それでも解決しない場合は、GitHubサポートにお問い合わせください。

プロジェクトページのURL構造

gh-pagesブランチをGitHubにプッシュする前に、Jekyllサイトをプレビューすると便利な場合があります。GitHubがプロジェクトページに使用するサブディレクトリのようなURL構造は、URLの適切な解決を複雑にします。サイトが正しくビルドされるようにするには、便利なURLフィルターを使用してください。

<!-- For styles with static names... -->
<link href="{{ 'assets/css/style.css' | relative_url }}" rel="stylesheet">
<!-- For documents/pages whose URLs can change... -->
[{{ page.title }}]("{{ page.url | relative_url }}")

このようにして、localhostのサイトルートからサイトをローカルでプレビューできますが、GitHubがgh-pagesブランチからページを生成すると、すべてのURLが正しく解決されます。

JekyllをGitHub Pagesにデプロイする

GitHub Pagesは、GitHub上のリポジトリの特定のブランチを参照することで機能します。利用可能な基本的なタイプは2つあります:ユーザー/組織ページとプロジェクトページです。これら2種類のサイトをデプロイする方法は、いくつかの小さな点を除いてほぼ同じです。

ユーザーおよび組織のページ

ユーザーおよび組織のページは、GitHub Pagesファイル専用の特別なGitHubリポジトリにあります。このリポジトリには、アカウント名と同じ名前を付ける必要があります。たとえば、@mojomboのユーザーページリポジトリの名前はmojombo.github.ioです。

リポジトリのmasterブランチのコンテンツを使用してGitHub Pagesサイトがビルドおよび公開されるため、Jekyllサイトがそこに保存されていることを確認してください。

カスタムドメインはリポジトリ名に影響しません

GitHub Pagesは、最初はusername.github.ioサブドメインで公開されるように設定されているため、カスタムドメインを使用している場合でも、リポジトリはこのように名前を付ける必要があります。

プロジェクトページ

ユーザーおよび組織のページとは異なり、プロジェクトページは、対象のプロジェクトと同じリポジトリに保持されます。ただし、Webサイトのコンテンツは、特別に名前が付けられたgh-pagesブランチ、またはmasterブランチのdocsフォルダーに保存されます。コンテンツはJekyllを使用してレンダリングされ、出力はユーザーページのサブドメインのサブパス(username.github.io/projectなど)で利用できるようになります(カスタムドメインが指定されていない場合)。

Jekyllプロジェクトリポジトリ自体は、このブランチ構造の完璧な例です。masterブランチにはJekyllの実際のソフトウェアプロジェクトが含まれており、現在見ているJekyll Webサイトは、同じリポジトリのdocsフォルダーに含まれています。

詳細な例については、ユーザー、組織、プロジェクトのページに関するGitHubの公式ドキュメントを参照してください。

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

GitHub Pagesはオーバーライド “サイトソース”設定値なので、ルートディレクトリ以外の場所にファイルを配置すると、サイトが正しくビルドされない場合があります。

Windowsにgithub-pages gemをインストールする

Windowsは公式にはサポートされていませんが、Windowsにgithub-pages gemをインストールすることは可能です。特別な手順については、Windows固有のドキュメントページをご覧ください。

ローカルでの実行とテスト

プロジェクトがgithub-pages環境で設定されると、ローカル設定と本番レベルの設定を簡単に切り替えることができなくなります。そのため、特定のCLIオプションを使用してワークフローを円滑に進めることができます。

bundle exec jekyll serve --baseurl=""

これは、ローカルマシン、つまりhttp://localhost:4000でjekyllサーバーを実行します。使用可能なオプションについては、サーバーオプションを参照してください。