Jekyll页面内部链接

19

我正在Github上使用Jekyll,我想知道是否有一种方法可以链接到页面内的某个部分。例如我有一个部分如下:

## Section 1 ##
section content 
同一页面上后面需要链接到这个部分。我已经找到如何链接博客内的另一个页面创建脚注,但是不知道如何做这个。
需要注意的是,在_config.yml中,我使用markdown: kramdown
5个回答

25

kramdown支持自动生成标题ID,如果选项auto_ids设置为true(默认值),则会执行此操作。这是通过转换未转换的普通标题文本完成的。

因此,在上面的示例中## Section 1 ##,它将生成以下ID:id="section-1",然后通过A元素链接到锚点:

<A href="#section-1">Section One</A>

或者用简单的 Kramdown/Markdown 格式:[第一节](#section-1)


通常情况下,您不需要其他任何东西,只需要像“first-section”这样的自动生成的ID来表示“第一节”标题即可。好答案。 - kludg

5

看起来现在已经改为 #heading-section-1(现在正在检查 Jekyll 3.7.3)。

如果您想自己弄清楚这个问题,您可以检查该元素并查看在渲染页面上使用的 ID。


1
我发现一个很好的代码库,可以通过三个简单的步骤为所有标题添加锚点。
根据文档
  1. 主分支下载anchor_headings.html文件。

  2. 将该文件放入您的_includes文件夹中。

  3. 在您的布局中通常会放置{{ content }}的地方,您可以使用此Liquid标签输出页面内容:

    {% include anchor_headings.html html=content anchorBody="#" %}

结果如下:

enter image description here

这很容易自定义

0
如果你要跳转到页面的某个部分,但该部分不是一个节标题,那么这个被接受的答案对我不起作用。以下方法对我奏效:
[jump](#final-solution)


<div id="final-solution"></div>

0
我找到了一个在我当前的Jekyll静态网站上运行的替代方案。
## My Subsection {#my-subsection}    

This is some content in the subsection.

[Link to the subsection](#my-subsection)

希望能有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接