OVERVIEW
概要
MarkDownSlideTool は、Markdown形式で記述した内容から PowerPoint を生成するためのツールです。 単に変換するだけでなく、テンプレート適用や画像の扱いまで含めて、 スライド作成をより進めやすくすることを目的にしています。
BACKGROUND
作ろうと思った背景
スライド作成では、文章を書く作業に加えて、画像配置やテンプレート調整などの手作業が多くなりがちです。 特に、Markdownベースで内容を整理したい一方で、最終的には PowerPoint として使いたい場面が多く、 その間をつなぐ仕組みが欲しいと感じたことがきっかけでした。
SOLUTION
解決したこと
1. CLIでプロジェクトを作成
新規スライドプロジェクトをコマンドで生成し、テンプレート・QMD・画像フォルダなどをまとめて準備できるようにしました。
2. Markdown と画像情報を分離
QMD 内の画像行を解析し、レンダリング用テキストと画像情報JSONに分けることで、 本文生成と画像配置を別工程で扱えるようにしました。
3. PowerPoint生成後に画像を再配置
生成後のスライドを解析し、空き領域に応じて画像を配置することで、 手動調整を減らせるようにしました。
FLOW
処理の流れ
- CLIでプロジェクト作成
- Markdown / QMD で本文を書く
- 画像情報を抽出して JSON 化
- Quarto / Pandoc で PPTX を生成
- Python で画像配置などを後処理
TECHNICAL POINTS
技術的なポイント
テンプレートベースの生成
Node.js の CLI からプロジェクトを作成し、テンプレートをもとに QMD を生成する構成にしています。
画像と本文の分離処理
Python で QMD を解析し、画像行だけを抽出して JSON にまとめることで、 レンダリング工程と配置工程を分けています。
PPTXテンプレートの正規化
テンプレート側のレイアウト名の違いによる問題に対応するため、 正規化スクリプトで扱いやすい状態に整えています。
画像配置の後処理
生成後のスライドを読み取り、タイトルや本文の位置をもとに空き領域を推定して画像を追加する仕組みを作っています。
LEARNING
この制作で得たこと
テキスト生成・テンプレート処理・画像配置といった処理を分割することで、 複数工程をまたぐツールの設計や改善の考え方を実践できました。 また、見た目の出力だけでなく、実際に使いやすい流れを意識して組み立てることの大切さを学びました。