mcpField
G
GithubPages

GithubPages

github.com/julianobarbosaクラウド・DevOps1468 回インストール2 日前に更新
リポジトリ

GithubPages について

GithubPages は、GitHub Pages サイトの設定、デプロイ、トラブルシューティングを支援するスキルです。ドメイン、Jekyll、カスタムビルド、公開のワークフローを案内します。

主な機能

  1. 01サイト設定と公開のガイド
  2. 02カスタムドメインと DNS 設定
  3. 03Jekyll のテーマと設定
  4. 04GitHub Actions のビルドワークフロー
  5. 05デプロイのトラブルシューティング

活用シーン

  1. 01ユーザーサイトやプロジェクトサイトの作成
  2. 02カスタムドメインの接続
  3. 03カスタムビルドでのサイト公開
  4. 04公開や HTTPS の問題の調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/julianobarbosa/claude-code-skills --skill githubpages

インストール後、Claude Code で/githubpagesを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
ActionsWorkflows.md
BestPractices.md
DnsConfiguration.md
JekyllConfiguration.md
Troubleshooting.md
scripts/
check-site-status.sh
verify-dns.sh
workflows/
ActionsWorkflow.md
CustomDomain.md
Deploy.md
JekyllSetup.md
QuickStart.md
Troubleshoot.md

詳細

GitHub Pages スキル

GitHub Pages サイトのデプロイ、設定、管理に関する完全ガイドです。

クイックリファレンス

サイトの種類リポジトリ名URL の形式
ユーザー/組織サイト<username>.github.iohttps://<username>.github.io
プロジェクトサイト任意のリポジトリ名https://<username>.github.io/<repo>

利用条件:

  • パブリックリポジトリ:GitHub Free(すべてのプラン)
  • プライベートリポジトリ:GitHub Pro、Team、Enterprise

ワークフローの振り分け

ワークフローを実行するときは、次の通知を直接出力してください:

Running the **WorkflowName** workflow from the **GithubPages** skill...
ワークフロートリガーファイル
QuickStart「GitHub Pages を設定」「Pages サイトを作成」workflows/QuickStart.md
CustomDomain「カスタムドメインを追加」「ドメインを設定」workflows/CustomDomain.md
JekyllSetup「Jekyll を設定」「Jekyll テーマを追加」workflows/JekyllSetup.md
ActionsWorkflow「カスタムビルド」「Pages 用 GitHub Actions」workflows/ActionsWorkflow.md
Troubleshoot「Pages が動作しない」「GitHub Pages を修正」workflows/Troubleshoot.md
Deploy「GitHub Pages にデプロイ」「サイトを公開」workflows/Deploy.md

例

例 1:新しい GitHub Pages サイトを作成する

User: "Setup GitHub Pages for my project"
→ Invokes QuickStart workflow
→ Checks if user/org or project site
→ Configures publishing source (branch or Actions)
→ Creates initial content structure
→ Verifies deployment

例 2:カスタムドメインを追加する

User: "Add my domain example.com to GitHub Pages"
→ Invokes CustomDomain workflow
→ Determines domain type (apex vs subdomain)
→ Provides DNS configuration instructions
→ Adds CNAME file or configures via Settings
→ Enables HTTPS enforcement

例 3:Jekyll テーマを設定する

User: "Add a theme to my GitHub Pages site"
→ Invokes JekyllSetup workflow
→ Lists available supported themes
→ Configures _config.yml
→ Sets up custom CSS/layouts if needed

例 4:カスタムビルドでデプロイする

User: "Deploy my Next.js site to GitHub Pages"
→ Invokes ActionsWorkflow workflow
→ Creates custom GitHub Actions workflow
→ Configures build process
→ Sets up artifact deployment

サイトの種類

ユーザー/組織サイト

要件:

  • リポジトリ名は <username>.github.io でなければなりません
  • アカウントごとに 1 つのみです
  • デフォルトブランチから公開されます

設定:

# Create repository named exactly: username.github.io
# Enable Pages in Settings > Pages
# Select source branch
プロジェクトサイト

要件:

  • 任意のリポジトリを使用できます
  • 複数のプロジェクトサイトを作成できます
  • URL にリポジトリ名が含まれます

設定:

# Any repository works
# Enable Pages in Settings > Pages
# Choose: branch (root or /docs) OR GitHub Actions

公開元

オプション 1:ブランチからデプロイする

おすすめ: Jekyll サイト、シンプルな静的サイト

設定:

  1. Settings > Pages に移動します
  2. 「Deploy from a branch」を選択します
  3. ブランチ(main、gh-pages など)を選択します
  4. フォルダーとして /(ルート)または /docs を選択します

動作:

  • ブランチへのプッシュをトリガーにビルドが自動的に実行されます
  • デフォルトで Jekyll が Markdown を処理します
  • カスタムドメイン用の CNAME ファイルが自動的に作成されます
オプション 2:GitHub Actions ワークフロー

おすすめ: カスタムビルド、Jekyll 以外のジェネレーター

設定:

  1. Settings > Pages に移動します
  2. 「GitHub Actions」を選択します
  3. .github/workflows/ にワークフローファイルを作成します

動作:

  • ビルドプロセスを完全に制御できます
  • Hugo、Gatsby、Next.js などで動作します
  • アーティファクトがアップロードされ、デプロイされます

Jekyll との統合

自動で有効になるプラグイン

これらのプラグインは GitHub Pages で自動的に動作します。

プラグイン目的
jekyll-coffeescriptCoffeeScript のサポート
jekyll-default-layoutレイアウトの自動設定
jekyll-gistGitHub Gist の埋め込み
jekyll-github-metadataリポジトリのメタデータ
jekyll-optional-front-matterYAML フロントマターの省略可能化
jekyll-paginateページネーション
jekyll-readme-indexREADME をインデックスとして使用
jekyll-titles-from-headingsタイトルの自動生成
jekyll-relative-links相対リンクの変換
対応テーマ

追加の設定なしで利用できます。

  • Architect
  • Cayman
  • Dinky
  • Hacker
  • Leap day
  • Merlot
  • Midnight
  • Minima
  • Minimal
  • Modernist
  • Slate
  • Tactile
  • Time machine

_config.yml での使用方法:

theme: jekyll-theme-minimal
title: My Site
description: Site description
リモートテーマ

GitHub の任意の Jekyll テーマを使用できます。

remote_theme: owner/repo-name

カスタムドメイン

ドメインの種類
種類例DNS レコード
エイペックスexample.comA または ALIAS
WWW サブドメインwww.example.comCNAME
カスタムサブドメインblog.example.comCNAME
DNS の設定

エイペックスドメインの場合(A レコード):

185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153

エイペックスドメインの場合(AAAA レコード - IPv6):

2606:50c0:8000::153
2606:50c0:8001::153
2606:50c0:8002::153
2606:50c0:8003::153

サブドメインの場合(CNAME レコード):

www.example.com → username.github.io
blog.example.com → username.github.io
確認用コマンド
# Check A records
dig example.com +noall +answer -t A

# Check AAAA records
dig example.com +noall +answer -t AAAA

# Check CNAME records
dig www.example.com +nostats +nocomments +nocmd

使用制限

リソース制限
リポジトリサイズ1 GB(推奨)
公開サイトのサイズ1 GB(最大)
帯域幅100 GB/月(ソフト制限)
ビルド10回/時間(ソフト制限、ブランチのみ)
デプロイのタイムアウト10分

制限事項:

  • サーバーサイド言語(PHP、Python、Ruby)は使用できません
  • 商取引や電子商取引は禁止されています
  • GitHub 利用規約を遵守する必要があります

セキュリティのベストプラクティス

  1. カスタムドメインを検証する - ドメイン乗っ取り攻撃を防ぎます
  2. ワイルドカード DNS を避ける - *.example.com はセキュリティリスクを生みます
  3. HTTPS を有効にする - 証明書の発行後は、常に HTTPS を強制します
  4. シークレットを公開しない - プライベートリポジトリからでも、公開サイトにはアクセスできます
  5. DNS を速やかに更新する - サイトを無効にする場合は、DNS レコードを更新または削除します

よくある問題と解決策

問題解決策
サイトが公開されないブランチ/フォルダーの設定を確認し、エントリーファイルが存在することを確認します
404 エラールートに index.html、index.md、または README.md があることを確認します
カスタムドメインが機能しないDNS の伝播に 24 時間待ち、dig でレコードを確認します
HTTPS を利用できないDNS の検証後、最大 1 時間待ちます
混在コンテンツの警告すべてのアセットで http:// を https:// に変更します
ビルドの失敗Actions タブでエラーログを確認します

ファイル参照

トピック参照ファイル
DNS の設定references/DnsConfiguration.md
Jekyll の設定references/JekyllConfiguration.md
Actions ワークフローreferences/ActionsWorkflows.md
トラブルシューティングガイドreferences/Troubleshooting.md
ベストプラクティスreferences/BestPractices.md

スクリプト

スクリプト目的
scripts/verify-dns.shカスタムドメインの DNS 設定を検証します
scripts/check-site-status.shGitHub Pages サイトが公開されているか確認します

外部ドキュメント

コメント