---
title: 資料タイトル # 表紙
subtitle: 副題 # 表紙 2行目(任意)
author: 開発本部 # 表紙(任意)
date: 2026-09-02 # 表紙(任意)
agenda: once # once | per-section | none(既定 once)。章(#)が無いと出ない。見出しは Agenda
numbering: chapter # chapter (1, 1.1) | flat(本文を通しで 1, 2, 3。章も 1, 2…)| none(既定 chapter)
layout: text # text | 2col。本文の既定レイアウト(任意)
master: corporate.pptx # 保管フォルダ内のマスター名。省略時は資料フォルダの master.pptx → 設定の既定。none で使わない
fontSize: 18 # 本文の既定フォントサイズ(pt)。省略時はマスターの bodyStyle、無ければ 18
imageMaxPx: 2000 # 貼り付け画像の長辺上限(px)。0 で無効
maxLines: 12 # 旧互換。指定すると行数固定で判定する
---
# 章タイトル → 中表紙。アジェンダの項目にもなる。直下に書いた本文は中表紙の本文枠に出る
## 本文タイトル {img=1/2 side=right} → 本文スライド。属性は Pandoc 形式
- 箇条書き(2スペース字下げで階層)
- **太字** と `コード` のみインライン対応
 → 画像。img= も layout= も無ければ画像右 1/2(img=1/2 side=right)
--- → 本文内の明示的なページ分割。タイトルに (1/2) が付く
## は 1, 2, 3 と通し番号になる。{layout=2col} で 2 カラム、{layout=text} でテキストに固定する(画像があっても画像スライドにしない)。2col は最初の空行で左右に分ける。空行が無ければ行数の半分で分ける。# と ## だけ。### 以下は本文の 1 行として「###」ごと出る。# は見出しとして扱わない。フェンスは見出しの判定を止めるだけで、スライドでは の行も普通の段落になる(フェンス内の — と > note:` も効く)。![TODO 説明]() は画像プレースホルダ。プレビューに「未挿入」枠が出る。その行にカーソルを置いて画像を貼り付けると置き換わる。images/fig.png)。URL(https://…)、絶対パス(/Users/…)、フォルダの外に出る ../ の画像は、プレビューに表示せず(理由が出る)、書き出しにも入れない。フォルダの中のシンボリックリンクが外を指す場合も同じ。data:image/…;base64, の埋め込みは、プレビューにも書き出しにもそのまま使う。受け取った資料を開いただけで外部に通信したり、手元の別のファイルが pptx に入ったりしないため(ADR-0026)。> note: 本文 はスピーカーノート(> ノート: も可。大文字小文字は問わない)。本文には出ず、pptx のノートに入る。| a | b | と |---|---|)はパワポのネイティブ表になる。本文と併記した場合、書き出しでは本文枠の下 6 割に置く(文字 12pt、1 行目は太字)。プレビューでは書いた位置に出る。2 カラムでは表にならない(書き出すと | の行が文字のまま出る)。images/2-1-パイプラインの構成.png)。imageMaxPx(既定 2000px)に縮小、写真のように色数が多いものは JPEG(品質 0.85)、UI キャプチャや透明のあるものは PNG のまま、GIF はそのまま。縮小が不要で再エンコードしても小さくならない場合は原本のバイト列を保つ。変更があった時だけ通知に出る。| 操作 | 内容 |
|---|---|
| 画像を貼り付け / ドロップ | images/ に保存し、カーソル位置に参照を挿入 |
Ctrl-Space(: に続けて入力可) |
スニペット :body :section :2col :img :imgfull :table :note :split |
]] / [[(Vim の Normal) |
次 / 前のスライド見出しへ |
⌘S(Windows / Linux は Ctrl-S。エディタで)/ :w(Vim) |
開いている Markdown を保存(1.5 秒後に自動保存もされる) |
| ⌘⇧C / サムネイル右クリック | 表示中スライドの参照 deck.md:行 をコピー。プレビュー下の参照チップは画像パスも。コンソールのシェルが動いていれば「コンソールへ」で直接貼れる |
| ↑ / ↓(K / J) | サムネイル一覧にフォーカスがあるとき、前 / 次のスライドを選ぶ(エディタも追従) |
| ⌥↑ / ⌥↓ | 選んだスライドを上 / 下へ 1 つ移動(ドラッグと同じ moveBlock。章は中身ごと、章は章を単位に動く) |
| サムネイルをドラッグ | ブロック(見出し 1 つ分)を移動。自動分割された (2/N) 以降のタイルも取っ手になり、掴むとブロック全体が動く。章(#)は章の間にだけ落ちる: 別の章の途中に重ねるとその章の末尾(線は最後のスライドの下)、章見出しの上半分なら手前。落とせない場所では線が出ない(src/model/dnd.ts の dropTarget)。ドラッグ中は一緒に動くスライド全部が薄くなり、ドラッグ像は「2. 現状 ほか 2 枚」のような枚数付きのラベル(movingSlides) |
| 区切り線をドラッグ | サムネイル幅とエディタ幅を変える。settings.json の navigator.width / editor.width に記憶 |
| アイコンにポインタを重ねる | 説明とショートカットが出る(Tab で移動したときも)。data-tip を持つ要素に Tooltips が表示する |
{size=16}。プレビュー下の「文字 − / +」で 2pt 刻みに変えられる(属性が書き換わる)。優先順位は size= > frontmatter fontSize > マスターの bodyStyle > 18pt。src/model/fit.ts)。容量 =(本文枠の高さ − 上下の内側余白)÷ 1 行の高さ。1 行の高さはマスターの行間、無ければフォントサイズ × 1.2。使用量は各行の折り返し後の行数の合計に、テキストの段落ごとにマスターの段落前後の間隔を行数に換算して足したもの。全角 1em・半角 0.55em・箇条書きの階層ごとに 1.5em の字下げ、空行 0.5 行、表は行数、画像行は 0。showMasterSp="0" でなければマスターのものも)のうち、本文の列にかかり、スライドの上 3 分の 1 に収まるものをヘッダ、下 3 分の 1 から始まるものをフッタとみなし、スライド幅の 1% 離す。テキストと 2 カラムは見積もりとプレビューの本文の下端をフッタの手前で切り、画像スライドは画像と本文をこの範囲に置く。本文・2 カラム・目次・章の本文枠がフッタやヘッダと重なるマスターは、設定のマスター画面でレイアウト名つきで警告する(目次と章はそのレイアウト自身の図形で判定する。ADR-0025)。本文 7 / 12 行 · 18pt(既定) · 画像 1 · ノート。行数は分割後のスライドの合計で、比べるのは 1 枚分の容量)が出る。90% で橙、超過で赤と「→ N 枚に分割(目安)」。分かれる位置(--- を含む)には「自動分割目安 2/N」の破線が入る(本文量の推定から決まる位置で、プレビューと書き出しもここで分かれる。PowerPoint の折り返しとは 1 行程度ずれることがある)。size= は本文の全ランに明示サイズとして書く。showMasterSp="0" のレイアウトではマスターの装飾は出ないtitleStyle / bodyStyle)date、固定文字はそのまま。書き出しでも同じものがスライドに複製される(空のフッターは出ない)本文 7 / 12 行 · 18pt)。90% を超えたときだけ橙、超過で赤のバーが出る。灰色のバーを常に出すと区切り線と紛れる。見出し属性で指定する。layout= とは独立で、img= があれば画像スライドになる。
## 構成図 {img=3/4 side=left}
| 属性 | 値 | 既定 |
|---|---|---|
| img | 1/1 3/4 1/2(コンテンツ幅から間隔 3% を引いた幅に対する画像枠の幅。1/1 は全幅) |
画像がある見出しは 1/2 |
| side | left right |
right |
配置規則(src/layouts/geometry.ts、単位はスライド幅):
3/4 1/2:残り幅が本文。高さはタイトル下からスライド下端マージンまで1/1:画像の下に余りがあれば本文、なければ本文は出さず警告Body-Text の書式のみ。画像枠と本文枠はツールが計算するlayout=2col や layout=text を明示したスライドの画像はプレビューに出ず、書き出しではレイアウトの画像プレースホルダーに入る(無ければ警告して捨てる)旧記法 layout=img-left|img-right|img-full|img-top は読み取り互換(それぞれ 1/2左、1/2右、1/1、1/1)。
| 種別 | マスターのレイアウト名 | プレースホルダ |
|---|---|---|
| text | Body-Text | title, body |
image (img=) |
Body-Text | title, body(本文枠はツールが位置変更) |
| 2col | Body-2col | title, body, body |
Cover: title(ctrTitle), subTitle。Agenda: title, body。Section: title, body(任意)。
本文を入れる枠は、body / obj のうち面積の大きいもの(2col は大きい 2 つを左から。表紙はサブタイトルを先に使う)。プレビュー、本文量の見積もり、書き出しで同じ規則を使う(ADR-0023)。Body-2col が無いマスターでは、2col の本文を Body-Text の本文枠にまとめて入れる。
中央ペイン下はこのフォルダで開いた本物の端末。バーで選んだ CLI ツール(Claude Code / Codex CLI / Gemini CLI / Aider / GitHub Copilot CLI / Cursor Agent / OpenCode がプリセット、PATH 前提)がシェル起動時に自動で立ち上がる(「起動」で手動)。自動起動の切り替えと、ツールの名前・コマンド・引数の編集・追加は設定(⌘,)の「ツール」で行う。設定はすべて ~/.config/mdslide/settings.json(XDG_CONFIG_HOME があればその下。MDSLIDE_CONFIG で変更可。ブラウザ版は localStorage)。設定シートの「settings.json を開く」から開ける。手で編集した内容はウィンドウにフォーカスが戻った時に反映される。
/resume などがそのまま使えるAGENTS.md(deck.md の規約。Claude Code / Codex / Gemini などが共通で読む)と、@AGENTS.md の 1 行だけの CLAUDE.md(Claude Code の import 構文)が自動で置かれる。手で編集してよいアプリの設定は設定シートに集約する(ADR-0014)。一般(外観: 自動 / ライト / ダーク)、エディタ(Vim キーバインド、ペイン幅を既定に戻す)、マスター(保管フォルダの変更・Finder で表示、取り込み、見本を取り込む、既定、削除、本文枠とヘッダ・フッタの重なりの警告)、書き出し(Python と python-pptx の状態、Python の場所、入れ方。起動時にも確認し、使えなければ案内を出す。ADR-0019)、ツール(CLI ツール、自動起動)。入口はツールバーの歯車、⌘,、アプリメニュー「設定…」、コンソールバーの歯車(ツールのタブ)、ツールバーのマスターのアイコン(マスターのタブ)、Python の案内の「入れ方を見る」(書き出しのタブ)。Esc で閉じる。資料側の設定(この資料のマスター、レイアウト、文字サイズ)は Markdown に書かれるものなのでメイン画面に残す。コンソールバーの「起動するツール」の選択は、起動操作の一部としてメイン画面に残す(ADR-0024)。
notes/日付-時分秒.md(例 notes/2026-09-07-140509.md)に自動保存。ファイルはエディタ以外にドロップすると notes/ に入る(エディタに落とした画像は images/ に入り、参照が挿入される)![TODO ...]() が theme.json の配色の PNG になる。tools/mdslide_draw.py(matplotlib が必要)のフロー・ベン図・柱・サイクル・マトリクス・年表が使われる.mdslide/history/。版が残るのは下書きのボタンから頼んだときだけ)フォルダに自動生成されるもの:AGENTS.md(規約、無いときだけ作る)、CLAUDE.md(@AGENTS.md の 1 行、無いときだけ作る)、theme.json(マスターから、同期)、tools/mdslide_draw.py(同期)、notes/。