foo
链接引用定义由一个链接标签组成,前面可以选择最多三个缩进空格,后跟一个冒号 ( : )、可选空格或制表符(包括最多一个行结尾)、链接目标、可选的空格或制表符(最多包括一个行结尾)以及可选的链接标题,如果存在,则必须用空格或制表符将其与链接目标分隔开。不能再出现任何字符。
链接引用定义不对应于文档的结构元素。相反,它定义了一个标签,可以在文档中其他地方的参考链接和参考样式图像中使用。链接引用定义可以位于使用它们的链接之前或之后。
标题可以跨越多行:
但是,它可能不包含空行:
标题可以省略:
链接目标不能省略:(与规范不一致)
但是,可以使用尖括号指定空链接目标:
标题与链接目标必须用空格或制表符分隔:
标题和目标都可以包含反斜杠转义符和文字反斜杠:
链接可以位于其相应的定义之前:
如果有多个匹配的定义,则第一个优先:
如链接部分所述,标签匹配不区分大小写(请参阅匹配)。
某个东西是否是链接引用定义与它定义的链接引用是否在文档中使用无关。因此,例如,以下文档仅包含链接引用定义,没有可见内容:
bar
这不是链接引用定义,因为标题后面还有空格或制表符以外的字符:
foo: /url "title" ok
这是一个链接参考定义,但它没有标题:
"title" ok
这不是链接引用定义,因为它缩进了四个空格:
这不是链接引用定义,因为它出现在代码块内:
[foo]: /url
链接引用定义不能中断段落。
但是,它可以直接跟在其他块元素之后,例如标题和主题分隔符,并且后面不需要跟空行。
bar
===
foo
多个链接引用定义可以相继出现,而无需插入空行。
链接引用定义可以出现在块容器内,例如列表和块引用。它们影响整个文档,而不仅仅是定义它们的容器: