如何在 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
我的 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