首页
学习
活动
专区
工具
TVP
发布

为什么不应该使用Markdown来写文档

Markdown是互联网上最普遍使用的轻量级标记语言。对于写博客和评论这类的任务,用Markdown很棒。不过最近技术社区的人员开始用它来写文档。

下面我列出一些反对使用Markdown的观点,希望能帮助你决定是否适合使用Markdown。如果你在考虑使用Markdown,我希望你也可以关注下Asciidoctor和Sphinx,我发现用它们写文档更好。

人们选择Markdown是因为它可以很简单的处理一些基本任务。开发者选择它是因为GitHub支持它,尽管GitHub支持9种不同的标记语言,包括Asciidoc和reStructuredText。但是当文档从几页逐渐增长到大的文档集,Markdown很快就崩溃并成为累赘。下面是这种情况发生的原因。

缺乏一个标准

最初,Markdown是由John Gruber写的initial implementation来定义,但并未明确规定行为规范。

随着Markdown越来越流行,越来越多的站点开始支持Markdown的实现,这些站点是用其它语言写成的,因此产生了更多的Markdown实现。所有这些实现有轻微差别,但都达不到令人接受的程度。

比如有些实现要求开头有一个空格,但另外的一些不做要求:

还有一些小问题使得Markdown很难在不同的站点和版本之间移植

在过去的几年里,Commonmark已经发展成标准化的Markdown。这很好,应该解决很多问题,但是却没人采用它。

风格

Markdown缺乏采用的主要原因是这些年来其一直在变化。起初,Markdown功能很有限,每当有流行的工具在Markdown上实现的时候,都会有一个特定的风格。听起来不错,是吧?问题是每一个工具都形成了不同的风格,甚至连实现相似任务的工具都有不同的语法。

举个例子,在Markdown Extra中代码块是下面这种样式:

这将python类应用于输出的HTML块

然而,同样的情况在GitHub Flavored Markdown中是这样的:

这会将语法高亮显示应用于实际呈现的HTML输出。

相似的概念,不同的语法,但都是Markdown。

缺乏扩展

其它的标记语言,可以对其进行扩展以提供需要的功能。它们在语法上有增添新功能同时又不会违反初始规范的机制。

比如reStructuredText,具有内嵌和块级别的标记:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180310A07QYM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券