我想知道如何使用 Markdown 来引用页面的另一个区域。我可以让它工作,如果我添加一个
<div id="mylink" />
对于这个链接来说:
[My link](#mylink)
但是我猜测在 Markdown 中还有其他方法可以做页内链接,而不需要直接使用 div标签。
div
有什么想法吗?
HTML 页面中链接的目标锚可以是具有 id属性的任何元素。请参阅 W3C 站点上的 连结。下面是相关章节中的一段话:
id
HTML 文档中的目标锚 可由甲方指定 元素(使用名称命名它 属性) ,或任何其他元素 (使用 id 属性命名)。
Markdown 将 HTML 视为 HTML (参见 内联 HTML) ,因此您可以从任何喜欢的元素创建片段标识符。例如,如果您想链接到一个段落,只需将该段落包装在一个段落标记中,并包含一个 id:
<p id="mylink">Lorem ipsum dolor sit amet...</p>
然后使用标准的 Markdown [My link](#mylink)创建到片段锚的链接。这将有助于保持 HTML 的整洁,因为不需要额外的标记。
使用 标价的 PHP 版本,您还可以使用如下所示的语法将页眉链接到页面中的片段标识符,如文档中的 给你所示
Header 1 {#header1} ======== ## Header 2 ## {#header2}
然后
[Link back to header 1](#header1) [Link back to header 2](#header2)
不幸的是,这种语法目前只支持头部,但至少可以用于构建目录。
参见 这个答案。
总的来说,用... ... 作为目的地
<a name="sometext"></a>
插入标记的任何位置(例如,在标题中:
## heading<a name="headin"></a>
并以减价联系方式与其联系起来:
[This is the link text](#headin)
或者
[some text](#sometext)
不要使用 <div>——这会破坏许多渲染器的布局。
<div>
(我已经把 id=改成了上面的 name=,详情请参阅 这个答案。)
id=
name=
我想这取决于您使用什么来从您的降价中生成 html。我注意到,jekyll (默认情况下 gihub.io 页面使用它)自动将 id = “”属性添加到它生成的 html 标题中。
例如,如果你的降价是
My header ---------
生成的 html 如下所示:
<h2 id="my-header">My header</h2>
因此,您可以通过 [My link](#my-header)简单地链接到它
[My link](#my-header)
对于任何使用 VisualStudioTeamFoundationServer (TFS)2015的人来说,它确实不喜欢嵌入式 <a>或 <div>元素,至少在标题中不喜欢。它也不喜欢标题中的表情符号:
<a>
### 🔧 Configuration 🔧 Lorem ipsum problem fixem.
翻译成:
<h3 id="-configuration-">🔧 Configuration 🔧</h3> <p>Lorem ipsum problem fixem.</p>
因此,链接要么使用 id(在 Visual Studio 中破坏了 这个和其他预览扩展) ,要么删除表情符号:
Here's [how to setup](#-configuration-) //🔧 Configuration 🔧 Here's [how to setup](#configuration) //Configuration
在 VisualStudio 的标记预览版中,后一个版本可以在 TFS 还有中在线工作。
在 Pandoc Markdown,你可以使用语法 [span]{#anchor}在段落的任意跨度上设置锚点,例如:
[span]{#anchor}
Paragraph, containing [arbitrary text]{#mylink}.
然后像往常一样引用它: [My link](#mylink)。
如果你想引用整个段落,那么最直接的方法就是在段落的开头添加一个 空荡荡的跨度:
[]{#mylink} Paragraph text.