mcpField
P
publish-to-pages

publish-to-pages

github.com/githubクラウド・DevOps40.5k1.8k 回インストール1 日前に更新
リポジトリ

publish-to-pages について

プレゼンテーションやウェブコンテンツを GitHub Pages に公開するスキルです。HTML、PPTX、PDF、Google Slides を入力でき、変換からリポジトリ作成、Pages 設定まで行います。

主な機能

  1. 01HTML、PPTX、PDF、Google Slides に対応
  2. 02プレゼンテーションを HTML に変換
  3. 03外部アセットで大容量ファイルに対応
  4. 04GitHub リポジトリの作成とプッシュ
  5. 05GitHub Pages の公開設定

活用シーン

  1. 01プレゼンテーションをウェブページとして公開
  2. 02PDF をページ画像に変換してナビゲーションを追加
  3. 03HTML コンテンツを GitHub Pages にデプロイ

インストール

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

$npx skills add https://github.com/github/awesome-copilot --skill publish-to-pages

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

同梱ファイル

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

scripts/
convert-pdf.py
convert-pptx.py
publish.sh

詳細

publish-to-pages

プレゼンテーションやウェブコンテンツを、一度の操作で GitHub Pages に公開します。

1. 前提条件の確認

これらを無言で実行してください。エラーのみ表示してください:

command -v gh >/dev/null || echo "MISSING: gh CLI — install from https://cli.github.com"
gh auth status &>/dev/null || echo "MISSING: gh not authenticated — run 'gh auth login'"
command -v python3 >/dev/null || echo "MISSING: python3 (needed for PPTX conversion)"

poppler-utils は任意です(pdftoppm による PDF 変換で使用します)。これがなくても処理を中断しないでください。

2. 入力の判定

ユーザーから提供された内容に基づいて、入力の種類を判定します:

入力判定方法
HTML ファイル拡張子が .html または .htm
PPTX ファイル拡張子が .pptx
PDF ファイル拡張子が .pdf
Google Slides の URLURL に docs.google.com/presentation が含まれている

指定されていない場合は、ユーザーに リポジトリ名 を尋ねてください。デフォルトは、拡張子を除いたファイル名です。

3. 変換

大きなファイルの処理

どちらの変換スクリプトも、大きなファイルを自動検出して外部アセットモードに切り替えます:

  • PPTX: 20MB 超、または画像が 50 個を超えるファイル → 画像を assets/ に個別ファイルとして保存
  • PDF: 20MB 超、またはページ数が 50 を超えるファイル → ページの PNG を assets/ に保存
  • 150MB を超えるファイルでは警告が表示されます(PPTX の場合は、代わりに PDF 経由の方法が推奨されます)

これにより、各ファイルのサイズを GitHub の 100MB 制限より十分小さく抑えられます。小さなファイルは引き続き、単一の自己完結型 HTML を生成します。

--external-assets または --no-external-assets を指定して動作を強制できます。

HTML

変換は不要です。ファイルをそのまま index.html として使用します。

PPTX

変換スクリプトを実行します:

python3 SKILL_DIR/scripts/convert-pptx.py INPUT_FILE /tmp/output.html
# For large files, force external assets:
python3 SKILL_DIR/scripts/convert-pptx.py INPUT_FILE /tmp/output.html --external-assets

python-pptx が見つからない場合は、ユーザーに pip install python-pptx と伝えてください。

PDF

付属のスクリプトで変換します(pdftoppm を使用するため、poppler-utils が必要です):

python3 SKILL_DIR/scripts/convert-pdf.py INPUT_FILE /tmp/output.html
# For large files, force external assets:
python3 SKILL_DIR/scripts/convert-pdf.py INPUT_FILE /tmp/output.html --external-assets

各ページは PNG としてレンダリングされ、スライドナビゲーション付きの HTML に埋め込まれます。 pdftoppm が見つからない場合は、ユーザーに apt install poppler-utils(または macOS では brew install poppler)と伝えてください。

Google Slides
  1. URL からプレゼンテーション ID を抽出します(/d/ と / の間にある長い文字列)
  2. PPTX としてダウンロードします:
curl -L "https://docs.google.com/presentation/d/PRESENTATION_ID/export/pptx" -o /tmp/slides.pptx
  1. 次に、上記の変換スクリプトを使って PPTX を変換します。

4. 公開

公開範囲

リポジトリはデフォルトで公開として作成されます。ユーザーが private を指定した場合(またはプライベートリポジトリを希望した場合)は、--private を使用してください。ただし、プライベートリポジトリで GitHub Pages を使うには、Pro、Team、または Enterprise プランが必要です。

公開
bash SKILL_DIR/scripts/publish.sh /path/to/index.html REPO_NAME public "Description"

ユーザーが希望した場合は、public の代わりに private を渡してください。

スクリプトはリポジトリを作成し、index.html(存在する場合は assets/ も)をプッシュして、GitHub Pages を有効にします。

注: 外部アセットモードを使用した場合、出力 HTML は assets/ 内のファイルを参照します。公開スクリプトは assets/ ディレクトリを自動検出し、HTML ファイルと一緒にコピーします。HTML ファイルとその assets/ ディレクトリが、同じ親ディレクトリにあることを確認してください。

5. 出力

ユーザーに次の内容を伝えてください:

  • リポジトリ: https://github.com/USERNAME/REPO_NAME
  • 公開 URL: https://USERNAME.github.io/REPO_NAME/
  • 注: ページが公開されるまで 1~2 分かかります。

エラー処理

  • リポジトリがすでに存在する: 数字(my-slides-2)または日付(my-slides-2026)を末尾に追加することを提案します。
  • Pages の有効化に失敗する: リポジトリの URL は引き続き返します。ユーザーはリポジトリの Settings で Pages を手動で有効にできます。
  • PPTX の変換に失敗する: ユーザーに pip install python-pptx を実行するよう伝えてください。
  • PDF の変換に失敗する: poppler-utils のインストールを提案します(apt install poppler-utils または brew install poppler)。
  • Google Slides のダウンロードに失敗する: プレゼンテーションが一般公開されていない可能性があります。閲覧可能にするか、PPTX を手動でダウンロードするようユーザーに依頼してください。

コメント