如何在 Jekyll 中动态创建链接?

How to I create links dynamically in Jekyll?

我的 Jekyll 项目中有一个项目集合,我想 link 每个文档项。我有一个项目包括我想做的地方。目前,我可以遍历每个项目并通过执行以下操作访问前端属性:

{% for project in site.projects %}
  <h4>{{ project.title }}</h4>
  <p class="text-muted">{{ project.subtitle }}</p>
{% endfor %}

我现在可以 link 使用 <a> 标签:

<a href="{{ site.baseurl }}{% link _projects/1.md %}">

但我想动态地做。

您可以通过其 url 属性访问集合下页面的 url。

所以在你的情况下你应该这样调整你的代码:

{% for project in site.projects %}
  <h4>{{ project.title }}</h4>
  <p class="text-muted">{{ project.subtitle }}</p>
  <a href="{{ project.url }}">See this project</a>
{% endfor %}

给定结构:

.
└── _projects
    ├── project-a.md
    └── project-b.md

这会给你

  • /projects/project-a.html
  • /projects/project-b.html

如果您不喜欢这些并且想要自定义集合的 URL,您可以在 _config.yml.
中定义的集合的 permalink 属性中 此行为有自己的文档页面:https://jekyllrb.com/docs/permalinks/

鉴于此配置 __config.yml_

collections:
  projects:
    permalink: /:collection/:name

完全相同的结构现在将给我

  • /projects/project-a
  • /projects/project-b