是否存在等价的markdown语法:
Take me to <a href="#pookie">pookie</a>
...
<a name="pookie">this is pookie</a>
是否存在等价的markdown语法:
Take me to <a href="#pookie">pookie</a>
...
<a name="pookie">this is pookie</a>
当前回答
正如我们所看到的(从答案中),这没有标准的方法;不同的降价处理器在提供这种可能性的降价扩展方面会有所不同。
使用pandoc,你可以得到你想要的:
Take me to [pookie](#pookie)
...
[this is pookie]{#pookie}
这给出了(通过pandoc-2.9.2.1):
<p>Take me to <a href="#pookie">pookie</a></p>
<p>…</p>
<p><span id="pookie">this is pookie</span></p>
我们也可以用一个锚id创建一个空span:
Take me to [pookie](#pookie)
...
this is pookie []{#pookie}
这将产生:
<p>Take me to <a href="#pookie">pookie</a></p>
<p>…</p>
<p>this is pookie <span id="pookie"></span></p>
除此之外,对于pandoc和大多数常见的markdown生成器,在每个报头中都有一个简单的自生成锚。(请参阅此处和其他答案,以方便地(自动)生成和引用此类锚。)
其他回答
Take me to [pookie](#pookie)
应该是正确的markdown语法,以跳转到名为pookie的锚点。
要插入一个锚点,请使用HTML:
<a name="pookie"></a>
Markdown似乎并不介意你把锚点放在哪里。一个放置它的有用位置是在头文件中。例如:
### <a name="tith"></a>This is the Heading
工作得很好。(我在这里演示,但SO的渲染器剥离了锚。)
注意自关闭标记和id=和name=
这篇文章的早期版本建议使用<a id='tith' />,使用XHTML的自闭语法,并使用id属性而不是name。
XHTML允许任何标记为“空”和“自闭”。也就是说,<tag />是<tag></tag>的简称,是一对匹配的空主体标签。大多数浏览器接受XHTML,但有些不接受。为了避免跨浏览器的问题,按照上面的建议,使用<tag></tag>显式地关闭标记。
最后,属性name=在XHTML中已弃用,所以我最初使用了每个人都能识别的id=。然而,HTML5现在在使用id=时在JavaScript中创建了一个全局变量,这可能不是你想要的。因此,使用name=现在可能更加友好。
(感谢Slipp Douglas向我解释XHTML,感谢nailer指出HTML5的副作用——更多细节请看评论和nailer的回答。name=似乎在任何地方都可以工作,尽管它在XHTML中已被弃用。)
Markdown Anchor支持hashmark,因此在页面中链接到一个锚将简单地[Pookie](# Pookie)
在Gruber Markdown中实际上不支持生成锚,但在其他实现中支持,例如Markdown Extra。
在Markdown Extra中,锚点ID用{#pookie}附加到标题或子标题中。
Github调味Markdown在Git存储库页面(但不是在gist)自动生成在所有标题(h1, h2, h3等)上带有几个标记标记的锚,包括:
id = " user-content-HEADERTEXT " 类=“锚” href = " # HEADERTEXT” Aria-hidden ="true"(这是用于鼠标悬停时显示的SVG链接图标)
除了咏叹调/svg图标,当有人写道:
#标题标题
Github生成:
<h1><a id=“user-content-header-title” class=“anchor” href=“#header-title”>Header Title</a></h1>
因此,一个人不需要做任何事情来创建头链接,并且总是可以链接到它们:
链接到[标题标题](# Header - Title)
对于在GitBook中寻找此问题解决方案的任何人。这就是我如何使它工作(在GitBook)。你需要显式地标记你的标题,像这样:
# My Anchored Heading {#my-anchor}
然后像这样链接到这个锚
[link to my anchored heading](#my-anchor)
解决方案和其他示例可以在这里找到:https://seadude.gitbooks.io/learn-gitbook/
在bitbucket.org上投票的解决方案行不通。相反,当使用标题(使用##)时,可以将它们作为锚点引用,将它们作为#markdown-header-my-header-name作为前缀,其中#markdown-header-是由渲染器生成的隐式前缀,其余是小写标题,用破折号代替空格。
例子
## My paragraph title
会产生这样的隐式锚
#markdown-header-my-paragraph-title
在每个锚引用之前的整个URL是可选的,即。
[Some text](#markdown-header-my-paragraph-title)
相当于
[Some text](https://bitbucket.org/some_project/some_page#markdown-header-my-paragraph-title)
前提是它们在同一页上。
来源:https://bitbucket.org/tutorials/markdowndemo/overview(编辑这个.md文件的源代码,看看锚是如何制作的)。
在最初的Markdown语法中没有现成的语法来做到这一点,但是Markdown Extra提供了一种方法,至少可以将id分配给标题-然后可以轻松地链接到标题。还要注意,您可以在Markdown和Markdown Extra中使用常规HTML,并且在最新版本的HTML中,name属性已经被id属性所取代。