导语
一言以蔽之,Markdown 是一种实现「易读易写」适用于网络的书写语言。
可读性是最重要的,而且Markdown 的语法十分简单,全由一些符号所组成,这些符号经过精挑细选,其作用一目了然。
关于为什么应该用Markdown书写以及入门的更多详细介绍可以参考以下文章,本文在整理编辑过程中也部分参考以下文章及一些官方文件:
一、Markdown语法
标题
Markdown 支持两种标题的语法,类 Setext 和类 atx 形式
类 Setext 形式是用底线的形式,利用 =
(最高阶标题)和 -
(第二阶标题),任何数量的 =
和 -
都可以有效果。
输入:
H1 == H2 --
显示:
H1
H2
类 Atx 形式则是在行首插入 1 到 6 个 #
,对应到标题 1 到 6 阶
[图片上传失败...(image-d6557f-1512580611982)]
建议在#
号后加一个空格,这是最标准的 Markdown 语法
为了美观,可以选择性地闭合类 atx 样式的标题,在行尾加上#
,而行尾的#
数量也不用和开头一样(行首的#
字符数量决定标题的阶数)
# 一级标题 # ## 二级标题 ## ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题
列表
Markdown 支持有序列表和无序列表
[图片上传失败...(image-527056-1512580611982)]
列表项目标记通常是放在最左边,但是其实也可以缩进,最多 3 个空格,项目标记后面则一定要接着至少一个空格或制表符
无序列表使用星号*
加号+
减号-
作为列表标记,在标记符号与文本直接应加入空格
或 Tab
三种方式效果一样
* 文本1 + 文本2 - 文本3
- 文本1
- 文本2
- 文本3
有序列表则使用数字接着一个英文句点1.
2.
,在标记符号与文本直接应加入空格
或 Tab
在列表标记上使用的数字并不会影响输出的 HTML 结果
- 第一个有序列表
- 另一个列表
- 无序子列表
- 实际数字并不重要,只要它是一个数字
- 有序子列表
- 其他列表
引用中嵌套引用
说明列表——列表项目内的引用
如果要在列表项目内放进引用,那
>
就需要缩进
- 有序子列表
子列表项目内的引用,
>
就需要在子列表缩进的基础上再次缩进说明列表——列表项目下的段落
要在列表项目下加入新段落,只要缩进(空格
或Tab
)就好了。列表项目可以包含多个段落,使用空白行分段,每个项目下的段落都必须至少缩进 4 个
空格
或是 1 个Tab
,注意前面的空白行,以及前置的空白( 严格格式 的空白数量,有些编辑器可以使用2或3个空白)如果每行都按此缩进,看起来会更整齐美观,Markdown 也允许只在首行缩进
如果列表项目间用空行分开,在输出 HTML 时 Markdown 就会将项目内容用 <p> 标签包起来
- 要使文字断行而不会成为新的段落,只需在文末后加上2个空白
空格
空格
(这是严格的格式,部分编辑器必须遵守此规则进行换行)
这一行已经另起断行了,不过还是在同一段落中。
引用/区块引用
Markdown 中,只需要在你希望引用的文字前面加上>就好了。
最好在每行的最前面加上
>
Markdown 也允许偷懒只在整个段落的第一行最前面加上>。
引用的嵌套
区块引用可以嵌套(例如:引用内的引用)
只要根据层次加上不同数量的 >
如果未用空白行分分隔,引用层级会自动延续上一行,
使用少于或省略的引用标记符合>
均不影响该引用层级
>> 只要根据层次加上不同数量的 >
> 在嵌套引用时如果未用空白行分隔,引用层级会自动延续上一行,使用少于或省略的引用标记符合>均不影响该引用层级。
但是最好在每行的最前面加上 >
代码引用/行内HTML
如果引用的代码语句只有一段,不分行,可以用`将语句包起来。
(在*简书*中不会出现区域框,可以自动换行,Enter 不会换行只会空格,此方式字体会缩小最多)(简书对该方式支持最好)
(在Markdownpad中不会出现区域框,不可换行)
如果引用的语句为多行,可以将```
置于这段代码的首行和末行。
(在*简书*中会出现区域框,不可自动换行,代码过长会出现滚动条,可Enter另起换行)
(在Markdownpad中不会出现区域框,不可换行)
(在多种编辑器中均对代码高亮支持友好)
在 Markdown 中建立代码区块还可以缩进 4 个空格
或是 1 个TAb
(在*简书*中会出现区域框,不可自动换行,代码过长会出现滚动条,可Enter另起换行,需在新的首行缩进)
(在Markdownpad中会出现区域框,可Enter另起换行,对代码高亮友好)(Markdownpad对该方式支持最好)
代码引用项目中,一般的Markdown语法无效,代码会按照原本的方式显示, & 、 < 和 > 会自动转成 HTML
链接
Markdown 支持两种形式的链接语法: 行内式和参考式两种形式
行内式超链接:
[](地址)
[行内式链接名称](链接地址https://www.jianshu.com/ "可选择性地接标题内容,可以用单引号``、双引号""或是括弧包()着,地址后需有空格,鼠标指向图片时会显示标题")
[行内式链接名称](相对文件路径../about/master/ 如果是要链接到同样主机的资源,可以使用相对路径)
参考式超链接:
[] [1]
[1]:地址
[参考式链接名称][id链接辨识标签的名称-用以辨识参考链接的标记]
空白行
[id链接辨识标签]:链接地址https:www.jianshu.com/或<https:www.jianshu.com> 有时候 www.jianshu.com也可以"选择性地接的标题内容,可以用单引号、双引号或是括弧包着"
参考式链接中,选择性接的标题内容"可以放到下一行,也可以缩进。 隐式链接标记功能让你可以省略指定链接标记,这种情形下,链接标记会视为等同于链接名称
两个[]之间可以选择性地加入空格
[id链接辨识标签]在至少一个空白行后任意位置将该标记的内容链接定义出来即可
[id链接辨识标签]方括号前可选择性地加入至多3个空格用于缩进
[id链接辨识标签]:在冒号:后可加入一个以上的空格或制表符Tab
:链接地址 后接的 "选择性接的标题内容,可以用单引号、双引号或是括弧包着"可以放到下一行,也可以缩进"
图片
Markdown 使用一种和链接很相似的语法来标记图片,同样也允许两种样式: 行内式和参考(引用)式
行内式插入图片:
![图片名称](图片地址 "地址后空格加双引号可以在引号内输入文字,鼠标指向图片时会显示标题")
参考式插入图片:
![][1]
[1]: 图片链接地址 "地址后空格加双引号可以在引号内输入文字,鼠标指向图片时会显示标题"
参考式插入图片
强调——粗体和斜体
Markdown 的粗体和斜体也非常简单,用两个 星号* 和下划线 _ 包含一段文本就是粗体的语法,用一个 星号* 和下划线 _ 包含一段文本就是斜体的语法。
*斜体* _斜体_
**粗体** __粗体__
~~删除线~~
\*加入反斜线以显示星号\*
斜体 斜体
粗体 粗体
删除线
*加入反斜线以显示星号*
- 如果星号* 和下划线 _ 两边都有空白的话,它们就只会被当成普通的符号
分割线
分割线的语法只需要三个以上 星号*或减号- 下划线_ ,
行内不能有其他东西,可以在星号*或减号- 下划线_中间插入空格
***
- - -
___
表格
| Tables | Are | Cool |
|:------------- | :---------:| ----:|
| 靠左对齐 | 居中对齐 | 靠右对齐 |
| 书写时 | 原始文字 | 可以不用对整齐 |
*斜体* | **加粗** | `渲染效果`
Tables | Are | Cool |
---|---|---|
靠左对齐 | 居中对齐 | 靠右对齐 |
书写时 | 原始文字 | 可以不用对整齐 |
斜体 | 加粗 | 渲染效果 |
冒号: 在第二行中不同的位置表示对齐方式,在无冒号:的情况下默认靠左对齐
标题元件(表头)至少需要3个---来分隔
最外面的竖线|可以省略,书写的时候也可以不必需让原始的文字对得很整齐
其他语法
反斜杠
Markdown 支持以下这些符号前面加上反斜杠,使其失去原来的语法功能,来实现插入普通的符号
\ 反斜线
` 反引号
* 星号
_ 底线
{} 花括号
[] 方括号
() 括弧
# 井字号
+ 加号
- 减号
. 英文句点
! 惊叹号
自动链接
Markdown 支持以比较简短的自动链接形式来处理网址,只要是用尖括号<>包起来, Markdown 就会自动把它转成链接
<http://www.jianshu.com/p/b36c4f06dcb1>
网友评论