Markdown是一种轻量级的“标记语言”,它的优点很多,目前也越来越多的写作爱好者、撰稿者广泛使用。看到这里请不要被“标记”、“语言”所迷惑,Markdown的语法十分简单。常用的标记符号也不超过十个,这种相对于更复杂的HTML标记语言来说,Markdown可谓是十分轻量的,学习成本也不需要太多,且一旦熟悉这种语法规则,会有一劳永逸的效果。
一. 认识Markdown
在刚才的导言里提到,Markdown是一种用来写作的轻量级“标记语言”,它用简洁的语法代替排版,而不像一般我们用的字处理软件Word或Pages有大量的排版、字体设置。它使我们专心于码字,用“标记”语法来代替常见的排版格式。例如,此文从内容到格式,甚至插图,键盘就可以通通搞定了。目前来看,支持Markdown语法的编辑器有很多,包括很多网站(例如,简书也支持了Markdown的文字录入。Markdown从写作到完成,导出格式随心所欲,你可以导出HTML格式的文件用来网站发布,用Markdown写出的简历也可以十分方便的导出PDF格式,更能得到HR的好感。本文的所有格式、内容都是用Markdown写成。
Markdown语法说明文档
这里可以看到官方的Markdown语法规则文档,当然,后文我也会用自己的方式阐述这些语法的具体用法。
使用Markdown的优点
- 专注你的文字内容而不是排版样式
- 轻松导出HTML、PDF和本身的.md文件
- 纯文本内容,兼容所有的文本编辑器与字处理软件
- 可读、直观,适合所有人的写作语言
Markdown编辑器推荐

Atom -- 见仁见智
Atom -- 来自Github的Markdown编辑器。是的,这里没有之一,只有一款推荐。原因很无厘头,笔者只使用过Atom这一款Markdown编辑器,并且很顺手。Atom包含了主流的Markdown功能,如下:
- 语法高亮,并且视觉效果很好;
- Markdown格式预览,左右分屏直观有效;
- 来自GitHub的品牌效应,值得信赖。
关于Atom的一些讨论请参见知乎,见仁见智吧。
Atom的用户手册:
二. Markdown常用语法
Markdown的语法简洁将会让你觉得,一旦熟悉就一劳永逸!
标题与字体
- 标题采用符号“#”表示,对应几级标题就是几个“#”符号;
- 常规字体直接输入;
- 斜体采用星号“*”环绕,例如输入*斜体*将得到 斜体;
- 粗体采用双星号“**”环绕,例如输入**粗体**将得到 粗体;
- 删除线采用波浪线双“~~”环绕,例如输入~~删除~~将得到
删除。
引用与超链接
至此本文已经多次用到超链接,这里将超链接的使用方法详细叙述如下:
- 一个方括号,里面放上图片的替代文字
- 接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上 选择性的 'title' 文字。
超链接语法格式如下:
[link_label](https://github.com/atom/atom)
其中,「link_label」是链接的替代文字,( )内是网络url或者本地路径。
区块引用与分割线
区块引用主要应用于代码等其他格式文件的引用,采用代码块标记符号表示,或者更简单的通过在行开始添加Tab制表符或者4个空格的缩进即可(能够实现代码高亮)。
输入以下例子代码:
<pre><code>
return shell_exec("echo $input | $markdown_script");
<\code><\pre>
或者:
\t return shell_exec("echo $input | $markdown_script");
得到的输出如下:
<pre><code>
return shell_exec("echo $input | $markdown_script");
</code></pre>
可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面几种输入方式都能够得到分割线:
---
***
列表与选项
无序列标采用星号“*”或者横线“-”表示:
输入:
* 无序列表项目
- 无序列表项目
输出:
- 无序列表项目
- 无序列表项目
有序列标采用数字“1. ”表示:
输入:
- 有序列表项目
- 有序列表项目
输出:
- 有序列表项目
- 有序列表项目
层次列标采用符号“-+”表示:
输入:
- 外层列表项目
+ 内层列表项目
+ 内层列表
+ 内层列表
+ 内层列表项目
+ 内层列表
+ 内层列表
- 外层列表项目
输出:
- 外层列表项目
- 内层列表项目
- 内层列表
- 内层列表
- 内层列表项目
- 内层列表
- 内层列表
- 外层列表项目
图表与公式
图片
图片使用一种和链接很相似的语法来标记,详细叙述如下:
- 一个感叹号 !
- 接着一个方括号,里面放上图片的替代文字
- 接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上 选择性的 'title' 文字。
插入图片的语法如下(仅在超链接语法前添加了感叹号“!”):

其中,「img_label」是图片的替代文字,( )内是图片的地址(网络url或者本地路径),“ ”内是图片题注。
Tips: 在Atom编辑器内,可以通过输入 img 然后使用 Tab 键直接调出上述图片插入模版。
表格
新版本的Markdown已经能够支持表格了(老版本还得通过ccs曲线救国),直接采用“|”进行列的分割,采用“:----”将标题栏与正文分给,这种所见即所得的方式非常方便。
name-1 | name-2 | address | zone |
---|---|---|---|
John | Smith | 123 Main St. | Springfield |
Mary | Jones | 456 Pine St. | Dover |
Jim | Baker | 789 Park Ave. | Lincoln |
Tips: 在Atom编辑器内,可以通过输入 table 然后使用 Tab 键直接调出上述表格插入模版。
公式
公式的输入有三种方式:
- 插入公式图片:显然这么不儒雅的行为不太适合部分文化人;
- LaTeX公式+网站解析:将LaTeX的公式放在codecogs上进行解析,即将网址末尾的“LaTeX”字样替换为公式代码,最后将返回正确的公式以图片形式引入Markdown文件;
- MathJax引擎:儒雅漂亮高效,但是需要配置引擎,附上CSDN参考文档,据说stackoverflow上的公式就是这么处理的,但笔者尚未尝试。
这里,附上“LaTeX公式+网站解析”方式的示例,输入以下代码(点击网址即可看到解析结果):

将得到公式如下:
eqn:solution
三. Markdown应用举例
网络交流平台
支持Markdown的网络交流平台推荐:
- 简书:交流故事,沟通想法,一个基于内容分享的社区,Markdown的简洁美观尽收眼底;
- GitHub:一个码农界鼎鼎大名的代码托管网站,其说明文档和Pages功能均采用Markdown格式;
- CSDN:最大的中文IT社区,其博客支持Markdown格式。
微信公众平台
作为当下火热的移动互联网渠道,微信公众平台还不支持Markdown格式,很遗憾。对此,知乎上已经发起了讨论。不过好消息是,浏览器插件markdown-here提供了很好的解决方案,操作方法见百度经验。
Markdown转换为PDF
推荐一个格式转换工具markdown-pdf
个人网站/私人札记
基于上述推荐的神奇网站,构建个人网站和私人札记已经变得简易化了。历史在发展,时代在进步,当前的个人营销或者是学习笔记的形式也在革新……
网友评论