請不要使用Markdown編寫文件 - buttondown

banq發表於2020-03-25

Markdown對於簡短的文件(例如readme.md)是可以容忍的。除此之外,它不是好的工作工具。
Markdown只是一種編寫更簡單,外觀漂亮的HTML的方法。這就是人們使用它的原因:它很容易學習,並且很容易用任何一種程式語言編寫一個不錯的markdown解析器。

Markdown無法攜帶資料。無法使用markdown將屬性注入文字。好的文件都是關於語義標記的。“定義”不僅是不同的格式或類似格式。這意味著您的文件中實際上存在一個“定義”的概念,作為一個離散的概念。如果需要,您應該能夠隱藏所有定義,或者僅顯示定義。您應該能夠將幾個程式碼示例標記為以不同的語言執行相同的操作。您應該能夠生成帶有和不帶有“ TODO”部分的文件,以便可以在內部和外部共享單獨的版本。如果您需要做的只是格式化資訊,則無法執行此操作。
Markdown的大多數文件系統都接受這一點。他們通常會新增自己的額外風味,以實現更復雜的內容標記。這導致我們不是在Markdown中編寫東西,而是在Markdown方言中保持一致的規則。

在Markdown中,您可以使用三種格式:粗體,斜體和code。如果您想將文件中的某些內容塗成藍色怎麼辦?你不能!人們嘗試使用Markdown的“擴充套件”解決此問題。大多數現代處理器都支援表。但是這些擴充套件是直接新增到Markdown引擎中的,而不是Markdown的“可擴充套件性”功能的一部分。如果您想擁有新事物,則必須修改引擎的程式碼。例如,帶有標題的影像。這不是Markdown規範的一部分!

Markdown是一種嚴格的本地格式設定。Markdown如此簡單的原因之一是,您可以一次性分析它。但這也意味著您不能整體引用文件。Markdown沒有自然的方法在一個頁面中提供引用,並自動在另一頁面中連結交叉引用。最好的辦法是在Markdown連結中對網址路徑進行硬編碼。您也無法執行“將所有定義收集到詞彙表頁面中”或“使兩個標註框別名相同的文字”之類的操作。

Markdown可以很好地生成HTML,而製作PDF則很糟糕。

我在Markdown中寫了Learntla和Practical TLA +。不要犯我的錯誤。不要在Markdown中編寫文件。


 

相關文章