Jekyll Markdown 内部链接

Jekyll 使用 Markdown 格式的链接,但是我怎样才能链接到内部内容呢?

[[link]]
75752 次浏览

你现在可以通过以下方式发布内部链接:

[Some Link]({% post_url 2010-07-21-name-of-post %})

这也在 Jekyll 文件中引用。

Https://github.com/mojombo/jekyll/pull/369

对于页面,是 他们决定不添加 page_url标签,因为无论如何您都必须知道页面的路径。所以你只需要手动链接它:

[My page](/path/to/page.html)

或者,如果你想程序化地得到页面的标题,你也可以做一些像这样又大又丑的事情:

{% for page in site.pages %}
{% if page.url == '/path/to/page.html' %}
[\{\{ page.title }}](\{\{ page.url }})
{% endif %}
{% endfor %}

现在可以使用 link标签链接到文章以外的页面。link适用于文章、页面、集合中的文档和文件。

\{\{ site.baseurl }}{% link _collection/name-of-document.md %}
\{\{ site.baseurl }}{% link _posts/2016-07-26-name-of-post.md %}
\{\{ site.baseurl }}{% link news/index.html %}
\{\{ site.baseurl }}{% link /assets/files/doc.pdf %}

在使用 link标记时,请记住包含文件扩展名。 使用它创建链接:

[Link to a document](\{\{ site.baseurl }}{% link _collection/name-of-document.md %})
[Link to a post](\{\{ site.baseurl }}{% link _posts/2016-07-26-name-of-post.md %})
[Link to a page](\{\{ site.baseurl }}{% link news/index.html %})
[Link to a file](\{\{ site.baseurl }}{% link /assets/files/doc.pdf %})

参见 Jekyll 文件

Jekyll 有多种连接方式,其中一些现在已经过时。

还有链接标签

链接到内部文件的推荐方法是

[Link](\{\{ site.baseurl }}{% link path/to/file.md %})

注意,如果文件移动或被删除,这将导致错误。

永久链接

链接到一个页面而不引起错误(改为中断链接) :

[Link](\{\{ '/path/to/page/' | relative_url }})

注意,这里您需要知道页面的永久链接,并通过 relative_url过滤器传递它,以确保它是以站点的基本 URL 作为前缀的。

页面的永久链接取决于配置文件中的 permalink设置和文件前端的 permalink键。

和 Jekyll 的亲戚联系在一起

如果希望使用相对路径(并希望链接在 GitHub 的降价视图中工作) ,应该使用 jekyll-relative-links。这可以让你写下如下链接:

[Link](./path/to/file.md)


[Link to file in parent folder](../file.md)

如果 内部内容在同一个页面上,那么可以使用 auto_ids特性链接到它。在 _config.yml中启用此选项:

kramdown:
auto_ids: true

启用此选项后,每个标题将根据标题文本获得一个 id参考

### My Funky Heading

将成为

<h3 id="my-funky-heading">My Funky Heading</h3>

您可以在同一个文档中通过以下方法链接到该文档:

The funky text is [described below](#my-funky-heading)

如果你愿意,你可以分配一个明确的 id:

### My Funky Heading
{: #funky }

并与之相连

The funky text is [described below](#funky)

假设这是您的项目目录:

project directory

要将“ index.md”链接到文件夹“ blog”中名为“20190920-post1.md”的文件,请执行以下操作:

  1. 打开文件“ index.md”。
  2. 加入以下内容:

    [任何文本](./相对路径)

例如:

- [Sept 20th 2019 - Kikucare's Journey](./blog/20190920-post1.md)

产出:

enter image description here

在 Jekyll 3.9. x 中工作:

HTML: <a href="\{\{ '/blog/' | relative_url }}">Link to blog</a>