Markdown 記法ガイド

Markdown ファイルは動画の「ソースコード」として機能します。slidemovie はこのファイルを解析して、構造、ビジュアル要素、音声台本を理解します。

スライド構造

各スライドは レベル1見出し (#) で定義されます。

# スライドのタイトル

- 箇条書き 1
- 箇条書き 2

::: notes
ナレーション用の原稿です。
:::
  • 見出し: # (H1) だけが新しいスライドを作成します。## (H2) 以下の見出しは、そのスライド内のテキストとして扱われます。
  • コンテンツ: 標準的な Markdown(リスト、太字、コードブロック、画像など)を使用できます。
  • ノート: ::: notes ブロックはナレーションのために必須です。

特殊コメントタグ

slidemovie は、高度な動作を制御するために HTML コメント形式の特殊タグをサポートしています。

1. スライド ID (<!-- slide-id: ... -->)

ツールを実行すると、各スライドに固定の ID が自動的に割り当てられます。

<!-- slide-id: myproject-01 -->
# 私のスライド
  • 目的: この ID は、Markdown のセクションと、生成される画像ファイル (myproject-01.png) および音声ファイル (myproject-01.wav) を紐付けます。
  • 自動生成: 自分で書かなくても、slidemovie が初回実行時に自動的に挿入します。
  • 推奨事項: 一度生成された ID は手動で変更しないでください。既存のアセット(画像や音声)との同期が失われる可能性があります。

スライドの管理とID

  • 新しいスライドの挿入: 新しいスライドを追加する際は、slide-id記述せずに内容(見出しとノート)だけを書いてください。次回の実行時に slidemovie が自動的に新しいユニークな ID を付与します。
  • スライドの並べ替え: 順番を変える場合は、slide-id を含めたブロックごと移動させてください。
  • 順序: 最終的な動画のスライド順序は、Markdown ファイル内の記述順に従います。スライドIDの番号順ではありません
  • バリデーション: スライドIDの重複は許可されていません。重複が見つかった場合、プログラムはエラーで終了します。

2. 動画の挿入 (<!-- video-file: ... -->)

静止画スライドの代わりに、動画ファイル(画面録画やデモ動画など)を挿入することができます。

<!-- slide-id: myproject-05 -->
# デモ動画
<!-- video-file: demo_clip.mp4 -->

- demo_clip.mp4 が再生されます。
- PowerPoint スライドはできますが動画では使われません。
  • 使い方: demo_clip.mp4 ファイルを movie/{プロジェクト名}/ ディレクトリの中に置いてください。
  • 挙動: 静止画 + TTS を生成する代わりに、ツールは demo_clip.mp4 を取得し、設定された画面サイズに合わせてリサイズ(必要な場合はパディング)を行い、最終的なタイムラインに挿入します。

ノートブロック (::: notes) のルール

::: notes ブロックの中身は、そのまま TTS エンジンに渡されます。

  1. 空行: ::: notes の前には必ず空行を入れてください。
  • 良い例:
- アイテム

::: notes
  • 悪い例:
- アイテム
::: notes
  1. プレーンテキスト: 原稿は「読み上げさせたい通り」に書いてください。Markdown の装飾(**太字** など)は、TTS エンジンがそれを無視すると確信できる場合を除き、ノートブロック内では避けてください。
::: notes
みなさんこんにちは。今日は Python についてお話しします。
:::