mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
2501 字
7 分钟
Markdown教程
2026-02-25

Markdown教程#

这是一个markdown示例,展示如何编写markdown文件。本文档集成了核心语法和扩展(GMF)。

块元素#

段落和换行#

段落#

HTML标签:<p>

一个或多个空行。(空行是指只包含空格制表符的行。)

代码:

这将会是
内联的。
这是第二段。

预览:


这将会是 内联的。

这是第二段。


换行#

HTML标签:<br />

在行尾使用两个或更多空格

代码:

这将不会是
内联的。

预览:


这将不会是 内联的。


标题#

Markdown支持两种标题样式,Setext和atx。

Setext#

HTML标签:<h1><h2>

使用**等号(=)**作为<h1>,**短横线(-)**作为<h2>,数量不限。

代码:

这是一个H1
=============
这是一个H2
-------------

预览:


这是一个H1#

这是一个H2#


atx#

HTML标签:<h1><h2><h3><h4><h5><h6>

在行首使用1-6个井号字符(#),分别对应<h1>-<h6>

代码:

# 这是一个H1
## 这是一个H2
###### 这是一个H6

预览:


这是一个H1#

这是一个H2#

这是一个H6#

你可以选择”关闭”atx样式的标题。关闭的井号不需要匹配打开标题时使用的井号数量。

代码:

# 这是一个H1 #
## 这是一个H2 ##
### 这是一个H3 ######

预览:


这是一个H1#

这是一个H2#

这是一个H3#


引用块#

HTML标签:<blockquote>

Markdown使用电子邮件风格的**>**字符来表示引用。如果你对文本进行硬换行并在每行前加上>,效果会更好。

代码:

> 这是一个包含两个段落的引用块。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. Suspendisse
> id sem consectetuer libero luctus adipiscing.

预览:


这是一个包含两个段落的引用块。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. Suspendisse id sem consectetuer libero luctus adipiscing.


Markdown允许你偷懒,只在硬换行段落的第一行前加上>。

代码:

> 这是一个包含两个段落的引用块。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. Suspendisse
id sem consectetuer libero luctus adipiscing.

预览:


这是一个包含两个段落的引用块。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. Suspendisse id sem consectetuer libero luctus adipiscing.


引用块可以嵌套(即引用块中的引用块),通过添加更多层级的>。

代码:

> 这是第一级引用。
>
> > 这是嵌套的引用块。
>
> 回到第一级。

预览:


这是第一级引用。

这是嵌套的引用块。

回到第一级。


引用块可以包含其他Markdown元素,包括标题、列表和代码块。

代码:

> ## 这是一个标题。
>
> 1. 这是第一个列表项。
> 2. 这是第二个列表项。
>
> 这里有一些示例代码:
>
> return shell_exec("echo $input | $markdown_script");

预览:


这是一个标题。#

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

这里有一些示例代码:

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

列表#

Markdown支持有序(编号)和无序(项目符号)列表。

无序列表#

HTML标签:<ul>

无序列表使用星号(*)加号(+)短横线(-)

代码:

* 红色
* 绿色
* 蓝色

预览:


  • 红色
  • 绿色
  • 蓝色

等同于:

代码:

+ 红色
+ 绿色
+ 蓝色

和:

代码:

- 红色
- 绿色
- 蓝色

有序列表#

HTML标签:<ol>

有序列表使用数字后跟句点:

代码:

1. 鸟
2. 麦克海尔
3. 帕里什

预览:


  1. 麦克海尔
  2. 帕里什

你可能会意外地触发有序列表,比如这样写:

代码:

1986. 多么棒的赛季。

预览:


  1. 多么棒的赛季。

你可以用**反斜杠转义(\)**句点:

代码:

1986\. 多么棒的赛季。

预览:


1986. 多么棒的赛季。


缩进#

引用块#

要在列表项中放置引用块,引用块的>分隔符需要缩进:

代码:

* 一个包含引用块的列表项:
> 这是一个引用块
> 在列表项内部。

预览:


  • 一个包含引用块的列表项:

    这是一个引用块 在列表项内部。


代码块#

要在列表项中放置代码块,代码块需要缩进两次——8个空格两个制表符

代码:

* 一个包含代码块的列表项:
<code goes here>

预览:


  • 一个包含代码块的列表项:

    <code goes here>

嵌套列表#

代码:

* A
* A1
* A2
* B
* C

预览:


  • A
    • A1
    • A2
  • B
  • C

代码块#

HTML标签:<pre>

将块的每一行缩进至少4个空格1个制表符

代码:

这是一个普通段落:
这是一个代码块。

预览:


这是一个普通段落:

这是一个代码块。

代码块持续到遇到未缩进的行(或文章末尾)。

在代码块中,和号(&)和尖**括号(<和>)**会自动转换为HTML实体。

代码:

<div class="footer">
&copy; 2004 Foo Corporation
</div>

预览:


<div class="footer">
&copy; 2004 Foo Corporation
</div>

以下部分围栏代码块和语法高亮是扩展功能,你可以使用其他方式编写代码块。

围栏代码块#

只需将代码包裹在 ``` 中(如下所示),就不需要将其缩进四个空格。

代码:

这是一个示例:
```
function test() {
console.log("notice the blank line before this function?");
}
```

预览:


这是一个示例:

function test() {
console.log("notice the blank line before this function?");
}

语法高亮#

在你的围栏块中,添加一个可选的语言标识符,我们将对其进行语法高亮(支持的语言)。

代码:

```ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```

预览:


require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html

水平线#

HTML标签:<hr /> 在一行上单独放置三个或更多短横线(-)、星号(*)或下划线(_)。你可以在短横线或星号之间使用空格。

代码:

* * *
***
*****
- - -
---------------------------------------
___

预览:









表格#

HTML标签:<table>

这是一个扩展功能。

使用**竖线(|)分隔列,使用短横线(-)分隔表头,使用冒号(:)**进行对齐。

外部的竖线(|)和对齐是可选的。每个单元格至少需要3个分隔符来分隔表头。

代码:

| 左对齐 | 居中 | 右对齐 |
|:-----|:------:|------:|
|aaa |bbb |ccc |
|ddd |eee |fff |
A | B
---|---
123|456
A |B
--|--
12|45

预览:


左对齐居中右对齐
aaabbbccc
dddeeefff
AB
123456
AB
1245

行内元素#

链接#

HTML标签:<a>

Markdown支持两种链接样式:内联和引用。

内联#

内联链接格式如下:[链接文本](URL "标题")

标题是可选的。

代码:

这是一个[示例](http://example.com/ "标题")内联链接。
[这个链接](http://example.net/)没有标题属性。

预览:


这是一个示例内联链接。

这个链接没有标题属性。


如果你引用同一服务器上的本地资源,可以使用相对路径:

代码:

详见我的[关于](/about/)页面。

预览:


详见我的关于页面。


引用#

你可以预定义链接引用。格式如下:[id]: URL "标题"

标题也是可选的。当你引用链接时,格式如下:[链接文本][id]

代码:

[id]: http://example.com/ "可选的标题"
这是一个[示例][id]引用式链接。

预览:


这是一个示例引用式链接。


即:

  • 包含链接标识符的方括号(不区分大小写,可选择使用最多三个空格从左边距缩进);
  • 后跟冒号;
  • 后跟一个或多个空格(或制表符);
  • 后跟链接的URL;
  • 链接URL可以选择性地用尖括号包围。
  • 可选择后跟链接的标题属性,用双引号、单引号或括号包围。

以下三个链接定义是等效的:

代码:

[foo]: http://example.com/ "可选的标题"
[foo]: http://example.com/ '可选的标题'
[foo]: http://example.com/ (可选的标题)
[foo]: <http://example.com/> "可选的标题"

使用一组空的方括号,链接文本本身将用作名称。

代码:

[Google]: http://google.com/
[Google][]

预览:


Google


强调#

HTML标签:<em><strong>

Markdown将**星号(*)下划线(_)**视为强调的指示符。一个分隔符将是<em>双分隔符将是<strong>

代码:

*单个星号*
_单个下划线_
**双星号**
__双下划线__

预览:


单个星号

单个下划线

双星号

双下划线


但是如果你用空格包围*或_,它将被视为字面星号或下划线。

你可以用反斜杠转义它:

代码:

\*这段文字被字面星号包围\*

预览:


*这段文字被字面星号包围*


代码#

HTML标签:<code>

用**反引号(`)**包裹它。

代码:

使用 `printf()` 函数。

预览:


使用 printf() 函数。


要在代码跨度中包含字面反引号字符,你可以使用多个反引号作为开始和结束分隔符:

代码:

``这里有一个字面反引号(`)。``

预览:


这里有一个字面反引号(`)。


包围代码跨度的反引号分隔符可以包含空格——开始后一个,结束前一个。这允许你在代码跨度的开头或结尾放置字面反引号字符:

代码:

代码跨度中的单个反引号:`` ` ``
代码跨度中用反引号分隔的字符串:`` `foo` ``

预览:


代码跨度中的单个反引号:`

代码跨度中用反引号分隔的字符串:`foo`


图片#

HTML标签:<img />

Markdown使用一种旨在类似于链接语法的图片语法,允许两种样式:内联和引用。

内联#

内联图片语法如下所示:![替代文本](URL "标题")

标题是可选的。

代码:

![替代文本](/path/to/img.jpg)
![替代文本](/path/to/img.jpg "可选标题")

预览:


替代文本

替代文本


即:

  • 一个感叹号:!;
  • 后跟一组方括号,包含图片的替代文本属性;
  • 后跟一组括号,包含图片的URL或路径,以及用双引号或单引号包围的可选标题属性。

引用#

引用式图片语法如下所示:![替代文本][id]

代码:

[img id]: https://s2.loli.net/2024/08/20/5fszgXeOxmL3Wdv.webp "可选标题属性"
![替代文本][img id]

预览:


替代文本


删除线#

HTML标签:<del>

这是一个扩展功能。

GFM添加了删除线文本的语法。

代码:

~~错误的文本。~~

预览:


错误的文本。


其他#

自动链接#

Markdown支持为URL和电子邮件地址创建”自动”链接的快捷方式:只需用尖括号包围URL或电子邮件地址。

代码:

<http://example.com/>
<address@example.com>

预览:


http://example.com/

address@example.com


GFM将自动链接标准URL。

代码:

https://github.com/emn178/markdown

预览:


https://github.com/emn178/markdown


反斜杠转义#

Markdown允许你使用反斜杠转义来生成字面字符,这些字符在Markdown的格式语法中具有特殊含义。

代码:

\*字面星号\*

预览:


*字面星号*


Markdown为以下字符提供反斜杠转义:

代码:

\ 反斜杠
` 反引号
* 星号
_ 下划线
{} 花括号
[] 方括号
() 圆括号
# 井号
+ 加号
- 减号(短横线)
. 点
! 感叹号

内联HTML#

对于任何未被Markdown语法覆盖的标记,你只需使用HTML本身。无需在其前面添加前缀或分隔符来表示你正在从Markdown切换到HTML;你只需使用标签。

代码:

这是一个普通段落。
<table>
<tr>
<td>Foo</td>
</tr>
</table>
这是另一个普通段落。

预览:


这是一个普通段落。

Foo

这是另一个普通段落。


请注意,Markdown格式语法不在块级HTML标签内处理

与块级HTML标签不同,Markdown语法在行内级标签内处理

代码:

<span>**有效**</span>
<div>
**无效**
</div>

预览:


有效

**无效**
***
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Markdown教程
https://github.com/emn178/markdown
作者
emn178
发布于
2026-02-25
许可协议
未授权

部分信息可能已经过时

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00