Marp入門ガイド:Markdownでスライドを作る
Markdownだけでスライド資料を作れるMarpの基本的な使い方と、テーマ設定・画像挿入・ビルド方法をまとめました。
Marp入門ガイド:Markdownでスライドを作る
Marp(Markdown Presentation Ecosystem)は、Markdownからスライドを生成できるツール群です。 普段書いているMarkdownの延長で、PowerPointやKeynoteのようなスライド資料を作れます。
- Gitでバージョン管理しやすい(テキストベース)
- エディタだけで完結(VS Code + プラグインなど)
- PDF / HTML / 画像など、いろいろな形式に書き出せる
- テーマでデザインを切り替えられる
ここでは、基本的な書き方から、画像や図の入れ方、ビルド方法までをまとめます。
基本構成とフロントマター
Marpのスライドは、先頭にYAML形式のフロントマターを書くMarkdownファイルです。
---
marp: true
title: xxxxxシステム 概要資料
theme: default
paginate: true
backgroundColor: #ffffff
---
marp: true: Marpスライドであることを宣言title: スライドのタイトル(メタ情報)theme: テーマ(default/gaia/uncoverなど)paginate: true: ページ番号(1 / 10)の表示backgroundColor: 背景色
このフロントマターのあとに、通常のMarkdownでスライド内容を書いていきます。
スライドの区切り方
スライドは --- (水平線)で区切ります。
---
marp: true
---
# タイトルスライド
ここが1枚目のスライドです。
---
## 2枚目のスライド
本文…
#/##/###などの見出し- 箇条書き、番号付きリスト
- 太字 / 斜体
といったMarkdown記法は、そのままスライドの内容として表示されます。
テーマとページ番号
テーマの指定
---
marp: true
theme: default # 他に gaia, uncover など
---
default: シンプルで汎用的なテーマgaia: やわらかい雰囲気のテーマuncover: 落ち着いたデザインで本文が読みやすいテーマ
同じ内容のファイルを複製して theme だけ変えると、デザインの比較が簡単にできます。
ページ番号(paginate)
---
marp: true
paginate: true
---
paginate: true を指定すると、スライド下部などに 1 / 10 のようなページ番号が自動表示されます(表示位置はテーマに依存)。
画像・図の挿入
通常の画像挿入
Marpは、通常のMarkdownの画像記法がそのまま使えます。
## システム構成イメージ

.mdファイルからの相対パスで指定- PNG / JPGだけでなく、SVGも利用可能です
サイズ指定(Marp拡張)
Marp独自のショートハンドで、画像サイズを簡単に指定できます。

w:800: 幅(px)を指定h:400のように高さ指定も可能
背景として使う(bg)

# システム構成(概要)
で、スライド全体の背景画像として扱われます- その上に見出しやテキストを重ねて表示できます
レイアウト調整のテクニック
タイトルスライド用のクラス
---
marp: true
---
<!-- _class: lead -->
# 服薬支援システム 概要
Safe Medication System
<!-- _class: lead --> を付けると、テーマによってはタイトルスライド用のレイアウト(中央寄せ・大きな文字など)になります。
セクションごとに区切る
少し長い資料の場合は、セクションの先頭に見出しスライドを入れると読みやすくなります。
---
## 5. 機能一覧(MVP)
- アカウント・認証
- 服薬スケジュール管理
- 服薬記録
- レポート表示
---
## 5. 機能一覧(将来拡張)
- リマインド・通知
- 家族・医療者連携
- 安全性向上機能
ビルド・プレビュー方法
1. Marp CLIでHTML / PDF出力
ローカルでMarp CLIを使う場合は、プロジェクト直下などで次のように実行します。
# 例: プロジェクトルートで実行
cd /path/to/project
# HTMLに変換(ローカル画像を使う場合は --allow-local-files が必要)
npx marp marp/safe-medication-system.md \
--allow-local-files \
-o marp/safe-medication-system.html
# PDF出力
npx marp marp/safe-medication-system.md \
--allow-local-files \
-o marp/safe-medication-system.pdf
--allow-local-files を付け忘れると、ローカル画像がスライドに表示されない点に注意してください。
1-1. HomebrewでMarp CLIをインストールする
macOSでは、Node経由だけでなく Homebrew経由でも Marp CLI をインストール できます。
# 一度だけ tap する
brew tap marp-team/marp-cli
# インストール
brew install marp-cli
# 動作確認
marp --version
アップデートしたいときは、次のように実行します。
brew upgrade marp-cli
which marp で、どのパスの marp が使われているか確認できます。
npmグローバルとHomebrewの両方にインストールしている場合は、プロジェクト内では npx marp を使うなど、運用ルールを決めておくと混乱が少なくなります。
2. VS Code拡張でプレビュー
- VS Codeの拡張機能で 「Marp for VS Code」 をインストール
.mdファイルを開く- コマンドパレット(
Cmd+Shift+P等)から 「Marp: Open Preview to the Side」 を実行
Markdownを編集しながら、右側にスライドプレビューをリアルタイムで表示できます。
Marpが向いているユースケース
- Gitで管理したい 技術資料・設計資料
- READMEやドキュメントから、スライド版をすぐ用意したいとき
- チーム内勉強会・LT・社内共有用の資料
- このブログのような技術記事とスライド資料をセットで管理したい場合
特にエンジニアにとっては、「コードと同じリポジトリで資料も管理できる」点が大きなメリットです。
まとめ
- Marpは、Markdownで書けるスライド環境で、エンジニアとの相性がとても良い
- フロントマターでテーマやページ番号を設定し、
---でスライドを区切るだけで始められる - 画像やSVGをうまく使うと、設計図・利用フロー・UIイメージもきれいに表現できる
Markdownベースで資料を管理したい人は、一度Marpで1本スライドを書いてみるのがおすすめです。