Markdown语法

概述


宗旨

Markdown的目标是实现[易读易写],注意语法主义符号和文字之间的空格,否则语法失效。

兼容HTML

  不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。不需要额外标注这是 HTML 或是 Markdown;只要直接加标签就可以了。
  要制约的只有一些 HTML 区块元素――比如<div>,<table>,<pre>,<p>等标签,必须在前后加上空行与其它内容区隔开,还要求它们的开始标签与结尾标签不能用制表符或空格来缩进。Markdown 的生成器有足够智能,不会在 HTML 区块标签外加上不必要的 <p> 标签。

例如,在Markdown文件上加上一段HTML表格(Markdown源文件):

1
2
3
4
5
6
7
8
9
这是一段普通Markdown段落,html标签前要空一行。

<table>
<tr>
<td>Foo</td>
</tr>
</table>

这是一段普通Markdown段落,html标签后要空一行。

注意:在 HTML 区块标签间的 Markdown 格式语法将不会被处理。
HTML 的区段(行内)标签如 <span> <cite>、<del> 可以在 Markdown 的段落、列表或是标题里随意使用。依照个人习惯,甚至可以不用 Markdown 格式,而直接采用 HTML 标签来格式化。举例说明:如果比较喜欢 HTML 的 <a> 或 <img> 标签,可以直接使用这些标签,而不用 Markdown 提供的链接或是图像标签语法。
和处在 HTML 区块标签间不同,Markdown语法在 HTML 区段标签间是有效的。

特殊字符自动转换

< 符号用于起始标签,& 符号则用于标记 HTML 实体。如果使用到这两个字符的实体,需要使用字符代码。
HTML代码:

1
2
3
&lt;
&gt;
&amp;

效果:<、>、&
更多特殊字符HTML ISO-8859-1 参考手册

HTML代码:

1
AT&amp;T

Markdown代码:

1
AT&T

以上两者效果:AT&T

因为 Markdown 允许 兼容 HTML ,< 符号作为 HTML 标签的定界符,如果 < 后面接字母,会出现异想不到的错误。markdown代码:

1
<markdown语法>

效果:这段字符串不显示


区块元素

段落和换行

1
2
  句首即使添加空格也没有缩进(如果是四个空格会变成代码区块)
&emsp;&emsp;如果需要缩进,需要添加的代码

效果:
句首即使添加空格也没有缩进(如果是四个空格会变成代码区块)
  如果需要缩进,需要添加的代码

标题

代码:

1
2
3
4
5
6
# 第一级标题
## 第二级标题
### 第三级标题
#### 第四级标题
##### 第五级标题
###### 第六级标题

效果:
演示标题

区块引用 Blockquotes

代码:

1
2
3
4
5
注意>后面紧跟个空格
> 区块引用
> > 嵌套引用
> > >三嵌套引用
> > > > 四嵌套引用

效果:

区块引用

嵌套引用

三嵌套引用

四嵌套引用

引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等:

1
2
3
4
5
6
7
8
> ## 区块内markdown语法有效
>
> 1. 这是第一行列表项。
> 2. 这是第二行列表项。
>
> 给出一些例子代码:
>
> return shell_exec("echo $input | $markdown_script");

效果:

区块内markdown语法有效

  1. 这是第一行列表项。
  2. 这是第二行列表项。

给出一些例子代码:

return shell_exec("echo $input | $markdown_script");

列表

无序列表

使用星号、加号或是减号作为列表标记:

1
2
3
*   Red
* Green
* Blue

效果等同于:

1
2
3
+   Red
+ Green
+ Blue

效果等同于:

1
2
3
-   Red
- Green
- Blue

效果:

  • Red
  • Green
  • Blue

有序列表

有序列表则使用数字接着一个英文句点:

1
2
3
1.  Bird
2. McHale
3. Parish

效果:

  1. Bird
  2. McHale
  3. Parish

列表项目可以包含多个段落,每个项目下的段落都必须缩进 4 个空格或是 1 个制表符:

1
2
3
4
5
6
7
8
9
1.  This is a list item with two paragraphs. Lorem ipsum dolor
sit amet, consectetuer adipiscing elit. Aliquam hendrerit
mi posuere lectus.

Vestibulum enim wisi, viverra nec, fringilla in, laoreet
vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
sit amet velit.

2. Suspendisse id sem consectetuer libero luctus adipiscing.

效果:

  1. This is a list item with two paragraphs. Lorem ipsum dolor
    sit amet, consectetuer adipiscing elit. Aliquam hendrerit
    mi posuere lectus.

    Vestibulum enim wisi, viverra nec, fringilla in, laoreet
    vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
    sit amet velit.

  2. Suspendisse id sem consectetuer libero luctus adipiscing.

如果要放代码区块的话,该区块就需要缩进两次,也就是 8 个空格或是 2 个制表符:

1
2
*   一列表项包含一个列表区块:
<代码写在这>

效果:

  • 一列表项包含一个列表区块:
    <代码写在这>
    

行首出现数字-句点-空白,需要句点前面加上反斜杠:

1
1986\. What a great season.

效果:
1986. What a great season.

代码区块

第一种办法四个空格或者一个制表符:

1
2
3
4
#在原代码前缩进四个空格,前面空一行分段

import os
print("hello world!")

效果:

import os    
print("hello world")    

第二种办法用三个 ` 符号在代码前后一行括起来:

1
2
3
```python    
import os
print("hello world!")

1
2
3
4
效果:
​```python
import os
print("hello world!")

分割线

代码:

1
2
3
4
5
6
7
8
9
* * *

***

*****

- - -

---------------------------------------

效果:






区段元素

链接

Markdown 支持两种形式的链接语法: 行内式和参考式。
行内式:

1
2
3
This is [故宫博物院]( https://www.dpm.org.cn/Home.html "Title") inline link.

[This link](https://www.dpm.org.cn/Home.html) has no title attribute.

效果:
This is 故宫博物院 inline link.

故宫博物院 This link has no title attribute.

参考式的链接:

1
2
3
4
5
6
7
8
9
10
11
This is [故宫博物院][id] reference-style link.
在文件的任意处,把这个标记的链接内容定义出来:
[id]: https://www.dpm.org.cn/Home.html "Optional Title Here"

下面三种写法效果一致
[foo]: http://example.com/ "Optional Title Here"
[foo]: http://example.com/ 'Optional Title Here'
[foo]: http://example.com/ (Optional Title Here)
链接辨别标签可以有字母、数字、空白和标点符号,但是并不区分大小写
[link text][a]
[link text][A]

效果:
This is 故宫博物院 reference-style link.

隐式链接标记,后面id为空时,链接标记会视为等同于链接文字:

1
2
Visit [故宫博物院][] for more information.
[故宫博物院]:https://www.dpm.org.cn/Home.html

效果:
Visit 故宫博物院 for more information.

1
2
3
4
5
6
[网页内跳转](#标题标号-标题文本)
注意要点:
1. []中括号填写需要在页面上显示的内容;
2. ()小括号内部声明跳转目标标题,以#开头,标题题号如果包含.、下划线直接忽略掉,标题文本中如果有空格,
使用-横杠符号替代,标题文本中的大写字母转换成小写。
[链接](#链接)

效果:
链接

强调

代码:

1
2
3
4
5
6
*斜体*_斜体_
**加粗**__粗体__
~~删除线~~

* 和 _ 两边都有空白的话,它们就只会被当成普通的符号
需要显示 * 字符: \* 使用反斜杆转义字符

效果:
斜体 ,_斜体_
加粗粗体
删除线

代码

标记一小段行内代码,用反引号把它包起来 `,例如:

1
Use the `printf()` function.

效果:
Use the printf() function.

代码内使用反引号 ` 字符:

1
2
前后用空格隔开
A backtick-delimited string in a code span: `` `foo` ``

效果:
A backtick-delimited string in a code span: `foo`

在代码区段内,& 和方括号都会被自动地转成 HTML 实体,这使得插入 HTML 原始码变得很容易,Markdown 会把下面这段:

1
2
前后用空格隔开
Please don't use any `<blink>` tags.

效果:
Please don’t use any <blink> tags.

图片

行内式:

1
2
3
![云纹龙](/images/云纹龙.png)

![云纹龙](/images/云纹龙.png "Optional title")

效果:
云纹龙

参考式:

1
2
![云纹龙][imgId]
[imgId]:/images/云纹龙.png "云纹龙"

效果:
云纹龙

表格

代码:

1
2
3
4
5
6
空一行
列1 | 列2 | 列3
----- | --- | ----
第1行 | 12 | 13
第2行 | 22 | 23
第3行 | 32 | 33

效果:

列1 列2 列3
第1行 12 13
第2行 22 23
第3行 32 33

可以使用冒号来定义对齐方式:

1
2
3
4
| 左对齐    |  右对齐 | 居中 |
| :-------- | -------:| :--: |
| Computer | 5000 元 | 1台 |
| Phone | 1999 元 | 1部 |

效果:

左对齐 右对齐 居中
Computer 5000 元 1台
Phone 1999 元 1部

其他

反斜杠

Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:

1
2
3
4
5
6
7
8
9
10
11
12
\   反斜线
` 反引号
* 星号
_ 底线
{} 花括号
[] 方括号
() 括弧
# 井字号
+ 加号
- 减号
. 英文句点
! 惊叹号

流程图

end!

Description: page.date
Copyright:署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Donate comment here
0%