是否存在等价的markdown语法:

Take me to <a href="#pookie">pookie</a>

... 

<a name="pookie">this is pookie</a>

当前回答

对于大多数常见的降价生成器。在每个头文件中都有一个简单的自生成锚。例如,使用pandoc,生成的锚将是头部的一个烤肉盒。

 echo "# Hello, world\!" | pandoc
 # => <h1 id="hello-world">Hello, world!</h1>

取决于您使用的markdown解析器,锚可以改变(以symbolrush和La muerte Peluda回答为例,它们是不同的!)。看这个babelmark,你可以看到生成的锚取决于你的markdown实现。

其他回答

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)

对于头部包含表情符号的情况,我将快速补充,在这种情况下,只需删除引用链接中的表情符号就更简单了。例如

# ⭐ Title 2
....
[Take me to title 2](#-title-2)

在某些情况下,由于一些奇怪的原因,这不起作用,例如在这里的设置中。这种情况下的解决方案是包括表情符号的整个代码。

使用最新的Markdown,你应该能够使用以下语法:

[] () {: name =‘anchorName}

这将创建以下HTML:

<a name=“anchorName”></a>

如果你想要锚点有文本,只需在方括号内添加锚点文本:

[文本](){:name = ' anchorName '}

使用一个名字。在HTML 5中不需要使用id,它会在JavaScript中创建全局变量

参见HTML 5规范,5.9.8导航到片段标识符- id和name都被使用。

重要的是要知道大多数浏览器仍然将id转换为全局变量。这里有一个快速测试。使用名称可以避免创建全局变量和可能导致的任何冲突。

使用名称的示例:

Take me to [pookie](#pookie)

和目的锚点:

### <a name="pookie"></a>Some heading

在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文件的源代码,看看锚是如何制作的)。