Quarkdown - Markdown ที่ทรงพลังยิ่งขึ้น
(quarkdown.com)- ผสานการเขียนเอกสารแบบ Markdown เข้ากับความสามารถด้านการจัดพิมพ์ระดับ LaTeX ทำให้สามารถจัดการได้ตั้งแต่งานวิจัย หนังสือ พรีเซนเทชัน เว็บไซต์แบบสแตติก ไปจนถึงฐานความรู้ได้ด้วยเครื่องมือเดียว
- ภายใน ไวยากรณ์ที่ลด boilerplate สามารถใส่องค์ประกอบอย่างผู้เขียน ระยะขอบ บทคัดย่อ รูปภาพ และบล็อกอ้างอิงได้โดยตรง จึงเขียนทั้งเนื้อหาและเลย์เอาต์ไปพร้อมกันได้
- สลับประเภทเอกสาร
paged,plain,docs,slidesได้ด้วยการตั้งค่า.doctypeเพียงบรรทัดเดียว และยังรองรับพรีเซนเทชันแบบอินเทอร์แอ็กทีฟ - มี การคอมไพล์ที่รวดเร็วและไลฟ์พรีวิว พร้อมสคริปต์แบบ Turing complete ที่ช่วยลดงานจัดเลย์เอาต์ซ้ำ ๆ ผ่านการนำฟังก์ชันและอาร์กิวเมนต์กลับมาใช้ใหม่
- ให้ใช้งานฟรีแบบ โอเพนซอร์ส มี GitHub stars มากกว่า 10K รองรับ VS Code และมี Quickstart กับเอกสารประกอบครบ ช่วยเปิดทางสู่การใช้งานจริงและการต่อยอด
คุณสมบัติหลัก
- เป็นระบบเขียนเอกสารสมัยใหม่ที่ผสาน Markdown เข้ากับ ความสามารถด้านการจัดพิมพ์ระดับ LaTeX
- ออกแบบมาให้ใช้เครื่องมือเดียวจัดการได้ตั้งแต่งานวิจัย หนังสือ พรีเซนเทชัน เว็บไซต์แบบสแตติก ไปจนถึงฐานความรู้
- ให้ใช้งานฟรีแบบ โอเพนซอร์ส โดยคอมไพเลอร์ยังพัฒนาอย่างต่อเนื่องและคงความเป็นซอฟต์แวร์เสรี
- Quarkdown, Wiki, Discuss
ประสบการณ์การเขียน
- ออกแบบมาให้โฟกัสกับการเขียนได้ โดยไม่ต้องมี boilerplate
- สามารถใส่องค์ประกอบอย่าง
docauthor,pagemargin,abstract, รูปภาพ และบล็อกอ้างอิงลงในไวยากรณ์ได้โดยตรง เพื่อจัดการทั้งเลย์เอาต์เอกสารและเนื้อหาไปพร้อมกัน - เอกสารตัวอย่างแสดงเวิร์กโฟลว์ที่เขียนชื่อเรื่อง ผู้เขียน ระยะขอบ รูปภาพ บทคัดย่อ และบล็อกอ้างอิงรวมกันไว้ในไฟล์เดียว
- ด้วย ไวยากรณ์ที่ขยายได้ จึงแสดงรูปแบบได้มากกว่า Markdown พื้นฐาน
ประเภทเอกสารและ doctype
- ประเภทเอกสารถูกสลับได้ด้วยการตั้งค่า
.doctypeเพียงบรรทัดเดียว pagedใช้สำหรับบทความ หนังสือ และรายงานplainใช้สำหรับโน้ต ฐานความรู้ และเว็บไซต์แบบสแตติกอย่างง่ายdocsใช้สำหรับวิกิ เอกสารเทคนิค และฐานความรู้ขนาดใหญ่slidesใช้สำหรับการสอน การนำเสนอ และ พรีเซนเทชันแบบอินเทอร์แอ็กทีฟ
พรีวิวแบบตอบสนองและสคริปต์
- มี การคอมไพล์ที่รวดเร็ว และไลฟ์พรีวิว ทำให้เห็นผลลัพธ์ได้ทันทีระหว่างพิมพ์
- มีความสามารถด้านสคริปต์แบบ Turing complete เพื่อลดงานซ้ำ
- สามารถนำรูปแบบเลย์เอาต์เดียวกันไปใช้กับหลายรายการได้ผ่านการนิยามฟังก์ชันและการใช้ซ้ำของอาร์กิวเมนต์
- ในตัวอย่างมีการนิยามฟังก์ชัน
animalแล้วนำโครงสร้างชื่อ ระบบนิเวศ และภาพประกอบกลับมาใช้ซ้ำเพื่อสร้างหลายรายการ
การติดตั้งและเส้นทางเริ่มต้น
- ในส่วนติดตั้งระบุว่า v2.0.0 เปิดตัวเมื่อวันที่ 23 เมษายน 2026
- Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/quarkdown-labs/get-quarkdown/… | sudo env "PATH=$PATH" bash - macOS Homebrew:
brew install quarkdown-labs/quarkdown/quarkdown - Windows:
irm https://raw.githubusercontent.com/quarkdown-labs/get-quarkdown/… | iex - Windows Scoop
scoop bucket add javascoop bucket add quarkdown https://github.com/quarkdown-labs/scoop-quarkdownscoop install quarkdown
- Explore
- Get started →
ระบบนิเวศและแหล่งข้อมูล
- แสดงสถานะว่ามี GitHub stars มากกว่า 10K
- มีเส้นทางสำหรับการเรียนรู้และการเชื่อมต่อกับเอดิเตอร์ผ่าน Quickstart, Docs, VS Code, Wiki
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
พูดตามตรงก็น่าประทับใจอยู่ แต่สำหรับผม แก่นของ Markdown คือความเรียบง่ายสุดขีด
แก้ไขได้โดยไม่ต้องมี GUI จะเขียนใน VIM บนเทอร์มินัลก็ยังพอเดาได้ว่าผลลัพธ์จะออกมาประมาณไหน และไฟล์
.mdแบบ raw เองก็อ่านได้สบายแต่พอเริ่มใส่ฟีเจอร์เพิ่มเข้าไปเรื่อย ๆ ก็ต้องคอยไปค้นหาคำสั่งแปลก ๆ สุดท้ายก็จำไม่ได้ และถ้าไม่เรนเดอร์ก็ไม่มั่นใจด้วยว่าหน้าตาจะเป็นอย่างไร จนเริ่มอยากได้ตัวแก้ไขแบบ WYSIWYG
มันดูคล้ายแนวคิดที่อยากยัดทั้งอักษรซีริลลิก เทวนาครี จีน อาหรับ ลงไปในคีย์บอร์ด QWERTY แล้วสุดท้ายความรู้สึกก็เหมือนกลับไปพิมพ์แบบ hunt and peck อีกครั้ง
ไวยากรณ์พื้นฐานเอาวิธีที่คนใช้เลียนแบบการจัดรูปแบบในข้อความมาใช้ต่อ ทำให้ตัวอินพุตเองโดยมากก็ยังอ่านง่ายอยู่แล้ว
ต่อให้ไม่รู้วิธีเขียน Markdown แบบเป๊ะ ๆ ส่วนใหญ่ก็ยังอ่านได้ไม่มีปัญหา ตารางก็ดูเป็นตาราง ย่อหน้าก็ดูเป็นย่อหน้า
บางทีก็ต้องกลับไปเปิดดูไวยากรณ์ใหม่บ้าง แต่ก็ไม่เป็นไร คำศัพท์ที่เข้าใจได้เวลาอ่านมีมากกว่าคำศัพท์ที่ใช้ได้เองเป็นเรื่องปกติ
เพราะงั้นผมมักตัดสินจากความอ่านง่ายของต้นฉบับที่พิมพ์เข้าไป ซึ่งหลายอย่างที่โชว์ไว้ที่นี่ดูแล้วไม่ได้มีข้อได้เปรียบเสียเปรียบมากนักตามเกณฑ์นั้น
แต่ผมยังไม่ได้เห็นตัวอย่างการจัดรูปแบบสมการ และกรณีไม่กี่ครั้งที่ผมใช้ LaTeX ก็มักเป็นเพราะสมการคณิตศาสตร์ที่ Markdown ทำไม่ได้อยู่แล้ว เลยอยากรู้ว่าส่วนนั้นหน้าตาจริง ๆ เป็นอย่างไร
ถึงอย่างนั้น Quarkdown ก็ดูเป็นตัวแทนที่เหนือกว่าการพิมพ์ LaTeX ตรง ๆ อย่างชัดเจน และก็ดูน่าจะให้ผลลัพธ์ที่คาดเดาได้มากกว่า พร้อมทั้งเข้ากับการแก้ไขโดยมี LLM ช่วยได้ดีกว่า GUI editor แบบ Word
ชื่อมันก็คือ Microsoft Word ไง
ทุกวันนี้แค่ตัวแก้ไข "plain markdown" ธรรมดา ๆ มันเด่นได้ยาก และถ้าจะไปถึงหน้าแรก HN สุดท้ายก็ดูเหมือนต้องมีทั้งฟังก์ชันการทำงานและความสมบูรณ์ที่เกินกว่า Markdown ทั่วไป
มันให้ความรู้สึกเหมือนการคัดเลือกโดยธรรมชาติ
น่าจะดีถ้ามีข้อมูลที่เปรียบเทียบเครื่องมือและภาษา markup พวกนี้ในที่เดียว
อยากเห็น MyST, Pandoc, Quarkdown, Quarto, Typst วางเทียบกันไปเลย
Quarto กับ Pandoc ใช้ Pandoc Markdown และ https://www.zettlr.com/ ก็เหมือนกัน
ส่วน Quarkdown กับ Typst จะให้ความรู้สึกใกล้กับ ภาษา markup แบบ programmable ทางฝั่ง LaTeX หรือ HTML+Javascript มากกว่า เลยดูเหมือนว่ายังไม่ชัดว่าใครจะเป็น ผู้สืบทอดของ LaTeX ตัวจริง
Markdown ก็เหมือน
.txtที่โรย syntactic sugar เพิ่มนิดหน่อยและส่งออกเป็น PDF หรือ HTML ได้Quarto คือ Markdown สำหรับคนที่อยากรัน code block
ส่วน Typst คือ LaTeX ที่ทำใหม่ให้ทันสมัยขึ้น ลดของจุกจิกไป 90% แต่ก็เหมือนหายความสามารถไปราว 10% ด้วย
วงการวิชาการเดิมทีก็ไม่ค่อยชอบของใหม่อยู่แล้ว ต่อให้ใช้ Typst ก็น่าจะยังไม่ค่อยถูกใจพวกเขา
Pandoc สุดท้ายก็คือเครื่องมือสำหรับส่งออกไปเป็นฟอร์แมตต่าง ๆ อย่าง PDF, HTML และอื่น ๆ
โดยมากก็มองออกเร็วว่าเครื่องมือที่ต้องใช้คือฝั่งไหน และถึงจะมีอย่าง asciidoc ด้วย แต่ถ้าลองคิดว่ามีพื้นที่ไหนที่ชุด markdown/quarto/typst ครอบไม่ถึง ก็มีไม่มากนัก
ที่เหลือจริง ๆ ก็คงเป็นพวก WYSIWYG editor
มันดูเหมือน superset ของ Markdown ที่ออกแบบมาดีและค่อนข้างรอบคอบ
https://djot.net/
ถ้าเลิกใช้ LaTeX ได้จริงก็คงดีที่สุด แต่พอเอาไปใช้กับโปรเจ็กต์จริงกลับเจอ corner case เยอะเกินไป สุดท้ายเลยกลับไปหา LaTeX อีก
มีทั้งส่วนที่ขาดเมื่อเทียบกับ LaTeX และเรื่องความสามารถในการแปลงผ่าน Pandocที่ยังไม่พอด้วย
หวังจริง ๆ ว่าจะเติม 10% สุดท้ายนั้นได้
https://github.com/iamgio/quarkdown#comparison
มันสามารถใส่ฟิลเตอร์อะไรก็ได้กับ JSON format ขั้นกลาง ทำให้แทบจะสร้างการแปลงแบบไหนก็ได้ตามต้องการ และยังแปลงฟอร์แมตต่าง ๆ ไปเป็น JSON นั้นหรือย้อนกลับได้ด้วย
เพราะงั้นผมเลยชอบระบบที่อิง Pandoc และหลายครั้งสิ่งที่เครื่องมือพื้นฐานทำไม่ได้ก็แก้ได้ด้วย inline filter ง่าย ๆ
ตามแบบจำลองมาตรฐานของซอฟต์แวร์ฟิสิกส์ ถ้าแก้ไข Quarkdown ใน Atom มันจะกลายเป็น Quarkup และต้องเปลี่ยน Neutron Mail เป็น Proton Mail
แต่จะใช้ได้ก็ต่อเมื่อคุณพิมพ์ด้วยมือซ้ายพร้อมสร้างแอป Electron และเขียน anti-Neutrinos AI blogpost ไปด้วยเท่านั้น
ถ้าให้วิจารณ์สั้น ๆ ของผม มันใกล้เคียงกับ Markdown ที่ใส่ แมโครสไตล์ LaTeX มากกว่า
เพียงแต่ที่นี่เรียกมันว่าฟังก์ชัน ซึ่งก็น่าจะเพราะอย่างน้อยมีฟังก์ชันหนึ่งที่มี side effect นั่นคือฟังก์ชันที่ใช้สร้างฟังก์ชันใหม่
ผมชอบความบริสุทธิ์ทางไวยากรณ์แบบ "ทุกอย่างคือฟังก์ชัน" แต่การเอาโครงสร้างและการจัดสไตล์มาผสมกันอย่างเป็นธรรมชาติแบบ HTML/CSS ก็ทำให้รู้สึกก้ำกึ่งนิดหน่อย แน่นอนว่าเส้นแบ่งนั้นเดิมทีก็พร่าอยู่แล้ว
ถึงอย่างนั้นมันก็ค่อนข้างเท่ และผมก็เข้าใจว่าทำไมคนถึงตอบสนองแบบกังขากับความพยายามเปลี่ยน Markdown ครั้งใหญ่
คำวิจารณ์ที่ว่าถ้าใช้ฟังก์ชันมากเกินไปจะทำให้อ่านต้นฉบับยากขึ้นก็ถูกต้อง และบางครั้งความไม่สมบูรณ์แบบทัวริงก็อาจเป็นข้อดีได้
แต่ถ้ามองแค่ในฐานะการออกแบบที่เพิ่มฟังก์ชันให้ Markdown ผมว่ามันเป็นงานออกแบบที่สะอาดตาทีเดียว
ผมคือผู้สร้างและหัวหน้าโปรเจ็กต์ของ Quarkdown
ตอนแรกมันเริ่มจากโปรเจ็กต์วิจัยในมหาวิทยาลัย และผมก็ไม่เคยนึกเลยว่าอีก 2 ปีต่อมามันจะกลายมาเป็นแบบนี้
ขอบคุณที่สนใจนะครับ แล้วผมจะพยายามตอบคอมเมนต์ให้ได้มากที่สุด
ผมคิดมาตลอดว่า
*bold*กับ_italic_ดูเข้าท่ากว่า**bold**และ*italic*เครื่องหมายดอกจันที่เพิ่มมาอีกตัวใน Markdown ออกแบบไม่ค่อยดีนัก โดยเฉพาะเวลาแก้ไข Markdown บนมือถือหรือแท็บเล็ตมันค่อนข้างไม่สะดวก
แม้แต่ในเอกสาร GUI คนก็มักพยายามเลี่ยงแมโครอยู่แล้ว เลยสงสัยว่าเดิมที Quarkdown ถูกออกแบบมาสำหรับเอกสารที่ซับซ้อนและทำซ้ำเยอะหรือเปล่า
ขอบคุณที่เปิดรับคำถามนะ
ผมลองไล่อ่านเอกสารดูแล้วก็แอบกังวลนิดหน่อยว่าโมเดลการประเมินผลจะเหมาะกับงานนี้หรือไม่
การจัดวางข้อความปกติแล้วพอปรับส่วนหนึ่ง ตำแหน่งของส่วนอื่นก็มักพังตาม ต้องรัน layout pass ใหม่อีก จึงต้องมีโครงสร้างที่วนซ้ำจนถึงจุดคงตัว
Typst มีแนวคิด context สำหรับเรื่องนี้ https://typst.app/docs/reference/context/ แต่ใน Quarkdown ผมยังไม่เห็นอะไรคล้ายกัน อาจเป็นเพราะผมมองข้ามไป
ตอนทำหนังสือ ผมย้ายจากชุด pandoc/md/LaTeX ไปเป็น Typst และก็ค่อนข้างพอใจ
ความรู้สึกที่ได้เขียนโปรแกรมด้วยภาษาสมัยใหม่มันดี และความเร็วก็สูงกว่า pandoc+LaTeX มาก
https://functionalprogrammingstrategies.com/
ถ้ามองจากฝั่ง AsciiDoc ไวยากรณ์ของ Quarkdown ก็ดูสะอาดดี โดยเฉพาะ ฟังก์ชันที่ผู้ใช้กำหนดเอง
แต่ผมรู้สึกว่าสิ่งที่ยากกว่าในสายนี้ไม่ใช่ตัวภาษาต้นทางเองเท่าไร แต่เป็นpipeline ฝั่งเอาต์พุตมากกว่า
ส่วนขยายของ Markdown อย่าง cross-reference, admonition, conditional content, การ reuse แบบใช้ฟังก์ชันนั้นในเชิงการออกแบบจัดการได้อยู่แล้ว
กำแพงจริงอยู่ถัดจากนั้น เช่น tagged PDF ที่ผ่านมาตรฐาน PDF/UA, deterministic build ที่ไม่สั่นคลอนแม้อยู่คนละสภาพแวดล้อม, hreflang และ cross-document linking สำหรับไซต์เอกสารหลายภาษา, หรือ incremental rebuild ที่ยังไหวแม้หนังสือยาว 500 หน้า
โดยเฉพาะใน EU หลังวันที่ 28 มิถุนายน 2025 ที่ European Accessibility Act มีผลบังคับใช้ ความสำคัญของ PDF/UA ก็ยิ่งสูงขึ้น
เลยอยากรู้ว่ามีแผนจะพา doctype ทั้งสี่แบบ โดยเฉพาะฝั่ง paged ไปทางไหน
ในตารางเปรียบเทียบควรใส่ MyST ด้วย
https://mystmd.org/
ฝั่งนี้ดูมีโอกาสจะกลายเป็น มาตรฐาน Markdown ใหม่ในอนาคตก็ได้
แม้จะไม่ใช่ส่วนขยายของ Markdown แต่เป้าหมายกับกรณีใช้งานค่อนข้างคล้ายกัน
แต่ก็น่าเสียดายที่การรองรับ LSPยังไม่แข็งแรง อย่างน้อยผมก็ทำให้มันทำงานดี ๆ ใน helix ไม่สำเร็จ
บล็อกของผมเองก็ทำด้วย pydata-sphinx-theme กับ myst
ถ้าอยากก็ส่ง PR มาอัปเดตตารางเองได้เลย
ในแอปของผม ผมเลือกแนวทางที่ต่างออกไปเล็กน้อย
ผมโฟกัสที่ความอ่านง่ายและการจัดการกับ ไดอะแกรม Mermaid ขนาดใหญ่ให้สะดวก และช่วงหลังยังเพิ่มโหมดเต็มจอที่ท่องดูได้เหมือนแผนที่ด้วย
https://mdview.io/s/97af684b
เวลาใช้ SSG ผมมักชอบเก็บอินพุตให้เป็น Markdown ที่สะอาดที่สุด แล้วโยนรายละเอียดเรื่องการจัดรูปแบบไปไว้ที่ CSS แทน
ตัวอย่างเช่นไม่จำเป็นต้องใส่อะไรอย่าง
.abstractก็ได้ แค่ทำให้ CSS จัดย่อหน้าแรกให้เป็น abstract ก็พอแต่โปรเจ็กต์นี้ดูเหมือนจะเดินไปทางการสร้างเอกสารแบบพึ่งพาตัวเองได้มากขึ้น
มันไม่มี CSS แต่มีตัวเลือกการจัดสไตล์ที่เตรียมไว้ล่วงหน้าเยอะ เลยทำให้นึกถึง HTML ยุคแรก ๆ อยู่เรื่อย
HTML 1 ไม่มีสีและแทบไม่มีการจัดรูปแบบ จึงคล้าย Markdown แต่พอถึงประมาณ HTML 3 ก็เริ่มใส่นั่นใส่นี่เยอะขึ้น ซึ่งโปรเจ็กต์นี้ก็ดูคล้ายพัฒนาการแบบนั้น