是否存在等价的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>
当前回答
使用一个名字。在HTML 5中不需要使用id,它会在JavaScript中创建全局变量
参见HTML 5规范,5.9.8导航到片段标识符- id和name都被使用。
重要的是要知道大多数浏览器仍然将id转换为全局变量。这里有一个快速测试。使用名称可以避免创建全局变量和可能导致的任何冲突。
使用名称的示例:
Take me to [pookie](#pookie)
和目的锚点:
### <a name="pookie"></a>Some heading
其他回答
使用最新的Markdown,你应该能够使用以下语法:
[] () {: name =‘anchorName}
这将创建以下HTML:
<a name=“anchorName”></a>
如果你想要锚点有文本,只需在方括号内添加锚点文本:
[文本](){:name = ' anchorName '}
虽然姗姗来迟,但我认为这个添加可能对使用rmarkdown的人有用。在rmarkdown中,有内置的文档头引用支持。
定义的任何头
# Header
可由
get me back to that [header](#header)
下面是一个最小的独立.rmd文件,它显示了这种行为。它可以编织成。pdf和。html。
---
title: "references in rmarkdown"
output:
html_document: default
pdf_document: default
---
# Header
Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text.
Go back to that [header](#header).
正如我们所看到的(从答案中),这没有标准的方法;不同的降价处理器在提供这种可能性的降价扩展方面会有所不同。
使用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中已被弃用。)
使用一个名字。在HTML 5中不需要使用id,它会在JavaScript中创建全局变量
参见HTML 5规范,5.9.8导航到片段标识符- id和name都被使用。
重要的是要知道大多数浏览器仍然将id转换为全局变量。这里有一个快速测试。使用名称可以避免创建全局变量和可能导致的任何冲突。
使用名称的示例:
Take me to [pookie](#pookie)
和目的锚点:
### <a name="pookie"></a>Some heading