Markdown

Markdown 是一种轻量级的标记语言,其用简单的标记语法便可达到排版的目的,其可以使我们更加专注于内容的编写,而不需过多关注排版。本文主要整理了 Markdown 中的常用的标记语法,以便自己与他人以后查用。

段落元素

1、段落与换行

Markdown 中的段落指连续的一段文字,编写时段落之间用至少一个空行隔开,段落内多个空格将被视为一个空格,段首不支持缩进。

如果想要在显示时显示多个空行,可以插入 <br/> 来实现,注意的是,插入的 <br/> 应与前后的段落中间至少空一行。

2、标题

Markdown 支持两种类型的标题。

//类型 1
这是一级标题
==========
这是二级标题
----------

//类型 2
# 这是一级标题
## 这是二级标题
...
###### 这是六级标题

从上面可以看出类型 1 是在标题下面插入 = 或者 - 来标识标题等级,但局限是其只能表示两个级别的标题。

类型 2 是在标题前面插入 1 - 6 个 # ,表示 6 个等级的标题,这是比较推荐的用法。

3、引用

Markdown 中使用 > 来引用。我们可以在一段文字中的每行开头加上 > 来表示一段引用文字,也可以只在一段文字的开头插入一个 > 来表示,如下面的 1、2 两种方式:

//方式 1
> 这是一句话
> 这是第二句话

//方式 2
> 这是一句话
这是第二句话

Markdown 支持使用不同数量的 > 表示嵌套引用。

> 这是外层的引用
> > 这是内层的引用

4、无序列表

无序列表使用 -+* 来作为标记。

- 第一项
- 第二项
- 第三项

上面的 - 可以用 +*替换。需要注意的是,- 等符号与后面的文字至少空一格空格。

5、有序列表

有序列表使用数字和紧挨着的点号表示。

1. 第一项
2. 第二项
3. 第三项

同无序列表一样,标记符号与后面的文字至少空一格空格。但编辑时的数字对显示无影响。

2. 第一项
6. 第二项
1. 第三项

上面的例子与前一个显示的结果完全一致,但建议编辑时按照数字顺序。

列表

  • 有序列表和无序列表的每一项中均可嵌套其他列表;

  • 在列表项之间要插入段落时,这时需要将列表项之间的段落缩进 4 个空格;

  • 使用 1\. 来输出 1.;

6、代码区块

缩进 4 个空格,需要注意的是,每行代码都需要至少缩进 4 个空格,不能像段落一样采用首行标记的偷懒写法,一个代码区会一直持续到没有缩进 4 个空格的那一行。

也可以用一对三个连续的撇号 ` 来包裹代码段。

```
code
```

有的解释器还能根据代码的语言从而给代码加上语法高亮。

```javascript
function func() {}
```

7、分割线

使用三个及以上的 *-_来表示一个分割线,符号不能混用,符号之间可以插入多个空格。需要注意的是,使用 - 来插入分割线时需要与上一个段落至少空一行,否则 Markdown 会将上一行文字解释为二级标题。

8、表格

表格是 Markdown 比较复杂的一种表示。

| Table | Col1 | Col2 |
| ----- |:----:| ----:|
| Row1  | 1-1  | 1-2  |
| Row2  | 2-1  | 2-2  |
| Row3  | 3-1  | 3-2  |

上面第二行中的点代表对齐方式,分别是默认(居右)、居中、居左。


行内元素

9、超链接

Markdown 中有三种方式实现超链接。

//方式 1
[百度](http://www.baidu.com)

//方式 2
[百度][Baidu-url]
[Baidu-url]: http://www.baidu.com

方式 1 较为常用,也可以为链接的文字加上提示文字,只要在括号中超链接加上空格后添加提示内容即可。

[百度](http://www.baidu.com "这是提示文字")

方式 2 由链接文字和链接地址组成,不同的是两者均由 [] 包裹。链接地址的格式为:

  • 方括号,里面输入链接地址;
  • 紧接着是一个冒号;
  • 冒号后面至少一个空格;
  • 链接地址;
  • 若有提示文字,空格后用引号或者括号包裹提示文字。

下面是完整示例:

[百度][Baidu-url]
[Baidu-url]: http://www.baidu.com "这是提示文字"

第三种方式是用 <> 来包裹 URL。

//方式 3
<http://www.baidu.com>

10、加粗和斜体

Markdown 使用 *_ 来表示粗体和斜体。

//加粗
**这是加粗文字**
__这也是加粗文字__

//斜体
*这是斜体文字*
_这也是斜体文字_

被偶数个 *_ 包裹的文字显示加粗效果,被奇数个包裹的为倾斜效果。

需要注意的是,*- 要成对出现,不能混合使用,也不能只出现一个。同时,标识符号要与标识的文字紧挨着,符号与符号之间、符号文字之间不能有任何空格。

11、代码

使用 ` (撇号) 来包裹一小段代码。

`Hello world.`

若想在代码中添加撇号,可以使用多个撇号包裹里面需要添加的撇号,但注意里面的连续的撇号数量不能超过外面的数量。

//显示一个撇号
`` ` ``
//显示两个撇号
``` ``  ```

12、图片

图片的插入方式跟超链接前两种插入方式类似。

//方式 1
![](图片 url)

//方式 2
![如果图片不能显示,就显示这段文字][Image-url]
[Image-url]: 图片url "这是提示文字"

反斜杠 \

我们经常需要在文章中插入一些特殊符号,而这些符号恰好是前面所讲的标识符号,可以在特殊符号前插入 \ 来直接显示符号,而不让 Markdown 来将其解释为标识符号。

Markdown 支持以下这些符号前插入 \ 而显示其本来样子:

    \   反斜线
    `   反引号
    *   星号
    _   底线
    {}  花括号
    []  方括号
    ()  括弧
    #   井字号
    +   加号
    -   减号
    .   英文句点
    !   惊叹号

拓展

其实,市场上有很多的 Markdown 解释器,它们大都能支持上面所讲的语法,但呈现出的样式往往不一。另外,不同的解释器还能支持其他自己定义的语法,比如 Github 还能支持 emoji。下面再着重介绍 Github 支持的几个 Markdown 语法。不过需要注意的是,有些语法只能在 issue 或者 pull request 上使用,这个在后面讲每个语法时会标记(约定:“通用”表示在 Github 任何地方可以使用的语法,“特殊”表示只能在 issue 或者 pull request 上使用)。

语法高亮(通用)

上面说过,有的解释器是能够显示语法高亮的,Github 就可以。

任务列表(通用)

- [ ] task one
- [x] task two

用法跟普通列表的用法差不多,只不过在每一项文字前面加了 [ ] 或者 [x][ ] 中间有且只有一个空格,表示未完成,另一个表示已完成。

表格(通用)

Github 支持更简单的 table 语法。

First Header | Second Header
------------ | -------------
Content from cell 1 | Content from cell 2
Content in the first column | Content in the second column

表头与项用一排 - 分隔开,每一列用 | 分隔开。

SHA 引用(特殊)

每一次 commit 都会产生一个 id,用 @id 的方式可以链接到某个项目的特定的 commit。比如用 jquery/jquery@1b9575b9d14399e9426b9eacdd92b3717846c3f2 就能链接到 jquery 的一次 commit 记录上。

issue 引用(特殊)

#1 来引用当前 repo 的第一个 issue,也可以用 jquery/jquery#1 引用 jquery 的第一次 issue。

@(特殊)

@ 来提醒目标用户。比如 @CompileYouth 可以 @ 到我。

删除符号(通用)

用连续两个 ~ 包围的词会被加上删除符。比如 ~~This is removed~~

Emoji(通用)

Github 比较有意思的是可以支持 emoji。比如 :smile: 表示笑脸等等,具体可以查看 Emoji Cheat Sheet

详细信息可以查看官方文档。最后 po 两张 Github 官方推荐的 Markdown Cheat Sheet:通用语法Github 支持语法

工具

  • Windows 环境下,推荐 TyporaMarkdownpad(自带图床功能)
  • Mac 环境下,推荐 Typora、Mou
  • 笔记软件: 为知笔记较好的支持 markdown,且支持 Windows、Mac、web、ios、android 等各个平台
  • 当然,还有 Github

实践

Markdown 文件的编辑在不同编辑器中有不一样的表现,我主要介绍一下在 Atom 中使用 Markdown 的情况。

Atom 官方自带了一个插件,叫 markdown-preview,可以在 Atom 中进行预览。当然,Atom 还有很多第三方的 Markdown 插件,我使用的是 markdown-writer,可以使我更方便地编辑 Markdown 文件,当然你可以根据自己的需要下载插件。

在 Atom 中,其他的使用方式就不赘述了,唯一需要提一下的是插入 table。在 Markdown 中插入 table 是一件比较麻烦的事情,而在 Atom 中,可以简化操作,就是直接输入 table 然后按 Enter 键,编辑器便会自动生成 table 的模板,比自己手写便捷多了。

拓展阅读:

  1. Markdown 语法说明

!!!转自:https://github.com/CompileYouth/front-end-study/blob/master/tool/markdown/Markdown-Learning.md

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

推荐阅读更多精彩内容