kuai

块元素
段落和换行符
段落只是一个或多个连续的文本行,由一个或多个空行分隔。(空行是任何看起来像空白行的行 - 除了空格或制表符之外的任何行都被视为空白。)正常段落不应使用空格或制表符缩进。

“一个或多个连续文本行”规则的含义是Markdown支持“硬包装”文本段落。这与大多数其他文本到HTML格式化程序(包括Movable Type的“转换换行符”选项)明显不同,后者将段落中的每个换行符转换为
标记。

当您确实想要
使用Markdown 插入break标记时,您将结束包含两个或更多空格的行,然后键入return。

是的,这需要更多的努力来创建一个
,但是一个简单的“每个换行是一个
”规则对Markdown不起作用。 当您使用硬中断格式化时,Markdown的电子邮件风格的区块报价和多段列表项目效果最好 - 看起来更好。


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

Setext样式的标题使用等号(对于第一级标题)和破折号(对于第二级标题)“加下划线”。例如:

This is an H1

This is an H2

任何数量的强调=的或-的正常工作。

Atx样式的标题在行的开头使用1-6个散列字符,对应于标题级别1-6。例如:

This is an H1

This is an H2

This is an H6

或者,您可以“关闭”atx样式的标题。这纯粹是装饰性的 - 如果您觉得它看起来更好,可以使用它。关闭哈希甚至不需要与用于打开标题的哈希数相匹配。(开放哈希的数量决定了标题级别。):

This is an H1

This is an H2

This is an H3

引用文字
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允许你变懒,只把它放在>硬包装段落的第一行之前:

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.

  1. This is the first list item.
  2. 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
    有序列表使用数字后跟句点:
  1. Bird
  2. McHale
  3. Parish
    重要的是要注意,用于标记列表的实际数字对Markdown产生的HTML输出没有影响。从上面列表中生成的HTML Markdown是:
  1. Bird
  2. McHale
  3. Parish

如果你改为在Markdown中写下这样的列表:

  1. Bird
  2. McHale
  3. Parish
    甚至:
  4. Bird
  5. McHale
  6. 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
    将变成:
  • <p>Bird</p>
  • <p>Magic</p>

列表项可能包含多个段落。列表项中的每个后续段落必须缩进4个空格或一个选项卡:

  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.
    如果你缩进后续段落的每一行,看起来很不错,但在这里,Markdown会让你变得懒惰:
  • This is a list item with two paragraphs.

    This is the second paragraph in the list item. You're

  1. required to indent the first line. Lorem ipsum dolor

sit amet, consectetuer adipiscing elit.

  • Another item in the same list.
    要将blockquote放在列表项中,> 需要缩进blockquote的分隔符:
  • 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>

    值得注意的是,可以通过写下这样的内容来偶然触发有序列表:

  1. What a great season.
    换句话说,在行的开头的数字 - 时间 - 空间序列。为避免这种情况,您可以反斜杠 - 逃避期间:

1986. What a great season.
代码块
预格式化的代码块用于编写有关编程或标记源代码的内容。不是形成正常的段落,而是按字面解释代码块的行。Markdown在两个<pre>和标签中包装代码块。

要在Markdown中生成代码块,只需将块的每一行缩进至少4个空格或1个制表符。例如,给定此输入:

This is a normal paragraph:

This is a code block.

Markdown将产生:

<p>This is a normal paragraph:</p>

This is a code block.

从代码块的每一行中删除一级缩进--4个空格或1个制表符。例如,这个:

Here is an example of AppleScript:

tell application "Foo"
    beep
end tell

将变成:

<p>Here is an example of AppleScript:</p>

tell application "Foo"
    beep
end tell

代码块一直持续到它没有缩进的行(或文章的结尾)。

在代码块中,&符号(&)和尖括号(<和>)会自动转换为HTML实体。这样就可以很容易地使用Markdown包含示例HTML源代码 - 只需将其粘贴并缩进即可,Markdown将处理编码&符号和尖括号的麻烦。例如,这个:

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

将变成:

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

在代码块中不处理常规Markdown语法。例如,星号只是代码块中的字面星号。这意味着使用Markdown编写Markdown自己的语法也很容易。

横向规则
您可以


通过在一行上放置三个或更多连字符,星号或下划线来生成水平规则标记()。如果您愿意,可以在连字符或星号之间使用空格。以下每一行都将生成一个水平规则:

    • *


    • -

跨度元素
链接
Markdown支持两种类型的链接:内联和引用。

在这两种样式中,链接文本由[方括号]分隔。

要创建内联链接,请在链接文本的结束方括号后立即使用一组常规括号。在括号内,将URL指向要指向的链接,以及链接的可选 标题,用引号括起来。例如:

This is an example inline link.

This link has no title attribute.
会产生:

<p>This is
an example
inline link.</p>

<p>This link has no
title attribute.</p>
如果您在同一服务器上引用本地资源,则可以使用相对路径:

See my About page for details.
参考样式链接使用第二组方括号,在其中放置您选择的标签以标识链接:

This is an example reference-style link.
您可以选择使用空格来分隔括号组:

This is [an example] [id] reference-style link.
然后,在文档中的任何位置,您可以单独定义链接标签,如下所示:

那是:

包含链接标识符的方括号(可选择使用最多三个空格从左边距缩进);
然后是冒号;
然后是一个或多个空格(或标签);
后跟链接的URL;
可选地后跟链接的title属性,用双引号或单引号括起来,或用括号括起来。
以下三个链接定义是等效的:

注意: Markdown.pl 1.0.1中存在一个已知错误,该错误会阻止单引号用于分隔链接标题。

可选地,链接URL可以用尖括号括起来:

您可以将title属性放在下一行,并使用额外的空格或制表符进行填充,使用较长的URL往往看起来更好:

"Optional Title Here"

链接定义仅用于在Markdown处理期间创建链接,并在HTML输出中从文档中删除。

链接定义名称可能包含字母,数字,空格和标点符号 - 但它们不区分大小写。例如这两个链接:

link text
link text
是等价的。

在隐式链接名称快捷键可以让你忽略的链接,在这种情况下,链接文本本身作为名称的名称。只需使用一组空方括号 - 例如,将“Google”一词链接到google.com网站,您只需写下:

[Google][]
然后定义链接:

由于链接名称可能包含空格,因此此快捷方式甚至适用于链接文本中的多个单词:

Visit [Daring Fireball][] for more information.
然后定义链接:

链接定义可以放在Markdown文档的任何位置。我倾向于在它们被使用的每个段落之后立即放置它们,但是如果你愿意,你可以将它们全部放在文档的末尾,有点像脚注。

以下是实际参考链接的示例:

I get 10 times more traffic from [Google] [1] than from
[Yahoo] [2] or [MSN] [3].

使用隐式链接名称快捷方式,您可以改为:

I get 10 times more traffic from [Google][] than from
[Yahoo][] or [MSN][].

以上两个示例都将生成以下HTML输出:

<p>I get 10 times more traffic from <a href="http://google.com/"
title="Google">Google than from
Yahoo
or MSN.</p>
为了比较,这里是使用Markdown的内联链接样式编写的相同段落:

I get 10 times more traffic from Google
than from Yahoo or
MSN.
参考风格的链接并不是说它们更容易编写。关键是,使用引用样式链接,您的文档源更具可读性。比较上面的例子:使用引用式链接,段落本身只有81个字符; 内联式链接,共176个字符; 作为原始HTML,它是234个字符。在原始HTML中,标记比文本更多。

使用Markdown的引用样式链接,源文档更接近于在浏览器中呈现的最终输出。通过允许您将与标记相关的元数据移出段落,您可以添加链接而不会中断散文的叙述流程。

重点
Markdown将星号()和下划线(_)视为重点的指标。用一个包装的文本或_用HTML 标签包装的文本; double *的或者_将用HTML 标签包装 。例如,这个输入:

single asterisks

single underscores

double asterisks

double underscores
将产生:

single asterisks

single underscores

double asterisks

double underscores
你可以使用你喜欢的任何一种风格; 唯一的限制是必须使用相同的字符来打开和关闭强调范围。

重点可以用在一个单词的中间:

unfriggingbelievable
但是如果你围绕一个*或_有空格,它将被视为文字星号或下划线。

要在其它方式用作强调分隔符的位置生成文字星号或下划线,可以反斜杠转义:

*this text is surrounded by literal asterisks*

要指示代码范围,请使用反引号引号(`)进行包装。与预格式化的代码块不同,代码跨度表示正常段落中的代码。例如:

Use the printf() function.
将产生:

<p>Use the printf() function.</p>
要在代码范围内包含文字反引号字符,可以使用多个反引号作为开始和结束分隔符:

There is a literal backtick (`) here.
这会产生这个:

<p>There is a literal backtick (`) here.</p>
围绕代码跨度的反引号分隔符可以包括空格 - 一个在打开之后,一个在结束之前。这允许您在代码范围的开头或结尾放置文字反引号字符:

A single backtick in a code span: `

A backtick-delimited string in a code span: `foo`
将产生:

<p>A single backtick in a code span: `</p>

<p>A backtick-delimited string in a code span: foo</p>
使用代码范围,&符号和尖括号自动编码为HTML实体,这使得包含示例HTML标记变得容易。Markdown会变成这样:

Please don't use any <blink> tags.
成:

<p>Please don't use any <blink> tags.</p>
你可以这样写:

&#8212; is the decimal-encoded equivalent of &mdash;.
生产:

<p>&#8212; is the decimal-encoded
equivalent of &mdash;.</p>
图片
不可否认,设计一种“自然”语法来将图像放入纯文本文档格式是相当困难的。

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

内联图像语法如下所示:

Alt text

Alt text
那是:

感叹号:!;
后跟一组方括号,包含alt 图像的属性文本;
后跟一组括号,包含图像的URL或路径,以及title用双引号或单引号括起来的可选属性。
参考样式的图像语法如下所示:

Alt text
其中“id”是已定义图像引用的名称。使用与链接引用相同的语法定义图像引用:

在撰写本文时,Markdown没有指定图像尺寸的语法; 如果这对您很重要,您可以简单地使用常规HTML 标记。


自动链接
Markdown支持用于为URL和电子邮件地址创建“自动”链接的快捷方式:只需用尖括号括起URL或电子邮件地址即可。这意味着,如果您想要显示URL或电子邮件地址的实际文本,并且还有一个可点击的链接,您可以这样做:

http://example.com/
Markdown将把它变成:

http://example.com/
电子邮件地址的自动链接的工作方式类似,但Markdown还会执行一些随机十进制和十六进制实体编码,以帮助模糊您的地址获取垃圾邮件地址。例如,Markdown将转为:

<address@example.com>
进入这样的事情:

<a href="mailto:addre
ss@example.co
m">address@exa
mple.com
它将在浏览器中呈现为“ address@example.com ” 的可点击链接。

(这种实体编码技巧确实会欺骗许多(如果不是大多数)地址获取机器人,但它肯定不会欺骗所有这些机器人。它总比没有好,但以这种方式发布的地址最终可能会开始接收垃圾邮件。)

反斜杠逃脱
Markdown允许您使用反斜杠转义来生成文字字符,否则这些字符在Markdown的格式化语法中具有特殊含义。例如,如果你想用文字星号(而不是HTML 标签)包围一个单词,你可以在星号之前使用反斜杠,如下所示:

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

backslash
` backtick

  • asterisk
    _ underscore

{} curly braces
[] square brackets
() parentheses

hash mark

  • plus sign
  • minus sign (hyphen)
    . dot

! exclamation mark

所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!

  Previous post sssscese
Next post   123123213

添加新评论

  近期动态

第一次使用这个模板搭建博客
--- updated on 2019年3月7日

  关于博主

90后屌丝,不善于表达自己。座右铭:船到桥头自然直!

  近期评论

  分类目录

有种脾气叫,不放弃。

梦想是注定孤独的旅行,路上少不了质疑和嘲笑,但那又怎样,哪怕遍体鳞伤也要活的漂亮。

不管现在有多么艰辛,我们也要做个生活的舞者。

命运从来不会同情弱者。

不怕万人阻挡在前方,只怕自己先行投降。