ทำความเข้าใจความต่างของไวยากรณ์: Markdown แตกต่างจากรูปแบบ mrkdwn เฉพาะของ Slack อย่างไร
การใช้งาน Markdown ที่แพร่หลายซึ่งสร้างโดย John Gruber และ Aaron Swartz ในปี 2004 ได้สร้างมาตรฐานการจัดรูปแบบข้อความธรรมดาทั่วทั้งเครื่องมือนักพัฒนา คลังโค้ด เครื่องมือสร้างไซต์แบบคงที่ และพอร์ทัลเอกสารทางเทคนิค Markdown มาตรฐานและ GitHub Flavored Markdown (GFM) ใช้สัญลักษณ์เครื่องหมายวรรคตอนที่เป็นที่รู้จักกันดีเพื่อแทนองค์ประกอบโครงสร้าง HTML: เครื่องหมายดอกจันสองอัน **text** หรือเครื่องหมายขีดล่างสองอัน __text__ สำหรับตัวหนา, เครื่องหมายดอกจันอันเดียว *text* หรือขีดล่าง _text_ สำหรับตัวเอียง, [link text](url) สำหรับข้อความที่มีไฮเปอร์ลิงก์ และเครื่องหมายแฮช # สำหรับหัวข้อหลายระดับ
อย่างไรก็ตาม เมื่อ Slack ออกแบบแพลตฟอร์มการสื่อสารในสถานที่ทำงาน ได้มีการนำรูปแบบการจัดรูปแบบข้อความเฉพาะที่แก้ไขแล้วมาใช้ในชื่อ mrkdwn แม้ว่า mrkdwn จะมีความคล้ายคลึงกับ Markdown ดั้งเดิมในระดับพื้นผิว แต่กฎไวยากรณ์ของมันก็แตกต่างกันอย่างมากในจุดสำคัญ ใน Slack mrkdwn ข้อความตัวหนาต้องใช้เครื่องหมายดอกจันอันเดียว *bold* แทนที่จะเป็นดอกจันคู่ ตัวเอียงต้องใช้เครื่องหมายขีดล่างอันเดียว _italic_ แทนที่จะเป็นดอกจัน ไฮเปอร์ลิงก์ใช้ไวยากรณ์วงเล็บมุมแบบกำหนดเอง <https://example.com|Link Text> แทนที่จะเป็นวงเล็บเหลี่ยมและวงเล็บโค้งตามมาตรฐาน Markdown นอกจากนี้ Slack mrkdwn ยังไม่รองรับไวยากรณ์หัวข้อมาตรฐานของ Markdown (# Heading 1) การขีดฆ่าด้วยเครื่องหมายตัวหนอนคู่ (~~text~~ เปลี่ยนเป็น ~text~) หรือการจัดรูปแบบตารางมาตรฐานโดยตรง
เนื่องจากความแตกต่างของไวยากรณ์เหล่านี้ นักพัฒนา ผู้จัดการผลิตภัณฑ์ นักเขียนเอกสารทางเทคนิค และหัวหน้าทีมที่ร่างเอกสาร บันทึกการปล่อยอัปเดต แผนสปรินต์ หรือรายงานเหตุการณ์ใน Markdown มาตรฐาน มักจะพบว่ารูปแบบเสียเมื่อวางข้อความลงในช่อง Slack โดยตรง เครื่องหมายดอกจันดิบยังคงแสดงอยู่ ลิงก์ไม่สร้างไฮเปอร์ลิงก์อย่างสะอาดตา และรายการที่จัดระเบียบไว้กลายเป็นข้อความพืดใหญ่ Utiliome's Markdown to Slack Converter ช่วยเชื่อมช่องว่างนี้โดยการจับคู่ AST token โดยอัตโนมัติและชาญฉลาดในฝั่งไคลเอ็นต์ มันจะวิเคราะห์โทเค็น Markdown มาตรฐานและแปลเป็นผลลัพธ์ Slack mrkdwn ที่ถูกต้องและสะอาดตา พร้อมสำหรับวางได้ทันที