测试
总结
倾斜 倾斜 加粗 加粗
有序列表使用数字后跟句点:
- 啊啊
- 是是
- 的的
无序列表使用星号(*)、加号(+)和连字符(-)(可互换组合)作为列表标记:
- 啊啊
- 是是
- 的的
© 版权符号
这是一个 H1 标题
这是一个 H2 标题
这是一个 H1 标题
代码块
printf()
Use the printf() function.
要在代码范围内包含文字反引号字符,您可以使用多个反引号作为开始和结束分隔符:
There is a literal backtick (`) here.
There is a literal backtick (`) here.
Markdown 为以下字符提供反斜杠转义:
\ backslash
` backtick
* asterisk
_ underscore
{} curly braces
[] square brackets
() parentheses
# hash mark
+ plus sign
- minus sign (hyphen)
. dot
! exclamation mark
标头
这是一个 H1 标题
这是一个 H2 标题
这是一个 H1 标题
这是一个 H2 标题
这是一个 H5 标题
块引用
Markdown 使用电子邮件风格的>字符进行块引用。如果您熟悉在电子邮件中引用文本段落,那么您就会知道如何在 Markdown 中创建块引用。如果你硬包装文本并>在每一行之前放一个,它看起来最好:
This is a blockquote 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. Suspendisse id sem consectetuer libero luctus adipiscing. Markdown 允许你偷懒,只把 the 放在>硬包装段落的第一行之前:
This is a blockquote 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. Suspendisse id sem consectetuer libero luctus adipiscing. 块引用可以嵌套(即块引用中的块引用)通过添加额外的级别>:
This is the first level of quoting.
This is nested blockquote.
Back to the first level. Blockquotes 可以包含其他 Markdown 元素,包括标题、列表和代码块:
This is a header.
- This is the first list item.
- This is the second list item.
Here's some example code:
return shell_exec("echo $input | $markdown_script");任何体面的文本编辑器都应该使电子邮件式引用变得容易。例如,使用 BBEdit,您可以进行选择并从文本菜单中选择增加引用级别。
列表
Markdown 支持有序(编号)和无序(项目符号)列表。
无序列表使用星号、加号和连字符(可互换)作为列表标记:
- Red
- Green
- Blue 相当于:
- Red
- Green
- Blue 和:
- Red
- Green
- Blue 有序列表使用数字后跟句点:
- Bird
- McHale
- Parish
请务必注意,您用于标记列表的实际数字对 Markdown 生成的 HTML 输出没有影响。从上面的列表中生成的 HTML Markdown 是:
- Bird
- McHale
- Parish
如果您改为像这样在 Markdown 中编写列表:
- Bird
- McHale
- Parish
甚至:
- Bird
- McHale
- Parish
你会得到完全相同的 HTML 输出。关键是,如果你愿意,你可以在有序的 Markdown 列表中使用序号,以便源代码中的数字与发布的 HTML 中的数字相匹配。但如果你想偷懒,你不必这样做。
然而,如果你确实使用惰性列表编号,你仍然应该以数字 1 开始列表。在未来的某个时候,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 会将这些项包装在 p HTML 输出的标签中。例如,这个输入:
- Bird
- Magic
会变成:
- Bird
- Magic
但是这个:
Bird
Magic
会变成:
Bird
Magic
列表项可能包含多个段落。列表项中的每个后续段落都必须缩进 4 个空格或一个制表符:
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.
Suspendisse id sem consectetuer libero luctus adipiscing.
如果你缩进后续段落的每一行看起来不错,但在这里,Markdown 会让你偷懒:
This is a list item with two paragraphs.
This is the second paragraph in the list item. You'reonly required to indent the first line. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Another item in the same list.
要将块引用放在列表项中,块引用的> 分隔符需要缩进:
A list item with a blockquote:
This is a blockquote inside a list item.
要将代码块放入列表项中,代码块需要缩进两次——8 个空格或两个制表符:
A list item with a code block:
<code goes here>
值得注意的是,通过编写如下内容可能会意外触发有序列表:
- What a great season. 换句话说,一行开头的数字-句点-空格序列。为避免这种情况,您可以反斜杠转义句点:
1986. What a great season.
代码块
预格式化代码块用于编写编程或标记源代码。代码块的行不是形成正常的段落,而是按字面解释。Markdown 在\<pre>和\<code>标签中包装了一个代码块。
要在 Markdown 中生成代码块,只需将代码块的每一行缩进至少 4 个空格或 1 个制表符。例如,给定此输入:
This is a normal paragraph:
This is a code block.
Markdown 将生成:
This is a normal paragraph:
This is a code block.
从代码块的每一行中删除一层缩进——4 个空格或 1 个制表符。例如,这个:
Here is an example of AppleScript:
tell application "Foo"
beep
end tell
会变成:
Here is an example of AppleScript:
tell application "Foo" beep end tell
代码块会继续,直到到达未缩进的行(或文章末尾)。
在代码块中,与号 ( &) 和尖括号 (<和>) 会自动转换为 HTML 实体。这使得使用 Markdown 包含示例 HTML 源代码变得非常容易——只需粘贴并缩进,Markdown 将处理编码符号和尖括号的麻烦。例如,这个:
<div class="footer">
© 2004 Foo Corporation
</div>
会变成:
<div class="footer"> © 2004 Foo Corporation </div>
代码块内不处理常规 Markdown 语法。例如,星号只是代码块中的文字星号。这意味着使用 Markdown 编写 Markdown 自己的语法也很容易。
横线
您可以通过将三个或更多连字符、星号或下划线单独放在一行上来生成水平线标记 ( )。如果您愿意,可以在连字符或星号之间使用空格。以下每一行都会产生一条水平线:
跨度元素
链接
Markdown 支持两种样式的链接:内联和引用。
在这两种样式中,链接文本都由 [方括号] 分隔。
要创建内联链接,请在链接文本的右方括号后立即使用一组常规括号。在括号内,将 URL 放在您希望链接指向的位置,以及链接的可选 标题,用引号括起来。例如:
This is an example inline link.
This link has no title attribute.
会产生:
This is an example inline link.
This link has no title attribute.
If you’re referring to a local resource on the same server, you can use relative paths:See my About page for details.
Reference-style links use a second set of square brackets, inside which you place a label of your choosing to identify the link:
This is an example reference-style link. You can optionally use a space to separate the sets of brackets:
This is an example reference-style link.
Then, anywhere in the document, you define your link label like this, on a line by itself:
That is:
Square brackets containing the link identifier (optionally indented from the left margin using up to three spaces); followed by a colon; followed by one or more spaces (or tabs); followed by the URL for the link; optionally followed by a title attribute for the link, enclosed in double or single quotes, or enclosed in parentheses. The following three link definitions are equivalent:
注意: Markdown.pl 1.0.1 中有一个已知错误,它会阻止使用单引号来分隔链接标题。
链接 URL 可以可选地用尖括号括起来:
您可以将 title 属性放在下一行并使用额外的空格或制表符进行填充,这样对于较长的 URL 看起来会更好:
链接定义仅用于在 Markdown 处理期间创建链接,并在 HTML 输出中从文档中删除。
链接定义名称可以由字母、数字、空格和标点符号组成——但它们不区分大小写。例如这两个链接:
[link text][a] [link text][A] 是等价的。
隐式链接名称快捷方式允许您省略链接的名称,在这种情况下,链接文本本身用作名称。只需使用一组空的方括号——例如,要将单词“Google”链接到 google.com 网站,您可以简单地写:
Google 然后定义链接:
因为链接名称可能包含空格,所以此快捷方式甚至适用于链接文本中的多个单词:
Visit Daring Fireball for more information. 然后定义链接:
链接定义可以放在 Markdown 文档中的任何位置。我倾向于将它们紧跟在使用它们的每个段落之后,但如果您愿意,可以将它们全部放在文档的末尾,有点像脚注。
以下是实际参考链接的示例: I get 10 times more traffic from Google than from Yahoo or MSN.
使用隐式链接名称快捷方式,您可以改为编写:
I get 10 times more traffic from Google than from Yahoo or MSN.
以上两个示例都将生成以下 HTML 输出:
I get 10 times more traffic from Google than fromYahooor MSN.
为了比较,这里是使用 Markdown 的内联链接样式编写的同一段落:I get 10 times more traffic from Google than from Yahoo or MSN. 引用式链接的意义不在于它们更容易编写。关键是使用参考样式链接,您的文档源代码可读性大大提高。比较上面的例子:使用引用式链接,段落本身只有 81 个字符长;使用内联样式链接,它是 176 个字符;作为原始 HTML,它有 234 个字符。在原始 HTML 中,标记比文本多。
使用 Markdown 的参考样式链接,源文档更接近最终输出,如在浏览器中呈现的那样。通过允许您将与标记相关的元数据移出段落,您可以添加链接而不会中断散文的叙述流程。
强调
Markdown 将星号 ( ) 和下划线 ( _) 视为强调的指示符。用 one或will be wrapped with HTML\<em>标签包裹的文本;double*或将用 HTML \<strong>标记包装。例如,这个输入:
single asterisks
single underscores
double asterisks
double underscores 将产生:
single asteriskssingle underscoresdouble asterisksdouble underscores您可以使用您喜欢的任何样式;唯一的限制是必须使用相同的字符来打开和关闭强调范围。强调可以用在单词的中间:
unfriggingbelievable 但是,如果您用空格包围*or _,它将被视为文字星号或下划线。
要在原本用作强调定界符的位置产生文字星号或下划线,您可以使用反斜杠将其转义:
*this text is surrounded by literal asterisks*
代码
要指示一段代码,请用反引号 ( `) 将其括起来。与预先格式化的代码块不同,代码跨度表示普通段落内的代码。例如:
Use the printf() function.
将产生:
Use the printf() function.
There is a literal backtick (`) here.
这将产生这个:
There is a literal backtick (`) here.
代码范围周围的反引号分隔符可能包含空格——一个在开头之后,一个在结尾之前。这允许您在代码范围的开头或结尾放置文字反引号字符:
A single backtick in a code span: `
A backtick-delimited string in a code span: `foo`
将产生:
A single backtick in a code span: `
A backtick-delimited string in a code span: `foo`
Please don't use any <blink> tags.
进入:
Please don't use any <blink> tags.
— is the decimal-encoded equivalent of —.
生产:
— is the decimal-encoded equivalent of —.
图片
诚然,设计一种“自然”语法来将图像放入纯文本文档格式是相当困难的。
Markdown 使用旨在类似于链接语法的图像语法,允许两种样式:内联和引用。
内联图像语法如下所示:


那是:
感叹号:!; 后跟一组方括号,包含alt 图像的属性文本; 后跟一组括号,包含图像的 URL 或路径,以及title用双引号或单引号括起来的可选属性。 引用样式的图像语法如下所示:
其中“id”是定义的图像引用的名称。图像引用使用与链接引用相同的语法定义:
在撰写本文时,Markdown 没有指定图像尺寸的语法;如果这对您很重要,您可以简单地使用常规 HTML\<img>标记。
各种各样的 自动链接 Markdown 支持为 URL 和电子邮件地址创建“自动”链接的快捷方式:只需用尖括号将 URL 或电子邮件地址括起来。这意味着如果你想显示一个 URL 或电子邮件地址的实际文本,并且让它成为一个可点击的链接,你可以这样做:
http://example.com/ Markdown 会把它变成:
http://example.com/电子邮件地址的自动链接的工作方式类似,除了 Markdown 还将执行一些随机的十进制和十六进制实体编码,以帮助从地址收集垃圾邮件机器人中隐藏您的地址。例如,Markdown 会变成这样:address@example.com 变成这样的东西:
address@exa mple.com它将在浏览器中呈现为指向“ address@example.com ”的可点击链接。(这种实体编码技巧确实会骗过很多(如果不是大多数的话)地址收集机器人,但绝对不会骗过所有机器人。总比没有好,但以这种方式发布的地址最终可能会开始接收垃圾邮件。)
反斜杠转义 Markdown 允许您使用反斜杠转义来生成文字字符,否则这些字符在 Markdown 的格式语法中具有特殊含义。例如,如果你想用文字星号(而不是 HTML\<em>标记)包围一个单词,你可以在星号前使用反斜杠,如下所示:
*literal asterisks* Markdown 为以下字符提供反斜杠转义:
\ backslash
` backtick
* asterisk
_ underscore
{} curly braces
[] square brackets
() parentheses
# hash mark
+ plus sign
- minus sign (hyphen)
. dot
! exclamation mark