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. Suspendisseid 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");预览:
这是一个标题。
- 这是第一个列表项。
- 这是第二个列表项。
这是一些示例代码:
return shell_exec("echo $input | $markdown_script");
列表
Markdown 支持有序(编号)和无序(项目符号)列表。
无序列表
HTML 标签: <ul>
无序列表使用 星号 (*)、加号 (+) 和 连字符 (-)。
代码:
* 红色* 绿色* 蓝色预览:
- 红色
- 绿色
- 蓝色
等同于:
代码:
+ 红色+ 绿色+ 蓝色和:
代码:
- 红色- 绿色- 蓝色有序列表
HTML 标签: <ol>
有序列表使用数字后跟句点:
代码:
1. 伯德2. 麦克海尔3. 帕里什预览:
- 伯德
- 麦克海尔
- 帕里什
你可能会意外触发有序列表,比如这样写:
代码:
1986. 多么伟大的赛季。预览:
- 多么伟大的赛季。
你可以 反斜杠转义 () 句点:
代码:
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"> © 2004 Foo Corporation </div>预览:
<div class="footer"> © 2004 Foo Corporation</div>以下章节中的围栏代码块和语法高亮是扩展功能,你可以使用其他方式编写代码块。
围栏代码块
只需将代码包裹在 ``` 中(如下所示),就不需要将其缩进四个空格。
代码:
这是一个示例:
```function test() { console.log("注意这个函数前的空行?");}```预览:
这是一个示例:
function test() { console.log("注意这个函数前的空行?");}语法高亮
在围栏块中,添加可选的语言标识符,我们会对其进行语法高亮(支持的语言)。
代码:
```rubyrequire '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预览:
| 左对齐 | 居中 | 右对齐 |
|---|---|---|
| aaa | bbb | ccc |
| ddd | eee | fff |
| A | B |
|---|---|
| 123 | 456 |
| A | B |
|---|---|
| 12 | 45 |
行内元素
链接
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][]预览:
强调
HTML 标签: <em>, <strong>
Markdown 将 星号 (*) 和 下划线 (_) 视为强调的指示器。一个分隔符 将是 <em>;两个分隔符 将是 <strong>。
代码:
*单个星号*
_单个下划线_
**双个星号**
__双个下划线__预览:
单个星号
单个下划线
双个星号
双个下划线
但如果你用空格包围 * 或 _,它将被视为字面星号或下划线。
你可以反斜杠转义它:
代码:
\*这段文本被字面星号包围\*预览:
*这段文本被字面星号包围*
代码
HTML 标签: <code>
用 反引号 (`) 包裹它。
代码:
使用 `printf()` 函数。预览:
使用 printf() 函数。
要在代码跨度中包含字面反引号字符,你可以使用 多个反引号 作为开始和结束分隔符:
代码:
``这里有一个字面反引号 (`) 在这里。``预览:
这里有一个字面反引号 (`) 在这里。
包围代码跨度的反引号分隔符可以包含空格 — 开始后一个,结束前一个。这允许你在代码跨度的开始或结束处放置字面反引号字符:
代码:
代码跨度中的单个反引号: `` ` ``
代码跨度中的反引号分隔字符串: `` `foo` ``预览:
代码跨度中的单个反引号: `
代码跨度中的反引号分隔字符串: `foo`
图片
HTML 标签: <img />
Markdown 使用旨在类似于链接语法的图片语法,允许两种样式:内联和引用。
内联
内联图片语法如下: 
标题是可选的。
代码:

预览:


即:
- 感叹号: !;
- 后跟一组方括号,包含图片的 alt 属性文本;
- 后跟一组括号,包含图片的 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>预览:
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>预览:
有效
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时