Syn*_*sso 471 html anchor markdown cross-reference
是否有相应的markdown语法:
Take me to <a href="#pookie">pookie</a>
...
<a name="pookie">this is pookie</a>
Run Code Online (Sandbox Code Playgroud)
Ste*_*ell 630
Take me to [pookie](#pookie)
Run Code Online (Sandbox Code Playgroud)
应该是正确的markdown语法跳转到名为pookie的锚点.
要插入该名称的锚点,请使用HTML:
<a name="pookie"></a>
Run Code Online (Sandbox Code Playgroud)
Markdown似乎并不介意你把锚点放在哪里.放在标题中的一个有用的地方.例如:
### <a name="tith"></a>This is the Heading
Run Code Online (Sandbox Code Playgroud)
效果很好.(我在这里演示但是SO的渲染器剥离了锚.)
id=对比的注意事项name=这篇文章的早期版本建议使用<a id='tith' />XHTML的自关闭语法,并使用id属性而不是name.
XHTML允许任何标记为"空"和"自闭".也就是说,<tag />对于<tag></tag>一对带有空体的匹配标签来说,它是简称.大多数浏览器都会接受XHTML,但有些浏览器不接受.为避免跨浏览器问题<tag></tag>,请按照上面的建议使用显式关闭标记.
最后,该属性name=在XHTML中已弃用,因此我最初使用id=,每个人都认可.但是,HTML5现在在使用时会在JavaScript中创建一个全局变量id=,这可能不一定是您想要的.因此,使用name=现在可能更友好.
(感谢SLIPP道格拉斯解释XHTML我,钉枪的指出了HTML5的副作用-看到的评论和钉枪的答案.更多的细节name=出现在各处都起作用,但它是在XHTML弃用.)
La *_*uda 73
在bitbucket.org上,投票的解决方案不起作用.相反,当使用标头(带##)时,可以通过将它们作为#markdown-header-my-header-name加前缀来引用它们作为锚点,其中#markdown-header-是由渲染器生成的隐式前缀,并且其余的是较低的标题标题,用破折号代替空格.
例
## My paragraph title
Run Code Online (Sandbox Code Playgroud)
会产生这样的隐式锚点
#markdown-header-my-paragraph-title
Run Code Online (Sandbox Code Playgroud)
每个锚引用之前的整个URL是可选的,即
[Some text](#markdown-header-my-paragraph-title)
Run Code Online (Sandbox Code Playgroud)
相当于
[Some text](https://bitbucket.org/some_project/some_page#markdown-header-my-paragraph-title)
Run Code Online (Sandbox Code Playgroud)
只要它们在同一页面中.
资料来源:https://bitbucket.org/tutorials/markdowndemo/overview(编辑此.md文件的来源,看看如何制作锚点).
mik*_*ana 62
用一个name.id在HTML 5中使用a 不是必需的,并且将在JavaScript中创建全局变量
看到HTML 5规范,5.9.8导航到片段标识符 -既id和name被使用.
重要的是要知道大多数浏览器仍将ID转换为全局变量.这是一个快速测试.使用name避免创建全局变量以及可能导致的任何冲突.
使用名称的示例:
Take me to [pookie](#pookie)
Run Code Online (Sandbox Code Playgroud)
目的地锚点:
### <a name="pookie"></a>Some heading
Run Code Online (Sandbox Code Playgroud)
You*_*You 16
在原始Markdown语法中没有现成的语法可用,但Markdown Extra提供了一种至少为标题分配ID的方法 - 然后您可以轻松链接到标题.另请注意,您可以在Markdown和Markdown Extra中使用常规HTML,并且该name属性已被id更新版本的HTML中的属性取代.
key*_*oxy 14
对于在 GitBook 中寻找此问题解决方案的任何人。这就是我让它工作的方式(在 GitBook 中)。您需要明确标记您的标题,如下所示:
# My Anchored Heading {#my-anchor}
Run Code Online (Sandbox Code Playgroud)
然后像这样链接到这个锚点
[link to my anchored heading](#my-anchor)
Run Code Online (Sandbox Code Playgroud)
可以在此处找到解决方案和其他示例:https : //seadude.gitbooks.io/learn-gitbook/
jef*_*ill 11
Markdown Anchor支持hashmark,因此页面中锚点的链接就是这样[Pookie](#pookie)
Gruber Markdown实际上不支持生成锚点,但在其他实现中,例如Markdown Extra.
在Markdown Extra中,锚ID附加到标题或子标题上{#pookie}.
Git存储库页面中的Github Flavored Markdown(但不在Gists中)自动生成在所有头文件(h1,h2,h3等)上带有多个标记标记的锚点,包括:
id="user-content-HEADERTEXT"class="anchor"href="#HEADERTEXT"aria-hidden="true" (这是针对鼠标悬停时显示的svg链接图标)当一个人写道时,排除aria/svg图标:
# Header TitleGithub生成:
<h1><a id="user-content-header-title" class="anchor" href="#header-title">Header Title</a></h1>因此,创建标题链接无需任何操作,并且始终可以使用以下链接链接到它们:
[Header Title](#header-title)正如我们(从答案中)看到的,没有标准的方法;不同的降价处理器在提供这种可能性的降价扩展方面会有所不同。
\n使用 pandoc,你可以得到你想要的东西,如下所示:
\nTake me to [pookie](#pookie)\n\n...\n\n[this is pookie]{#pookie}\nRun Code Online (Sandbox Code Playgroud)\n这给出(使用 pandoc-2.9.2.1):
\n<p>Take me to <a href="#pookie">pookie</a></p>\n<p>\xe2\x80\xa6</p>\n<p><span id="pookie">this is pookie</span></p>\nRun Code Online (Sandbox Code Playgroud)\n还可以创建一个带有锚点 id 的空范围:
\nTake me to [pookie](#pookie)\n\n...\n\nthis is pookie []{#pookie}\nRun Code Online (Sandbox Code Playgroud)\n这会产生:
\n<p>Take me to <a href="#pookie">pookie</a></p>\n<p>\xe2\x80\xa6</p>\n<p>this is pookie <span id="pookie"></span></p>\nRun Code Online (Sandbox Code Playgroud)\n除此之外,对于 pandoc 和最常见的 Markdown 生成器,每个 header 中都有一个简单的自生成锚点。(请参阅此处的答案和其他答案,了解(自动)生成和引用此类锚点的便捷方法。)
\n对于最常见的降价生成器。每个标题中都有一个简单的自生成锚点。例如,使用pandoc,生成的锚点将是标题的烤肉串。
echo "# Hello, world\!" | pandoc
# => <h1 id="hello-world">Hello, world!</h1>
Run Code Online (Sandbox Code Playgroud)
根据您使用的降价解析器,锚点可以改变(以symbolrush 和La muerte Peluda 的答案为例,它们是不同的!)。请参阅此babelmark,您可以在其中查看根据您的降价实现生成的锚点。
晚会晚了,但我认为与之合作的人可能会有所帮助rmarkdown。在rmarkdown有内置在你的文档中引用头支持。
定义的任何标头
# Header
Run Code Online (Sandbox Code Playgroud)
可以被引用
get me back to that [header](#header)
Run Code Online (Sandbox Code Playgroud)
以下是.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).
Run Code Online (Sandbox Code Playgroud)
小智 6
使用最新的 Markdown,您应该能够使用以下语法:
[](){:name='anchorName'}
这应该创建以下 HTML:
<a name="anchorName"></a>
如果您希望锚具有文本,只需在方括号内添加锚文本:
[Some Text](){:name='anchorName'}
小智 5
对于任何喜欢使用不同级别标头的人来说,值得注意的是,#无论标头的级别如何,标头的链接都应该只使用单个 :
# This is an H1
## This is an H2
### This is an H3
...
[Take me to H3](#this-is-an-H3)
[Take me to H1](#this-is-an-H1)
[This won't work](##-this-is-an-H2)
Run Code Online (Sandbox Code Playgroud)