Markdown 入门指南
Markdown 入门指南
目录
Markdown 语法的起源
Markdown 语法的种类
- Markdown traditional
- Markdown Extra
- GitHub Flavored Markdown
- 其他 Markdown 语法规则
Markdown 编辑器(仅 windows)
总结
Markdown 语法的起源(不想读跳就行了)
Markdown 最初由 Aaron Swartz 和 John Gruber 共同设计,其最初的语法被称作 markdown traditional。
Markdown 语法简单但是强大,它几乎能满足人们在文字工作上的需求。md 语法的原型是 html 语法,它使用简单的 md 标签代替了繁琐的 html 标签,使得使用者不必将时间花在格式的设计上。同时,markdown 的文件格式 md 文件支持到处成为 PDF 文档和 html 文件,具有广泛的通用性。现在,markdown 已经在全世界范围内被广泛使用。
因为 markdown traditional 的语法过于简单,并没有办法满足大多数人的需求,所以开发者们基于原有的 traditional 语法,开发出了各式各样的 md 语法。markdown 不存在统一的规则[1],虽然可能会采用已经存在的语法规则,但是在使用 md 软件前,最好了解这款软件包含的语法规则。
Markdown 语法的种类
目前被广泛认可的 md 语法有 markdown extra,GitHub flavored markdown(GFM) 等等。其中,GFM 的语法是最通用的语法规则,而个人认为在语法功能上 extra 要强于 GFM。
虽然,一般编辑器的语法不会跳出已经被广泛认可的 markdown 语法规则之外,但仍然要强调的是,这些语法规则只是一个范本,很多 md 编辑器并不会严格执行它们,在使用 markdown 编辑器之前,请先了解该 md 编辑器的语法规则(如果还没有 md 编辑器,请先安装一个 md 编辑器,笔者个人推荐“先”装 Markdown Pad免费版)。
值得提醒的是,虽然 md 语法规则本身支持 html 标签,但很多软件并不允许你这么做。因为关乎文本安全的问题,有 html 基础的同学在学习 md 的时候尝试一下就好,请不要把 html 语法写在正式的 md 文件中。
markdown-classMarkdown traditional
Traditional 作为最初的语法规则,它能够被任何 md 编辑器兼容。Traditional 现在仍具有很高的学习价值,尤其对于笔者这样在各种 md 编辑器之间辗转的人来说,知道哪些是基础的语法显得尤为重要。
当然,如果你就赖在一个软件上,当我没说。
Markdown traditional 目前最权威的语法规则解释就是 md 创始人 John Gruber 博客中关于 markdown 语法的博文。
因为原文是英文版[2],对于一些对英文有障碍的人来说则需要中文的翻译版本,所以在这里贴出GitHub中一篇关于 markdown traditional 语法规则的教程。
Markdown Extra
extra 是 traditional 的增强,它几乎涵盖了现有的各种 md 语法中的大多数功能,因此具有很大的学习价值。但是,extra 的通用性并不高。
在 extra 的官方介绍网站中,其作者默认学习者已经学习过 traditional 的语法规则,所以只提供了 extra 拓展部分的教程。
笔者并没有找到可靠的 extra 中文版教程,有英语障碍的同学自行百度。
GitHub Flavored Markdown(GFM)
GitHub flavored markdown,又称 GFM[4],是由 GitHub 提供的 md 语法。因为其语法规则是基于网站的,所以 GFM 中的一些语法规则只有中 GitHub 中才有效果。但是这并不妨碍 GFM成为目前最通用的 md 语法规则[5]。
GitHub Help | writing on GitHub[6]
其它 Markdown 语法规则
Pandoc 是一款文档格式转换器,它在编辑文字模式下支持 markdown 语法规则
Markdown 编辑器(仅 windows)
这里只介绍 windows 系统下的 md 编辑器(离线)。MAC OS 系统自行转 APP Store 搜索。至于 Linux,你都用 Linux了还用笔者来推荐软件吗?
被誉为 windows 系统下最好的 md 编辑器,但就笔者看来是中规中矩的一个软件。
Markdown Pad 就性能方面没的说,吊打目前很多看似优秀的国产 md 编辑器。支持多种语法规则[7],界面支持语法渲染和实时预览(预览的样式非常清楚,也还算美观)。不足的是,md pad 在某些细节上没有处理得很好,但也并不影响使用。另外,这个编辑器的设置是个好东西,不要懒得调设置。
初学者建议装 md pad 的免费版,可以试用不同的 md 语法,以便找到适合自己的。
来自某 windows f*cker 同学推荐的 markdown 编辑器,相当可以,非常适合 markdown 重度使用者。
简洁、强大。笔者已经没有其他的词去称赞这款 md 编辑器了。
虽然笔者不常用简书(主要是不喜欢在线编辑文档),但是笔者非常喜欢同时敬重简书的设计和其理念。没有用过的同学可以尝试一下。
什么,你告诉这不是 md 编辑器?那是你还不会用它们。有兴趣的童鞋可以去学习和配置一下(学一个就行了),笔者可以告诉你,当你学完它们,你就不会再用其它的文字编辑器了(Office除外【笑】)。
总结
Markdown 非常简单,也非常实用,在学习的过程中笔者深刻地感受到了这一点。笔者本来是想写 md 教程的,可后来觉得不如写个介绍,让大家看官方教程自学更有价值一点。所以就写了这个。
最后吐槽推荐笔者 Typora 的那个同学【记仇】,觉得不能被所有人成功预览的语法不是好语法。为什么要纠结于语法的统一性呢?笔者倒是觉得:md 的初心是为了人们更有效率地学习、工作,连 md 开发者都反对建立统一的规则,我们为什么又要去集体使用同一个语法规则呢?所以,哪个用得爽就用哪个呗。[8]
-
以后也不会有,其原因之一是: md 的创立者之一 Gruber 反对建立统一的 markdown 语法 ↩
-
笔者个人建议去阅读英文原版的教程 ↩
-
Extra 的新功能有:html嵌入markdown,缩写,表格,定义,脚注等等 ↩
-
其实 GFM 说得比较多,因为简单 ↩
-
程序员的力量 ↩
-
GFM 的新功能有:删除线、多选框、@功能,emoji表情支持,参考目录等等(extra 已有的就不说了) ↩
-
Markdown Pad 目前支持 traditional、extra、GFM的原版语法规则,同时带有 GFM 的离线语法版本,但离线版本的具体语法规则并不清楚,也无说明。 ↩
-
最后那个同学“发现”可以导出成PDF,就不存在这个问题了。 ↩