<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Kong Sakchai</title>
    <description>The latest articles on Forem by Kong Sakchai (@kongsakchai).</description>
    <link>https://forem.com/kongsakchai</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F962055%2F927aa7ab-b6dd-4a6c-917a-889a2639e26f.jpeg</url>
      <title>Forem: Kong Sakchai</title>
      <link>https://forem.com/kongsakchai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/kongsakchai"/>
    <language>en</language>
    <item>
      <title>Devlog#1 SlideMD</title>
      <dc:creator>Kong Sakchai</dc:creator>
      <pubDate>Wed, 09 Jul 2025 08:29:40 +0000</pubDate>
      <link>https://forem.com/kongsakchai/devlog1-slidemd-422f</link>
      <guid>https://forem.com/kongsakchai/devlog1-slidemd-422f</guid>
      <description>&lt;h2&gt;
  
  
  😄 เกริ่น
&lt;/h2&gt;

&lt;p&gt;ได้ฤกษ์งามยามดีเอาโปรเจกต์ที่ดองไว้มาทำต่อ โดยจุดเริ่มต้นไอเดียของโปรเจคนี้คือ ผมมีปัญหาในการทำ Presentation มาก ๆ เวลาที่ทำสไลด์ไปประมาณ 2-3 หน้า ก็จะเกิดสงสัยว่า หน้าก่อน ๆ เราใช้ font เดิมไหมนะ ขนาดเท่าเดิมไหมนะ สีเดิมหรือเปล่า ก็จะย้อนกลับไปเช็ค จะเป็นแบบนี้ไปทุก ๆ 2-3  หน้าจนท้อ 555+ จนเกิดไอเดียที่ว่าถ้าเราสามารถใช้ css ในการกำหนด style ให้กับสไลด์ได้ก็จะแก้ปัญหาตรงจุดนี้ได้ จนได้มาเรียนคอร์ส Go กับพี่ยอด สักเกตุเห็นว่าสไลด์ที่ใช้สอนนามสกุลไฟล์คือ .md  จากสอบถามทำให้รู้ว่าพี่ยอดใช้ Marp ในการทำสไลด์&lt;/p&gt;




&lt;h2&gt;
  
  
  🍎 Marp
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flydu94u6692q4sb0n849.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flydu94u6692q4sb0n849.png" alt=" " width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marp.app/" rel="noopener noreferrer"&gt;https://marp.app/&lt;/a&gt; เป็น Tools ที่ทำให้เราสามารถเขียน Presentation ด้วยไฟล์ &lt;code&gt;Markdown&lt;/code&gt; ได้ หรือก็คือไฟล์ที่เราเขียน &lt;code&gt;readme.md&lt;/code&gt; ใน Git Repo ซึ่งตัว Marp มีหลายตัวให้เลือกใช้เช่น &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Marp Cli ที่เราสามารถเรียกใช้ผ่าน Command line ได้เลย &lt;/li&gt;
&lt;li&gt;Marp Core เป็น JS Library &lt;/li&gt;
&lt;li&gt;Marp For VS Code ที่เป็น VS Code Extension ทำให้สามารถแสดง slide ใน VS Code ได้เลย &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ซึ่ง Marp เราสามารถสร้าง Theme ด้วย CSS ได้ ทำให้สามารถกำหนด Style ให้กับสไลด์ของเราได้เลย และเนื่องจากเป็น Markdown ทำให้มันใจว่า Style ในแต่ละหน้าจะเหมือนกันถ้าเราใช้ Element เดียวกัน&lt;/p&gt;

&lt;p&gt;เนื่องจาก Marp ใช้ตัว Markdown-it ในการแปลงทำให้สามารถใช้ Plugin ของตัว Markdown-it หรือเขียนเพิ่มเองได้ ซึ่งผมก็มีเพิ่ม Plugin ไปอีกหลาย ๆ ตัว เช่น &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mermaid JS สำหรับสร้าง Diagram&lt;/li&gt;
&lt;li&gt;ShikiJS  Highlighter สำหรับ Code Block&lt;/li&gt;
&lt;li&gt;tailwind แบบ CND ( Official บอกมาเลยว่าไม่เหมาะกับ Prod เพราะไม่ได้ Optimize)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ถ้าสนใจตัวที่ผมทำ ก็ไปดูได้ที่ &lt;a href="https://github.com/kongsakchai/my-marp" rel="noopener noreferrer"&gt;https://github.com/kongsakchai/my-marp&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🌸 Slidev
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F529i0ih1m44piqta3mly.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F529i0ih1m44piqta3mly.png" alt=" " width="800" height="482"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;แต่หลังจากใช้ไปก็พบว่า Marp มีข้อจำกัดหลายอย่าง (อาจจะด้วยสกิลผมตอนนี้ยังไม่พอ) ทำให้ต้องหา Tool อื่น ๆ ซึ่งก็เจออีกหลายตัวเลย แต่ที่ชอบที่สุดคงจะเป็น &lt;a href="https://sli.dev/" rel="noopener noreferrer"&gt;https://sli.dev/&lt;/a&gt; เป็น web-based slides ที่เขียนด้วย Vue ซึ่งมีฟีเจอร์หลาย ๆ อย่างที่ผมชอบมาก เช่น Presentation View ที่ฝั่งคน Present จะเป็นอีกหน้าจอหนึ่ง พร้อมแทรก Note ใส่หน้าฝั่งคน Present ได้อีกด้วย ฟีเจอร์การวาดบน Slide เหมาะสำหรับการสอน มี Build-in &lt;a href="https://microsoft.github.io/monaco-editor/" rel="noopener noreferrer"&gt;Monaco Editor&lt;/a&gt; สำหรับแก้ไข Markdown บนเว็บได้เลย และยังสามารถเรียกใช้ Vue Component ได้อีกด้วย &lt;/p&gt;

&lt;p&gt;แต่ว่า &lt;strong&gt;ผมไม่เคยเขียน Vue !!!&lt;/strong&gt;  และตัว Slidev จะรันได้ทีละไฟล์ ต่างจาก Marp จะสามารถรันได้ทั้งโฟเดอร์แสดงออกมาเป็นหน้า Directory ได้เลย นอกจากนี้ผมกลับชอบ Markdown Syntax ของ Marp มากกว่าเนื่องจากผมใช้พวกโปรแกรมอ่าน Markdown เช่น Obsidian ทำให้อยากได้ Syntax ที่ Support โปรแกรมทั่วไปด้วย จากปัญหาทำให้ผมคิดที่จะสร้าง Tool เอง&lt;/p&gt;




&lt;h2&gt;
  
  
  ❤️ Tech Stack
&lt;/h2&gt;

&lt;p&gt;โดย Stack หลัก ๆ  ที่ผมเลือกจะเป็น &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://svelte.dev/docs/kit/introduction" rel="noopener noreferrer"&gt;SvelteKit&lt;/a&gt; - สำหรับทำในส่วนของ Frontend &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/markdown-it/markdown-it" rel="noopener noreferrer"&gt;Markdown-it&lt;/a&gt; สำหรับในการแปลง markdown เป็น HTML&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://shiki.matsu.io/" rel="noopener noreferrer"&gt;Shiki JS&lt;/a&gt; - Highlighter สำหรับ Code Block&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://mermaid.js.org/" rel="noopener noreferrer"&gt;Mermaid JS&lt;/a&gt; - สำหรับวาด Diagramm หรือ Chart&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ซึ่งจริง ๆ  แล้วตัว SlideMD ผมเริ่มเขียนไว้ตั้งแต่ปี 2024 จนสามารถใช้งานได้แล้ว แต่การมาของยุค Gen AI ที่สามารถ Gen Presentation ได้อย่างง่าย ๆ ทำให้ผมไม่ได้ทำต่อ เพราะคิดว่าทำไปก็อาจจะไม่ได้มีคนใช้ เพราะ Gen AI มันง่ายกว่า แต่พอนึกย้อนไปตอนเริ่มไอเดียนี้ คือผมต้องการ Tool มาใช้เอง ถึงคนอื่นจะไม่ใช้อย่างน้อยคนทำนี่แหละจะใช้เอง 555 ซึ่งพอกลับไปดูแล้วก็มีโค้ดในหลาย ๆ  ส่วนยังไม่ค่อยดีเท่าไหร่ บวกกับขี้เกียจไล่โค้ดเลยอยากเขียนใหม่ เริ่มวาง Structure ใหม่ไปเลยดีกว่า เลยถึงโอกาศนี้มาเขียน Devlog ไปด้วยเลย และหวังว่านี่จะไม่ใช่ Devlog เดียวและ Devlog สุดท้ายนะครับ 5555 โพสต์อาจจะยังไม่มีอะไรมากไว้ติดตามต่อในโพสต์ต่อไป (ในสักวันหนึ่ง) นะครับผม หากโพสต์นี้ผิดพลาดสามารถแนะนำติชมได้เลยครับผม &lt;/p&gt;

</description>
      <category>devlog</category>
      <category>svelte</category>
      <category>markdown</category>
    </item>
  </channel>
</rss>
