mdpresent - เอนจิน NO LLM สำหรับเรนเดอร์ Markdown เป็น PPTX/HTML/PDF
(github.com/ch040602)สวัสดีครับ ตอนนี้ผมกำลังทำ CLI tool ชื่อ mdpresent ที่จัดโครงสร้างเอกสาร Markdown ให้เป็นสื่อพรีเซนเทชัน แล้วเรนเดอร์ออกเป็น PPTX, HTML, PDF
GitHub: https://github.com/ch040602/MdPr
ตัวอย่างพรีวิวธีม: https://ch040602.github.io/MdPr/theme-preview/
พอใช้งานเครื่องมือ Markdown-to-PPTX แบบเดิม ๆ ไปสักพัก ผมรู้สึกว่ามันใกล้เคียงกับการ “ยัดเอกสาร Markdown ลงไปเป็นสไลด์ตรง ๆ” มากกว่า ทำให้ควบคุมการแยกสไลด์ เลย์เอาต์ การล้นของเนื้อหา และการแสดงผลเชิงไดอะแกรมได้อย่างเสถียรค่อนข้างยาก
mdpresent จึงไม่ใช่แค่เครื่องมือที่แปลง Markdown เป็น PPTX โดยตรง แต่เป็นแนวทางที่แปลง Markdown ไปเป็น Presentation IR ก่อน จากนั้นสร้าง Layout IR แล้วให้ renderer สร้าง PPTX / HTML / PDF ออกมา
จุดที่เน้นมีดังนี้
- NO LLM runtime: ไม่เรียกใช้ LLM/API ภายนอกในกระบวนการ parsing, splitting, layout, validation, rendering
- คง Markdown ไว้เป็นต้นฉบับ: แม้ไฟล์พรีเซนเทชันจะเป็นผลลัพธ์ที่สร้างขึ้น แต่เอกสารต้นฉบับก็ยังคงเป็น Markdown ที่มนุษย์อ่านและแก้ไขต่อได้
- การแยกแบบอิงโครงสร้าง: แบ่งสไลด์โดยดูจาก heading, density, list count, sentence unit, diagram signal เป็นต้น
- PPTX ที่แก้ไขได้: ไม่ใช้วิธีแปลงให้แบนเป็นรูปภาพ แต่พยายามสร้างข้อความ รูปร่าง การเน้น และป้ายหมายเลข ให้เป็นอ็อบเจ็กต์ที่แก้ไขได้มากที่สุด
- เปรียบเทียบธีม/พรีเซ็ต: สามารถเรนเดอร์โครงสร้างพรีเซนเทชันเดียวกันด้วยดีไซน์พรีเซ็ตหลายแบบเพื่อเปรียบเทียบได้
[IMG] mdpresent markdown semantics
ตัวอย่างเช่น ผมพยายามไม่ทำให้ list, emphasis, block quote และการแสดง pipeline แบบใช้ลูกศรใน Markdown ถูก flatten กลายเป็นข้อความธรรมดา แต่เก็บรักษาไว้เป็นข้อมูลเชิงความหมายที่จำเป็นต่อการพรีเซนต์
ตัวอย่างการใช้งานแบบง่ายมีดังนี้
ตอนนี้ยังอยู่ในช่วงเริ่มต้น จึงอาจใกล้เคียงกับ เอนจินแบบ rule-based ที่ตีความ Markdown เป็นโครงสร้างสำหรับการพรีเซนต์ มากกว่าจะเป็นเครื่องมือสร้าง PPT อเนกประสงค์ที่สมบูรณ์ โดยเฉพาะผมมองถึงเวิร์กโฟลว์ที่เอเจนต์อย่าง Codex/Claude Code สร้างร่าง Markdown ขึ้นมา แล้วให้ local CLI เรนเดอร์ไฟล์พรีเซนเทชันออกมาแบบ deterministic เพื่อใช้เป็นทักษะเสริมด้านอัตโนมัติ
ประเด็นที่อยากขอฟีดแบ็กมีดังนี้
- ในไวยากรณ์ Markdown ยังมีโครงสร้างอะไรอีกไหมที่ควรถูกเก็บรักษาไว้เมื่อทำเป็นสื่อพรีเซนเทชัน
- ในการส่งออกเป็น PPTX ควรวางสมดุลระหว่าง ความสามารถในการแก้ไข กับ ความสมบูรณ์ด้านภาพ ไว้ตรงไหน
- ถ้าจะเลือกการแยกสไลด์/เลย์เอาต์แบบ rule-based โดยไม่ใช้ LLM เกณฑ์แบบไหนจึงจะฟังดูสมเหตุสมผล
ขอบคุณครับ
ยังไม่มีความคิดเห็น