brand.yaml でトンマナ(色2つ・フォント)を1回設定し、deck.yaml に内容だけを書きます。
meta:
title: string # 必須
subtitle: string # 任意
date: string # 任意
author: string # 任意
pack: gaishi-strategy | nikkei-soken | keikakusho | modern-tech # 任意
slides:
- layout: LayoutName # 必須。下記カタログ参照
message: string # cover/section/closing/appendix-title以外は必須(44字上限)
chapter: number|string # 任意
source: string # 任意(60字上限)
note: string # 任意(60字上限)
# ...layout固有フィールド
詳細な型定義は docs/contracts.md、密度上限(文字数上限)は同ファイル §1.2 DENSITY を参照してください。
各レイアウトの実例は Gallery のサンプルデッキ内で確認できます。下表はどのサンプルのどのスライド番号で 実例が見られるかの索引です(サムネイルはライブレンダリング結果の縮小表示です)。
| # | layout | 用途 | 実例 |
|---|
npx teian new my-deck # brand.yaml + deck.yaml の雛形生成 npx teian build deck.yaml -b brand.yaml -o out.html # HTML生成(既定はsingle-file) npx teian validate deck.yaml -b brand.yaml # スキーマ+密度検査 npx teian screenshot out.html -o shots/ # 全スライドをPNG書き出し(Playwright必須)
build は既定で全アセット(CSS/JS/vendor)をインライン化した単一HTMLを出力します。
--assets を付けると vendor への相対パス参照に切り替わり、--offline で
Google Fonts CDNの代わりに同梱フォント前提のCSSを出力します。
prompts/AGENT.md は、LLMに deck.yaml だけを生成させるための自己完結プロンプトです。
スキーマ全体・密度上限・良いメッセージラインの書き方・禁止事項(絵文字/実在企業名/Markdown記法など)を
含んでいるので、そのままChatGPTやClaudeなどにコピー&ペーストして使えます。
使い方の流れ:
prompts/AGENT.md の全文をLLMのシステムプロンプトまたは最初のメッセージとして渡すteian validate で検証するteian build でHTMLを生成する