我提到了MultiMarkdown对内部链接/命名锚点的支持,但我找不到如何实际执行此操作的单个示例。
那么,表示命名锚点的语法是什么,与链接到任何其他URL相同的语法是什么(仅使用#foo代替http://....
)?
我提到了MultiMarkdown对内部链接/命名锚点的支持,但我找不到如何实际执行此操作的单个示例。
那么,表示命名锚点的语法是什么,与链接到任何其他URL相同的语法是什么(仅使用#foo代替http://....
)?
Answers:
在标准Markdown中,将锚点<a name="abcd"></a>
放置在要链接的位置,并在同一页面上用引用[link text](#abcd)
。
(出于此答案中说明的原因,它使用了name=
而不是。)id=
[link text](http://...#abcd)
当然可以使用远程引用。
只要您可以控制源文本和目标文本,这就像梦一样。锚甚至可以出现在标题中,因此:
### <a name="head1234"></a>A Heading in this SO entry!
产生:
我们甚至可以链接到它:
and we can even [link](#head1234) to it so:
(在SO上,该链接不起作用,因为锚点已剥离。)
name=
在XHTML中已被弃用,但现在我发现它id=
在HTML5 中具有副作用,因此我将name=
在此答案中回复。
如果降价文件中包含标题,则可以直接在文件中链接它们。
降价标题-
## The Header
这将生成一个隐式id #the-header
(用连字符替换内部空格并使其小写)。
要导航至此ID,您可以创建如下链接:
[Link to Header](#the-header)
这等效于:
<a href="#the-header">Link to Header</a>
请注意,引用的名称是小写字母#header
。
## This Header ##
,则链接为[To This Header](#markdown-header-this-header)
。如果不确定标题的ID是什么,请使用页面检查器查看HTML值。
[Link](user-content-the-header)
摘自《 Multimarkdown 用户指南》(感谢Twitter上的@MultiMarkdown指出)
[Some Text][]
将链接到名为“ Some Text”的标题,
例如
### Some Text ###
您可以选择使用一个可选标签来帮助消除多个标题具有相同标题的情况的歧义:
### Overview [MultiMarkdownOverview] ##
这使您可以使用[MultiMarkdownOverview]专门引用本节,而不能使用另一个名为Overview的节。这适用于atx或settext样式的标头。
如果您已经使用与标头使用的相同ID定义了锚,则定义的锚优先。
除了文档中的标题外,您还可以提供图像和表格的标签,然后也可以将它们用作交叉引用。
我测试了Github Flavored Markdown一段时间,可以总结出以下四个规则:
-
例如,如果您的部分命名为:
## 1.1 Hello World
以这种方式创建指向它的链接:
[Link](#11-hello-world)
创建内部链接(与节相关)的最佳方法是创建列表,但如果标题中包含空格,则使用#section或#section-title代替链接。
----降价------------------------
Go to section
* [Hello](#hello)
* [Hello World](#hello-world)
* [Another section](#new-section) <-- it's called 'Another section' in this list but refers to 'New section'
## Hello
### Hello World
## New section
----列表预览------------------------
Go to section
Hello <-- [Hello](#hello) -- go to `Hello` section
Hello World <-- [Hello World](#hello world) -- go to `Hello World` section
Another section <-- [Another section](#new-section) -- go to `New section`
---- HTML ------------------------
<p>Go to section</p>
<ul>
<li><a href="#hello">Hello</a><br />
</li>
<li><a href="#hello-world">Hello World</a></li>
<li><a href="#new-section">Another section</a> <– it’s called ‘Another section’ in this list but refers to ‘New section’</li>
</ul>
<h2 id="hello">Hello</h2>
<h3 id="hello-world">Hello World</h3>
<h2 id="new-section">New section</h2>
不管是h1,h2,h3等标头,您始终只能使用一个引用它#
。
如上例所示,节列表中的所有引用都应转换为小写文本。
链接到小节。否则它将无法正常工作。
该技术对所有Markdown变体以及MultiMarkdown都非常有效。
目前,我正在使用Pandoc转换文档格式。它比MultiMarkdown好得多。
在这里测试Pandoc
## Hello
,则应将其称为[Whatever you want](#Hello)