newsence
為什麼我們還在用 Markdown?

為什麼我們還在用 Markdown?

Hacker News·2 天前

我對 Markdown 提出了批評,認為它的語法模糊、存在 XSS 和 ReDoS 等安全漏洞,且功能蔓延迫使一個簡單的標記工具必須像複雜的程式語言一樣運作。

背景

這篇文章探討了 Markdown 雖然身為目前最流行的輕量級標記語言,卻存在語法歧義、安全性漏洞(如 ReDoS 與 XSS)以及過度依賴內嵌 HTML 等設計缺陷。作者質疑在追求功能擴張的過程中,Markdown 是否已經背離了最初簡約的初衷,並對其混亂的標準化現狀表示不滿。

社群觀點

Hacker News 的討論呈現出明顯的兩極化,但多數開發者採取了「不完美但夠用」的務實態度。支持者認為 Markdown 的核心價值在於其「劣即是好」(Worse is Better)的哲學,它成功地將電子郵件與 Usenet 時代的書寫慣例標準化,極大地降低了寫作與閱讀的認知負荷。對於許多使用者而言,標記語言不應成為創作的障礙,Markdown 提供的正是這種低摩擦力的體驗。即便它在解析上存在技術瑕疵,但對於非技術人員或需要快速筆記的開發者來說,其直觀程度遠勝於 HTML 或 LaTeX。

然而,反對者與批評者則指出 Markdown 的多樣變體(Dialects)確實造成了混亂。有人抱怨必須在星號與底線之間做選擇,或者在處理複雜的巢狀清單時感到痛苦。部分留言者認為,Markdown 的解析複雜度其實被低估了,為了支援內嵌 HTML,開發者實際上必須同時維護兩套解析器,這與簡約的初衷背道而馳。此外,針對安全性與標準化的疑慮,有觀點提出 AsciiDoc 或 Typst 可能是更好的替代方案,因為它們擁有更嚴謹的規範與更強大的功能擴展性,且不會像 Markdown 那樣在處理複雜文件時顯得力不從心。

有趣的是,AI 的興起為 Markdown 注入了新的生命力。多位討論者提到,Markdown 是目前最適合大型語言模型(LLM)的格式,因為它比 HTML 更節省 Token,且結構清晰,易於機器理解與生成。這種「AI 友善」的特性,讓許多原本對其語法不滿的開發者轉而接受它作為事實上的標準。儘管有人提倡回歸純文字或轉向更強大的 Org-mode,但社群的共識傾向於認為,除非出現一個同樣易學且具備強大生態支持的競爭者,否則 Markdown 憑藉其巨大的慣性與「足夠好」的表現,仍將長期統治文件標記領域。

延伸閱讀

在討論中,不少參與者推薦了能改善 Markdown 體驗或作為替代方案的工具。Obsidian 被多次提及,認為其即時預覽模式能有效消除手寫語法的認知負擔。在替代語言方面,Asciidoc 被視為撰寫長篇技術書籍的首選,而 Typst 則因其一致性的設計原則與現代化特性受到關注。此外,CommonMark 規範與 Pandoc 轉換工具也被視為處理 Markdown 歧義問題時的重要參考資源。針對 Markdown 的奇特行為,亦有開發者分享了 Advent of Markdown 專案,深入剖析其語法陷阱。

https://bgslabs.org/blog/why-are-we-using-markdown/