我正在编写一个大型Markdown文档,并希望在开始时放置一个目录,将提供到文档中各个位置的链接。我该怎么做呢?
我试着用:
[a link](# MyTitle)
其中MyTitle是文档中的一个标题,但这不起作用。
我正在编写一个大型Markdown文档,并希望在开始时放置一个目录,将提供到文档中各个位置的链接。我该怎么做呢?
我试着用:
[a link](# MyTitle)
其中MyTitle是文档中的一个标题,但这不起作用。
当前回答
在pandoc中,如果在生成html时使用——toc选项,将生成一个包含到章节的链接的目录,并从章节标题返回到目录。它类似于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>
其他回答
是的,markdown确实做到了这一点,但你需要指定名称anchor <a name='xyx'>。
一个完整的例子,
这就创建了链接 (任务)(#任务)
在文档的其他地方,您创建了命名锚(不管它叫什么)。
<a name="tasks">
my tasks
</a>
注意,你也可以把它环绕在标题上。
<a name="tasks">
### Agile tasks (created by developer)
</a>
Gitlab 使用 GitLab Flavored Markdown (GFM)
这里“所有markdown -render头自动获得id”
可以使用鼠标:
将鼠标移到页眉上 将鼠标移动到悬停选择器上,从头部左侧可见 复制和保存链接使用鼠标右键单击 例如在README中。md文件我有头文件:
Boettcher函数的级数展开公式
它给出了一个链接:
https://gitlab.com/adammajewski/parameter_external_angle/blob/master/README.md#series-expansion-formula-of-the-boettcher-function
前缀可以删除,所以这里的链接是简单的
file#header
这里的意思是:
README.md#series-expansion-formula-of-the-boettcher-function
现在它可以用作:
[Boettcher函数的级数展开公式](readme .md#series- expand -formula-of- Boettcher -function)
也可以手动操作:用连字符替换空格。
这里有一个活生生的例子
这可能是过时的线程,但创建内部文档链接markdown在Github使用… (注意:小写#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
在我的情况下,我正在寻找一个没有Pandoc的TOC解决方案。每个TOC条目都包含一个指向标题的链接,格式为[显示名称](#-url- formatting - Name -of-header)
对于2个缩进级别的简单情况,
1. [Installation](#1-installation)
1.1. [Minimum System Requirements](#11-minimum-system-requirements)
1.2. [Prerequisites](#12-prerequisites)
结果:
安装 1.1. 系统最低要求 1.2. 先决条件
对于包含3个或更多缩进级别的一般多级编号列表,列表无法在第3级或更高级别进一步缩进(例如1.3.2.)。相反,我能找到的最好的解决方案是使用>>>来格式化嵌套的blockquotes。
## Table of Contents
>1. [Installation](#1-installation)
>>1.1. [Minimum System Requirements](#11-minimum-system-requirements)
>>1.2. [Prerequisites](#12-prerequisites)
>>>1.2.1. [Preparation of Database Server](#121-preparation-of-database-server)
>>>1.2.2. [Preparation of Other Servers](#122-preparation-of-other-servers)
>>
>>1.3. [Installing – Single Server](#13-installing-single-server)
>>1.4. [Installing – Multi Server](#14-installing-multi-server)
>>>1.4.1. [Database Server](#141-database-server)
>>>...
结果在GitHub上很好地渲染TOC。不能渲染它在这里没有SO的linter抱怨未格式化的代码。
注意1.2.2之后的空白条目。 如果没有空白条目,下面的行仍然停留在第3个blockquote缩进级别。
相比之下,项目列表只使用空格或制表符作为缩进标记
## Table of Contents
- [Installation](#1-installation)
- [Minimum System Requirements](#11-minimum-system-requirements)
- [Prerequisites](#12-prerequisites)
- [Preparation of Database Server](#121-preparation-of-database-server)
- [Preparation of Other Servers](#122-preparation-of-other-servers)
- [Installing – Single Server](#13-installing-single-server)
- [Installing – Multi Server](#-installing-multi-server)
- [Database Server](#141-database-server)
- ...
结果:
目录
安装 系统最低要求 先决条件 数据库服务器准备 其他服务器准备 安装—单机 安装-多服务器 数据库服务器 ...
所有上述缩进列表将成功链接到以下标题在GitHub markdown(标题无法链接在so风味markdown出于某种原因)-
# 1. Installation
## 1.1. Minimum System Requirements
## 1.2. Prerequisites
### 1.2.1. Preparation of Database Server
### 1.2.2. Preparation of Other Servers
## 1.3. Installing – Single Server
## 1.4. Installing – Multi Server
### 1.4.1. Database Server
试验,我发现了一个解决方案使用<div…/>,但一个明显的解决方案是在页面中放置自己的锚点,无论你喜欢,因此:
<a name="abcde">
之前和
</a>
在你想要“链接”到的行之后。然后是一个降价链接:
[link text](#abcde)
文档中的任何地方都可以。
<div…/>解决方案插入一个“假”除法只是为了添加id属性,这可能会破坏页面结构,但<a name="abcde"/>解决方案应该是非常无害的。
(PS:把锚点放在你想链接的行中也可以,如下所示:
## <a name="head1">Heading One</a>
但这取决于Markdown如何处理。我注意到,例如,Stack Overflow答案格式化器很高兴这样!)