มาร์กดาวน์ไปที่ ตัวแปลง HTML
แปลงข้อความ Markdown ให้เป็นโค้ด HTML ที่พร้อมใช้งานจริงพร้อมรองรับการแสดงตัวอย่างแบบเรียลไทม์
แปลงข้อความ Markdown ให้เป็นโค้ด HTML ที่พร้อมใช้งานจริงพร้อมรองรับการแสดงตัวอย่างแบบเรียลไทม์
Markdown เป็นภาษามาร์กอัปแบบน้ำหนักเบาที่สร้างขึ้นโดย John Gruber ในปี 2004 เพื่อให้ผู้เขียนสร้าง HTML ที่มีโครงสร้างโดยใช้รูปแบบข้อความธรรมดา: อักขระแฮชสำหรับส่วนหัว เครื่องหมายดอกจันสำหรับการเน้น ยัติภังค์สำหรับรายการ บล็อกเยื้องสำหรับโค้ด รูปแบบนี้กลายเป็นค่าเริ่มต้นสำหรับไฟล์ README เอกสารทางเทคนิค ร่างบล็อก เครื่องมือสร้างไซต์แบบคงที่ และบริบทใดๆ ที่การเขียนควรอ่านได้ในรูปแบบข้อความธรรมดาและเป็นเอาต์พุตที่แสดงผล การแปลง Markdown เป็น HTML เป็นขั้นตอนการเรนเดอร์ที่เปลี่ยนแหล่งที่มาให้เป็นหน้าเว็บ
ตัวแปลงนี้ใช้ไลบรารีที่ทำเครื่องหมายไว้ ซึ่งเป็นตัวเรนเดอร์ Markdown ที่นำมาใช้กันอย่างแพร่หลายที่สุดใน JavaScript Marked รองรับ CommonMark และ GitHub Flavoured Markdown (GFM) ซึ่งหมายความว่าตาราง บล็อกโค้ดที่ไม่รั้ว รายการงาน ขีดฆ่า และการเชื่อมโยงอัตโนมัติทั้งหมดทำงานได้อย่างถูกต้อง นอกเหนือจากฟีเจอร์ Markdown มาตรฐาน
เอาต์พุตเป็น HTML ธรรมดา — แท็กเชิงความหมายสำหรับส่วนหัว ย่อหน้า รายการ ลิงก์ และรูปภาพ รวมถึงคลาส hooks สำหรับบล็อกโค้ดที่เครื่องมือเน้นไวยากรณ์คาดหวังไว้ วางเอาต์พุตลงใน CMS ใดๆ ได้อย่างหมดจด ฝังไว้ในเครื่องมือสร้างไซต์แบบคงที่ หรือทำหน้าที่เป็น .html แบบสแตนด์อโลน ไม่มีการเพิ่ม CSS หรือ JavaScript; การจัดรูปแบบผลลัพธ์จะเป็นไปตามบริบทดาวน์สตรีมของคุณ
Markdown เป็นรูปแบบที่ผู้เขียนและนักพัฒนาต้องการ HTML คือรูปแบบที่เบราว์เซอร์แสดงผล ตัวสร้างไซต์คงที่และแพลตฟอร์ม CMS ส่วนใหญ่แปลง Markdown เป็น HTML เบื้องหลัง แต่บางครั้งคุณจำเป็นต้องมีการแปลงเป็นขั้นตอนเดี่ยวๆ — วางลงใน CMS ที่ไม่รองรับ Markdown, สร้าง HTML สำหรับอีเมล, สร้างการแสดงตัวอย่างอย่างรวดเร็ว หรือแยกเอาต์พุตที่แสดงผลเพื่อการประมวลผลเพิ่มเติม
HTML ยังเป็นรูปแบบมาตรฐานสำหรับเนื้อหาใดๆ ที่จะแสดงในเบราว์เซอร์ในที่สุด จดหมายข่าวทางอีเมลที่สร้างขึ้นจากร่าง Markdown หน้าเอกสารที่ฝังอยู่ในแอปพลิเคชัน HTML ขนาดใหญ่ และโพสต์ในบล็อกที่วางลงในบรรณาธิการที่คาดหวังว่า HTML ล้วนได้รับประโยชน์จากการแปลงแบบใหม่
วาง Markdown รับ HTML
Marked ใช้สถาปัตยกรรมแบบสองผ่าน โทเค็น lexer อินพุตเป็นโทเค็นระดับบล็อก (ส่วนหัว ย่อหน้า รายการ บล็อกโค้ด) และโทเค็นอินไลน์ (เน้น ลิงก์ รูปภาพ) parser เดินสตรีมโทเค็นและส่ง HTML โดยใช้ hooks ของตัวแสดงผลสำหรับโทเค็นแต่ละประเภท
ส่วนขยาย GitHub Flavoured Markdown ถูกเปิดใช้งานตามค่าเริ่มต้น: ตาราง (ใช้ไวยากรณ์ไปป์), บล็อกโค้ดรั้ว (แบ็คทิกสามตัวพร้อมคำแนะนำภาษา), รายการงาน (- [ ] และ - [x]), ขีดทับ (ใช้เครื่องหมายตัวหนอนคู่) และการเชื่อมโยง URL อัตโนมัติ บล็อกโค้ดปล่อยโค้ดที่ล้อมรอบไว้ล่วงหน้าพร้อมคลาสภาษาเสริมสำหรับการเน้นไวยากรณ์ดาวน์สตรีม
การฆ่าเชื้อผลผลิตตกเป็นของผู้บริโภคขั้นปลาย Marked จะปล่อยทุกอย่างที่อินพุตสร้างขึ้น รวมถึง HTML แบบดิบที่ฝังอยู่ใน Markdown หากคุณยอมรับอินพุตที่ไม่น่าเชื่อถือ ให้เรียกใช้เอาต์พุตผ่าน DOMPurify หรือโปรแกรมล้าง HTML ที่คล้ายกันก่อนที่จะเรนเดอร์ในเบราว์เซอร์