mcpField
H
html-slide-presenter

html-slide-presenter

github.com/lensetekその他013 回インストール1 日前に更新
リポジトリ

html-slide-presenter について

html-slide-presenterは、ブラウザーで表示するプレゼンテーションを作成するスキルです。授業や投影向けに、オフラインで動作する単一のHTMLファイルを生成し、操作やQRコード、PDF出力に対応します。

主な機能

  1. 0116:9のHTMLスライド生成
  2. 02単一ファイルでオフライン動作
  3. 03キーボードとタッチ操作
  4. 04インタラクティブなQRコード生成
  5. 05印刷によるPDF出力

活用シーン

  1. 01教室で授業内容を投影
  2. 02プレゼンソフトなしでスライド表示
  3. 03QRコードからクイズへ誘導
  4. 04スライドをPDFに出力

インストール

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

$npx skills add https://github.com/lensetek/course-agent-skills --skill html-slide-presenter

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

詳細

HTML スライドプレゼンター 📽️

html-slide-presenter は、プロプライエタリアプリをインストールせずにブラウザー上で直接動作する、プロフェッショナルな品質のビジュアルプレゼンテーションスライドを生成します。


🌟 プレゼンテーションの主な機能

  1. 正確な 16:9 のアスペクト比:
    • プロジェクター画面、スマートテレビ、教室のモニター、インタラクティブフラットパネル(IFP)向けに、適切な比率で設計されています。
  2. 100%自己完結型の単一ファイル(オフライン対応):
    • CSS スタイルと JavaScript のインタラクティブ機能がすべて、単一の index.html ファイルに直接埋め込まれています。ローカルサーバーや外部インターネット接続は必要ありません。
  3. 高コントラストで見やすいタイポグラフィ(デフォルトはライトテーマ):
    • 清潔感のある白/オフホワイトの背景(#ffffff / #f8fafc)に、くっきりとした文字色(Slate #0f172a および #1e293b)を使用しています。明るい照明の下でも、教室の後方の席から文字をはっきり読めます。
  4. キーボードとタッチによるナビゲーション:
    • 右矢印キー/Space/クリック:次のスライド。
    • 左矢印キー/Backspace:前のスライド。
    • F キー:全画面表示の切り替え。
    • スライド番号と進行状況バーを下部に表示します。
  5. 組み込みのインタラクティブ QR コード(生徒の参加促進):
    • クイズスライドまたは最後のスライドでは、スマートフォンでスキャンするとインタラクティブなクイズや課題資料を開ける QR コードが、ローカルで SVG/Canvas として自動生成されます。
  6. PDF への即時エクスポート(@media print):
    • 「PDF に印刷」ボタンを備えています(または Ctrl+P を押すだけです)。CSS の印刷ルールによってページが区切られ(page-break-after: always)、余白がゼロに設定されるため、各スライドがランドスケープ向きの高解像度 PDF の 1 ページになります。

📐 HTML スライドのコード構造テンプレート

<!DOCTYPE html>
<html lang="id">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Sesi 01: Pengantar Materi</title>
  <style>
    @page { size: 16in 9in; margin: 0; }
    body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: #f1f5f9; color: #0f172a; }
    .slide-deck { display: flex; align-items: center; justify-content: center; min-height: 100vh; }
    .slide { width: 1280px; height: 720px; aspect-ratio: 16/9; background: #ffffff; border-radius: 12px; box-shadow: 0 10px 25px rgba(0,0,0,0.1); padding: 50px 70px; box-sizing: border-box; display: none; flex-direction: column; justify-content: space-between; }
    .slide.active { display: flex; }
    h1 { font-size: 2.8rem; color: #0f172a; margin-bottom: 0.5rem; }
    p { font-size: 1.35rem; color: #334155; line-height: 1.6; }
    @media print {
      body { background: white; }
      .slide-deck { display: block; }
      .slide { display: flex !important; width: 100vw; height: 100vh; page-break-after: always; box-shadow: none; border-radius: 0; }
    }
  </style>
</head>
<body>
  
</body>
</html>

コメント