Markdown 语法简单小结

[TOC]

写在前面

最终,我的博客还是回归到了起点。
博客断断续续几年,尽是折腾界面美化和各种网站框架或者建站工具,最终,失去了其核心价值,即内容和思想的沉淀。这更使得我的博客流于表面,对于自己的成长,也没有起到太多正面的作用。

反思后,决心回归最简单的格式外观,将重点集中于高质量内容的沉淀上。
这也是为什么又回到了 Markdown 的怀抱。

至于编辑器,我用过了众多纯编辑器,众多 Web 版的富文本编辑器,以及许许多多Markdown 编辑器后,决定使用最的 Vim。同时,也推荐一款 Markdown 编辑器Typora。这款软件足够轻量级,同时功能做到了尽可能的简单。至于 Web 编辑器,我使用简书

Markdown 概述

Markdown 是一种轻量级的 “标记语言”,创始人为约翰·格鲁伯(John Gruber)。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”。
——Wikipedia

Markdown 拥有这众多的优点

  • 纯文本编辑
  • 学习成本低
  • 广泛的软件支持
  • 在码农界有深厚的基础

基础语法

强调

星号与下划线都可以,单是斜体,双是粗体,符号可跨行,符号可加空格

代码 效果
*这是斜体* 这是斜体
_这是斜体_ 这是斜体
**这是粗体** 这是粗体
__这是粗体__ 这是粗体

标题

代码:

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

效果如下:

一级标题

二级标题

三级标题

四级标题

五级标题
六级标题

注意

  1. 最后一个 # 字符与标题中间要留有一个空格
  2. 标题共提供 6
  3. 一般行文中,标题应置于行首。若置于表格中,可能无法正确解析

引用

Markdown 中引用通过符号 '>' 来实现。'>' 符号后的空格,可有可无。
在引用的区块内,允许换行存在,换行并不会终止引用的区块。如果要结束引用,需要一行空白行,来结束引用的区块。

代码:

> 这是一句引用
> 这句仍然在引用区块内
>> 这是一句嵌套引用
>> 这句仍然在嵌套引用区块内
>
> 另起一行的引用。前面需要一个视觉上的空行表示内层嵌套的结束,空行前面的('>')可以有可以没有。

效果如下:

这是一句引用
这句仍然在引用区块内

这是一句嵌套引用
这句仍然在嵌套引用区块内

另起一行的引用。前面需要一个视觉上的空行表示内层嵌套的结束,空行前面的('>')可以有可以没有。


列表

有序列表

数字不能省略但可无序,点号之后的空格不能少。
虽然下面代码的序号是 1,2,4,但是在显示时,仍然为自然数序列,并不是完成与编号一致。
同样的,在列表的最后需要留有一行空行,以表达列表的结束,不然将作为一个无编号的列表存在。

代码:

1. 列表 A
2. 列表 B
4. 列表 C

效果如下:

  1. 列表 A
  2. 列表 B
  3. 列表 C

无序列表

符号之后的空格不能少,-+*效果一样,但不能混合使用

代码:

- 列表 A1
- 列表 B1

+ 列表 A2
+ 列表 B2

* 列表 A3
* 列表 B3

效果如下:

  • 列表 A1
  • 列表 B1
  • 列表 A2
  • 列表 B2
  • 列表 A3
  • 列表 B3

嵌套列表

有序与无序,以及有序和无序列表本身都是可以自由的嵌套的。
Markdown 中的列表嵌套,通过在符号前增加空格来表示。同一级别下,前面的空格数目应该保持一致。每递进一级,我习惯上使用 2 个空格缩进来表示。

代码:

- 一级列表 A
- 一级列表 B
  - 二级列表 A
  * 二级列表 B
    + 三级列表 A
- 一级列表 C

效果如下:

  • 一级列表 A
  • 一级列表 B
    • 二级列表 A
    • 二级列表 B
      • 三级列表 A
  • 一级列表 C

注意,有序列表的嵌套,也是通过预留空格实现

  1. 有序一级列表 A
  2. 有序一级列表 B
  3. 有序二级列表 A
  4. 有序二级列表 B
- 无序三级列表 A
- 无序三级列表 B
  1. 有序一级列表 C

分割线

三个或更多-_*,必须单独一行,可含空格。
例如以下形式,都可以表示为分割线。

代码:

---
- -    -
___
_   __
***
*  **
  *  *  *

进阶语法

超链接

图片与链接,在 Markdown 语法中表达类似,都是 [链接文字](链接地址) 这样的形式。

普通链接

代码:

[Wikipedia Markdown 条目](https://zh.wikipedia.org/wiki/Markdown)
[Wikipedia Markdown 条目](https://zh.wikipedia.org/wiki/Markdown "Markdown 条目")

效果如下:
Wikipedia Markdown 条目
Wikipedia Markdown 条目

图片链接

图片需要在 [] 前增加一个 ! 以使得图片在网页上直接显示,而不仅仅是个链接形式。

代码:

![维基百科 Logo](https://zh.wikipedia.org/static/images/project-logos/zhwiki.png)
![维基百科 Logo](https://zh.wikipedia.org/static/images/project-logos/zhwiki.png "维基 Logo")

效果如下:


维基百科 Logo
维基百科 Logo

维基百科 Logo
维基百科 Logo

上面分别有两个超链接和两张图片,两个超链接的区别在于一个增加了说明注释,而另一个没有,图片同理。

索引链接

索引链接,本质上与前两种链接一致,只是索引链接将 [链接文字](链接地址) 分离为[链接文字][索引], [索引]:链接地址 的形式。

代码:

[Wikipedia Markdown 条目][1]
[1]:https://zh.wikipedia.org/wiki/Markdown

效果如下:
[Wikipedia Markdown 条目][markdown]
[markdown]:https://zh.wikipedia.org/wiki/Markdown


表格

对于表格的支持,要根据具体的 Markdown 解释器来判定。在 hexo 中,支持以下 Markdown 形式的表格。
需要注意以下几点:

  1. 表格第一行为标题,样式会被特殊处理
  2. | 前后要留有空格
  3. 只要是三个 - 字符表示分隔线
  4. 通过 : 来区分,左对齐、居中、右对齐

代码:

| 1 | 2 | 3 |
| --- |:---:| ---:|
| aaa | bbbbbb | c |
| aaaaaa | b | ccc |

效果如下:

1 2 3
aaa bbbbbb c
aaaaaa b ccc

代码

行内代码

如果要标记一小段行内代码,可以用反引号 ` 把它包起来

代码:

这是一段行内代码,`System.out.println("article id: " + articleId);` 摘自 Redis 工程。

效果如下:

这是一段行内代码,System.out.println("article id: " + articleId); 摘自 Redis 工程。

区块代码

如果要成块的引用代码,有两种方法,一种是用制表符缩进,另一种,则是用三个反引号 ```,将代码块包起来。
在三个反引号后,加上语言说明,例如 ```java 这样,便指定了之后的代码采用 java 的高亮。

效果如下:

public int genRandPost(int bound) {
    Random rand = new Random();
    int cnt = rand.nextInt(bound);              
    
    Map<String, String> map = new HashMap<String, String>();
                            
    long articleId;
    for (int i = 0; i < cnt; i++) {
        articleId = jedis.incr("article:");
        map.put("author", "author" + i);
        map.put("article", "This is article " + i);
        jedis.hmset("article:" + articleId, map);
        map.clear();
    }
    System.out.println("Insert " + cnt + " posts.");
                                            
    return cnt;
}

公式

大神提供了 hexo 下自动部署 MathJax 插件。安装好插件后,遍可以使用 \(LaTex\) 来显示数学公式了。
在行内输入公式,需要在公式前后加上两个反斜杠 '' 以及一个括号,前后两个括号要成对。
而独立成行的公式,则使用两个美元符 '$'。

代码:

在行内插入公式 \\(x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}\\) 是这样的。

$$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$

$$
\begin{eqnarray}
\nabla\cdot\vec{E} &=& \frac{\rho}{\epsilon_0} \\
\nabla\cdot\vec{B} &=& 0 \\
\nabla\times\vec{E} &=& -\frac{\partial B}{\partial t} \\
\nabla\times\vec{B} &=& \mu_0\left(\vec{J}+\epsilon_0\frac{\partial E}{\partial t} \right)
\end{eqnarray}
$$

效果如下(简书下不可用):

在行内插入公式 \(x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}\) 是这样的。

$$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$

$$
\begin{eqnarray}
\nabla\cdot\vec{E} &=& \frac{\rho}{\epsilon_0} \
\nabla\cdot\vec{B} &=& 0 \
\nabla\times\vec{E} &=& -\frac{\partial B}{\partial t} \
\nabla\times\vec{B} &=& \mu_0\left(\vec{J}+\epsilon_0\frac{\partial E}{\partial t} \right)
\end{eqnarray}
$$

参考资料

[1] Wikipedia Markdown 条目,https://zh.wikipedia.org/wiki/Markdown
[2] 不如的博客,http://ibruce.info/2013/11/26/markdown/
[3] Markdown 语法说明 (简体中文版),http://wowubuntu.com/markdown/index.html
[4] Markdown:让书写更美好,http://www.jianshu.com/p/17fdcf17bbb4
[5] Markdown中插入数学公式的方法, http://blog.csdn.net/xiahouzuoxin/article/details/26478179

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • Markdown 语法 之剑 2016.5.3 23:41:46 hljs.initHighlightingOnL...
    光剑书架上的书阅读 1,626评论 1 5
  • Markdown 语法说明 (简体中文版) 概述宗旨兼容 HTML特殊字符自动转换 区块元素段落和换行标题区块引用...
    蚊子Skeeter阅读 3,184评论 3 12
  • << 访问 Wow!Ubuntu NOTE: This is Simplelified Chinese Edit...
    临城阅读 6,518评论 4 44
  • 今天还没下班儿的时候,儿子就给我打电话说,没有新的四线方格本儿了,以前的那些都用过了,老师说要用新的。纠结着,等着...
    硕宝_202d阅读 276评论 0 0
  • 长达两个星期,终于把唐浩明写的《曾国藩》上卷看完了,对曾国藩的前半生有了大概的认识。 从小就听说过曾国藩的大名,在...
    常能珲阅读 1,034评论 0 0