我正在编写一个大型Markdown文档,并希望在开始时放置一个目录列表,该目录将提供指向文档中各个位置的链接。我怎样才能做到这一点?
我尝试使用
[a link](# MyTitle)
MyTitle
文档中的标题在哪里,但这不起作用。
我正在编写一个大型Markdown文档,并希望在开始时放置一个目录列表,该目录将提供指向文档中各个位置的链接。我怎样才能做到这一点?
我尝试使用
[a link](# MyTitle)
MyTitle
文档中的标题在哪里,但这不起作用。
Answers:
在pandoc中,如果--toc
在生成html时使用该选项,则将生成目录,其中包含指向各节的链接,并从节标题返回该目录。它与pandoc编写的其他格式类似,例如LaTeX,rtf,rst等。因此,使用命令
pandoc --toc happiness.txt -o happiness.html
降价的这一点:
% True Happiness
Introduction
------------
Many have posed the question of true happiness. In this blog post we propose to
solve it.
First Attempts
--------------
The earliest attempts at attaining true happiness of course aimed at pleasure.
Soon, though, the downside of pleasure was revealed.
会将其作为html的主体:
<h1 class="title">
True Happiness
</h1>
<div id="TOC">
<ul>
<li>
<a href="#introduction">Introduction</a>
</li>
<li>
<a href="#first-attempts">First Attempts</a>
</li>
</ul>
</div>
<div id="introduction">
<h2>
<a href="#TOC">Introduction</a>
</h2>
<p>
Many have posed the question of true happiness. In this blog post we propose to solve it.
</p>
</div>
<div id="first-attempts">
<h2>
<a href="#TOC">First Attempts</a>
</h2>
<p>
The earliest attempts at attaining true happiness of course aimed at pleasure. Soon, though, the downside of pleasure was revealed.
</p>
</div>
git clone
-ed到最低或最外面的tmbundle目录中,~/Library/Application\ Support/TextMate/Bundles
以简化集成。
-1
ID的第一次重复,-2
第二次等等
Github会自动从标题中解析出定位标记。因此,您可以执行以下操作:
[Custom foo description](#foo)
# Foo
在上述情况下,Foo
标头生成了一个锚标签,其名称为foo
注意:#
对于所有标题大小,只能使用一个,#
并且锚名称之间不得有空格,锚标签名称必须小写,如果使用多位数 d,则用短划线分隔。
[click on this link](#my-multi-word-header)
### My Multi Word Header
开箱用pandoc
了。
[just](#like-this-one)
。
通过实验,我找到了一个使用的解决方案,<div…/>
但一个显而易见的解决方案是将您自己的定位点放置在您喜欢的页面中,因此:
<a name="abcde">
之前和
</a>
您要“链接”到的行之后。然后是一个markdown链接,例如:
[link text](#abcde)
文档中的任何位置都会带您到那里。
该<div…/>
解决方案插入一个“虚拟”分区只是为了添加id
属性,这可能会破坏页面结构,但是该<a name="abcde"/>
解决方案应该是无害的。
(PS:这可能是确定把锚在你想链接到行,如下所示:
## <a name="head1">Heading One</a>
但这取决于Markdown如何对待它。我注意到,例如,堆栈溢出答案格式化程序对此感到满意!)
## headers
。
<div/>
几行,都会受到影响。相反,我必须将链接的文本包装在完整的div
标记子句中,并且必须使用真实的HTML从头开始重新指定行为。嘘
这可能是过时的线程,但是要在Github中使用markdown创建内部文档链接,请使用...
(注意:小写字母#title)
# Contents
- [Specification](#specification)
- [Dependencies Title](#dependencies-title)
## Specification
Example text blah. Example text blah. Example text blah. Example text blah.
Example text blah. Example text blah. Example text blah. Example text blah.
Example text blah. Example text blah. Example text blah. Example text blah.
Example text blah. Example text blah.
## Dependencies Title
Example text blah. Example text blah. Example text blah. Example text blah.
Example text blah. Example text blah. Example text blah. Example text blah.
Example text blah. Example text blah. Example text blah. Example text blah.
Example text blah. Example text blah.
提出了一个很好的问题,所以我编辑了答案。
内部链接可以到任何标题尺寸使用进行- ,#
,,##
我创建了下面......一个简单的例子
https://github.com/aogilvie/markdownLinkTest###
####
(#dependencies-title)
告诉Github的降价,这是一个内在联系。后面的文本可以是任何标题大小。这是我进行的示例测试... https://github.com/aogilvie/markdownLinkTest
一些额外的事情要记住,如果雅曾经得到的花哨与标题中的符号是亚希望导航到...
# What this is about
------
#### Table of Contents
- [About](#what-this-is-about)
- [⚡ Sunopsis](#9889-tldr)
- [:gear: Grinders](#it-grinds-my-gears)
- [Attribution]
------
## ⚡ TLDR
Words for those short on time or attention.
___
## It Grinds my :gear:s
Here _`:gear:`_ is not something like ⚙ or ⛭
___
## ⛤ Attribution
Probably to much time at a keyboard
[Attribution]: #9956-attribution
...喜欢的东西#
,;
,&
,和:
内标题字符串通常被忽略/条纹,而不是逃出来的,一个也可以使用引用链接样式做出快速的使用更方便。
笔记
GitHub支持
:word:
提交,自述文件等中的语法。如果在那里感兴趣使用'em ,请参见gist(来自rxaviers)。在现代浏览器中几乎所有其他地方都可以使用十进制或十六进制。从备忘单W3Schools的是珀迪得心应手,尤其是在使用CSS
::before
或::after
伪元素的符号是你的风格。
以防万一有人想知道标题中的图像和其他链接如何解析为id
...
- [Imaged](#alt-textbadge__examplehttpsexamplecom-to-somewhere)
## [![Alt Text][badge__example]](https://example.com) To Somewhere
[badge__example]:
https://img.shields.io/badge/Left-Right-success.svg?labelColor=brown&logo=stackexchange
"Eeak a mouse!"
MarkDown渲染因位置而异,因此...
## methodName([options]) => <code>Promise</code>
...在GitHub上将有一个元素,id
例如...
id="methodnameoptions--promise"
...其中如香草卫生将导致id
的...
id="methodnameoptions-codepromisecode"
...意味着从模板写入或编译MarkDown文件要么需要针对slugifeing的一种方法,要么需要针对各种巧妙的方式(例如清除标题文本)添加配置和脚本逻辑。
根据降价实施,这个问题似乎有不同的答案。
实际上,Markdown官方文档对此主题保持沉默。
在这种情况下,如果您需要便携式解决方案,则可以使用HTML。
在任何标题之前或在同一标题行中,使用一些HTML标记定义一个ID。
例如:<a id="Chapter1"></a>
您将在代码中看到此内容,但在呈现的文档中看不到。
在此处查看完整的示例(在线和可编辑)。
## Content
* [Chapter 1](#Chapter1)
* [Chapter 2](#Chapter2)
<div id="Chapter1"></div>
## Chapter 1
Some text here.
Some text here.
Some text here.
## Chapter 2 <span id="Chapter2"><span>
Some text here.
Some text here.
Some text here.
要测试此示例,必须在内容列表和第一章之间添加一些额外的空间,或者减小窗口高度。
另外,请勿在ID名称中使用空格。
## Chapter 1
需要在其上方有一条开放线。(2)。链接不起作用...
<span id="Chapter1"><span>
Markdown规范中没有这样的指令。抱歉。
这里“所有Markdown呈现的标头都会自动获得ID”
一个可以使用鼠标进行以下操作:
使用鼠标右键单击复制并保存链接
例如在README.md文件中,我有标题:
## series expansion formula of the Boettcher function
它给出了一个链接:
前缀可以删除,所以这里的链接很简单
file#header
这意味着:
README.md#series-expansion-formula-of-the-boettcher-function
现在可以用作:
[series expansion formula of the Boettcher function](README.md#series-expansion-formula-of-the-boettcher-function)
一个也可以手动完成:用连字符代替空格。
现场示例在这里
由于在评论中提到了MultiMarkdown作为选项。
在MultiMarkdown中,内部链接的语法很简单。
对于文档中的任何标题,只需提供此格式的标题名称[heading][]
即可创建内部链接。
在此处阅读更多信息:MultiMarkdown-5交叉引用。
交叉引用
经常需要的功能是让Markdown像处理外部链接一样容易地自动处理文档内链接。为此,我添加了将[Some Text] []解释为交叉链接的功能(如果存在名为“ Some Text”的标头)。
例如,[Metadata] []将带您到#元数据(或##元数据,###元数据,####元数据,#####元数据,######元数据中的任何一个)。
另外,您可以选择一个可选标签,以帮助消除多个标题具有相同标题的情况的歧义:
###概述[MultiMarkdownOverview] ##
这使您可以使用[MultiMarkdownOverview]专门引用本节,而不能使用另一个名为Overview的节。这适用于atx或settext样式的标头。
如果您已经使用与标头使用的相同ID定义了锚,则定义的锚优先。
除了文档中的标题外,您还可以提供图像和表格的标签,这些标签也可以用作交叉引用。