このプロジェクトは Marp (Markdown Presentation Ecosystem) を使用して、マークダウンベースのプレゼンテーションスライドを作成・管理するためのものです。
デモ: https://toku345.github.io/marp-slides/
- マークダウンでスライド作成: テキストエディタで簡単にプレゼンテーション作成
- バージョン管理対応: マークダウンファイルなのでGitで管理しやすい
- 複数形式に出力: HTML、PDF、PowerPointに対応
- カスタマイズ可能: CSSでテーマを自由にカスタマイズ
- リアルタイムプレビュー: VS Code拡張やプレビューサーバーで即座に確認
marp-slides/
├── .claude/
│ ├── agents/ # Claude Code用Subagents
│ │ ├── slide-creator.md # スライド新規作成
│ │ ├── slide-reviewer.md # 品質チェック・視覚検証
│ │ └── slide-builder.md # ビルド・出力
│ └── skills/
│ └── creating-marp-slides/ # Claude Code用Marpスキル(プロジェクト固有ルール)
├── slides/ # スライドファイル(.md)
│ └── images/ # スライド用画像(CLI・VS Code両対応)
├── scripts/ # ビルドスクリプト(Biome で lint)
├── themes/ # カスタムテーマ(.css)
├── assets/ # その他のリソース
└── dist/ # 出力先(HTML/PDF/PPTX)
スライドで使用する画像は slides/images/ に配置してください。この配置により:
- CLI プレビュー (
bun run preview) で正しく表示される - VS Code Marp 拡張機能のプレビューでも正しく表示される
- 相対パス
./images/filename.pngで参照可能
詳細は GitHub Issue #163 を参照。
- Bun (>= 1.3.2)
# 依存関係をインストール
bun installVS Code で「Marp for VS Code」拡張機能をインストールすると、リアルタイムプレビューが可能になります。
Marp初心者向けの包括的なチュートリアルが含まれています:
- ファイル:
slides/marp-tutorial.md - 内容: インストールから出力まで、Marpの使い方を26ページで解説
- 対象: Marpを初めて使う方
チュートリアルをプレビューするには:
bun run preview
# http://localhost:8080/slides/marp-tutorial.md にアクセスチュートリアルをPDFで出力するには:
bun run build:pdfClaude Code を使うと、自然言語でスライド作成ができます:
# Claude Code を起動
claude
# スライド作成を依頼
> 「Claude Code の新機能」について新しいスライドを作成してくださいslide-creator エージェントが自動的に起動し、テンプレートに沿ったスライドを生成します。
トリガーフレーズ例:
- 「新しいスライドを作成して」
- 「〇〇についてスライドを作成してください」
slides/ ディレクトリに .md ファイルを作成します。
---
marp: true
theme: default
paginate: true
---
# タイトルスライド
あなたの名前
---
## 2枚目のスライド
- 箇条書き1
- 箇条書き2
- 箇条書き3プレビューサーバーを起動して、ブラウザで確認しながら編集:
# プレビューサーバー起動
bun run previewVS Code の Marp 拡張機能を使うとリアルタイムプレビューも可能です。
完成したスライドを各種形式でエクスポート:
# すべての形式でビルド(HTML + PDF)
bun run build
# HTML のみ
bun run build:html
# PDF のみ
bun run build:pdf
# PowerPoint のみ
bun run build:pptxまたは Claude Code で:
> PDF に出力して
| 形式 | 画像の扱い |
|---|---|
| HTML | 外部参照(dist/images/ へコピーが必要) |
| 内部埋め込み(コピー不要) | |
| PPTX | 内部埋め込み(コピー不要) |
bun run build:html は自動的に slides/images/ を dist/images/ にコピーします。
このプロジェクトには Claude Code 用の Skill(知識ベース)と Subagents(タスク実行エージェント)が含まれています。
自然言語で依頼するだけで、適切なエージェントが自動的に起動します:
| エージェント | 起動例 | 機能 |
|---|---|---|
| slide-creator | 「新しいスライドを作成して」 | テンプレート生成、ファイル作成 |
| slide-reviewer | 「スライドをレビューして」 | 品質チェック、Playwright による視覚検証 |
| slide-builder | 「PDF に出力して」 | HTML/PDF/PPTX へのビルド |
# 使用例
新しいスライドを作成してください
このスライドの品質をチェックして
PDF に出力して
creating-marp-slides スキル (.claude/skills/creating-marp-slides/)
├─ SKILL.md → 画像配置、開発コマンド、設定
└─ references/
├─ troubleshooting.md → トラブルシューティング
└─ content-optimization.md → コンテンツ最適化
Subagents (.claude/agents/)
├─ slide-creator → 新規作成
├─ slide-reviewer → 品質チェック(視覚検証含む)
└─ slide-builder → ビルド出力
# プレビューサーバー起動
bun run preview
# すべての形式でビルド
bun run build
# HTML のみ
bun run build:html
# PDF のみ
bun run build:pdf
# PowerPoint のみ
bun run build:pptx
# リントチェック(Markdown + JavaScript)
bun run lint
# JavaScript のみリント
bun run lint:js
# bunx で即座に実行(インストール不要)
bunx @marp-team/marp-cli -s slides/スライドの内容が画面に収まらない(見切れる)ことを防ぐために:
- 1スライド1アイデア: 情報を詰め込みすぎない
- コードブロックは簡潔に: 長いコード例は分割または簡略化
- 数式はインライン優先: ブロック数式 (
$$...$$) は縦スペースを大きく取るため控えめに - コンテンツを分割: 長い内容は複数スライドに分ける
- プレビューで確認: 必ずプレビューサーバーやスクリーンショットで各スライドを検証
詳細は .claude/skills/creating-marp-slides/references/content-optimization.md を参照してください。
Marp には3つの組み込みテーマがあります:
- default: シンプルで汎用的、ビジネス向け
- gaia: モダンで洗練、カラフル
- uncover: ミニマル、テキスト中心
themes/ ディレクトリにCSSファイルを配置してカスタムテーマを作成できます。
詳細は 公式ドキュメント を参照してください。
CLI プレビューで表示されない場合:
- 画像を
slides/images/に配置しているか確認 - プレビューサーバーがプロジェクトルートから起動されているか確認
- 相対パス(
./images/filename.png)で参照しているか確認 - 参考: GitHub Issue #163
VS Code プレビューで表示されない場合:
- 絶対パス(
/assets/images/...)ではなく相対パスを使用
一般的な対処法:
.marprc.ymlでallowLocalFiles: trueを設定--allow-local-filesフラグを使用
- Chromium/Chrome がインストールされているか確認
--allow-local-filesフラグを使用
themeディレクティブのスペルを確認- カスタムテーマファイルのパスを確認
このプロジェクトは自由に使用できます。Marp 自体は MIT ライセンスです。