DP

Markdown 简明笔记

David Peng

2020-04-12

Markdown 是一种轻量级的文本标记语言,使用简单的纯文本格式的语法编写文档,然后转换成 HTML 和其他格式的文档。Markdown 由 John Gruber 和 Aaron Swartz 在 2004 年创造,这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。目前已经广泛地使用在 README 文件、发帖或使用纯文本格式生成富文本格式的文字编辑器中。

Markdown 介绍

Markdown 的主旨是尽可能的可读性,文本应该能直接被阅读,而不需要使用格式化指令来标记(像 RTF 与 HTML)。Markdown 同时是一个 Perl 软件,用来转换 Markdown 格式的文本为 HTML,你可以在 John Gruber 的博客查看初始的 Markdown 语法

Markdown 语法

Markdown 语法最关注的是可读性,其借鉴了很多已存在的文本转 HTML 的格式语法:Setext, atx, Textile, reStructuredText, Grutatext 和 EtText。

Markdown 文档就是普通的文本文档,只是以 Markdown 的语法标记了一些特殊排版段落。Markdown 的语法并不复杂,网上有很多介绍,读者可以参考以下地方学习 Markdown 更多语法:

Markdown 扩展语法

Markdown 语法实现的基本的文档元素的标记,但部分元素例如表格、数学公式、交叉引用、定义列表等没有实现。所以出现了各种 Markdown 变体,比较知名的变种有以下几种:

使用 Pandoc 转换 Markdown 文档

Pandoc 是一个在多种标记语言间相互转换的通用工具,可以在常见的 Markdown、HTML、PDF、EPUB、DOCX 等格式间相互转换。

Pandoc 的基本用法为:

pandoc FILE [OPTIONS]

Pandoc 有很多选项,完整用法可以参加其 用户手册

使用 pp 预处理 Markdown 文档

pp 是一个预处理工具,我们可以用它来预处理Markdown 文档,扩充 Markdown 的功能。然后用 Pandoc 转换预处理过后的 Markdown 文档。

pp 是以宏的方式扩展语法的,我们可以自定义一些宏,把 Markdown 各种扩展语法中不支持的语法加入。

如果我们要加入下划线的语法,可以定义一个这样的 HTML 的宏:!define(u)(<u>!1</u>) 和 LaTeX 的宏 !define(u)(\underline{!1}),例如 !u(下划线的文字) 的输出结果为 下划线的文字

更多用法可以参考:

Markdown 编辑器

学会了 Markdown 的语法后,需要用文本编辑器编辑 Markdown。可以直接用记事本来编辑 Markdown 文档,但是有一个支持语法高亮的文本编辑起来会顺手一些,我尝试过很多 Markdown 编辑器,以下是我推荐的几个。

使用 Code 的话,推荐装上这两个插件:

Markdown 相关资源

©2020 David Peng ♥ 采用 Pandoc 搭建