在 jekyll 的 {{ path.url }} 中获取输出

问题描述

在 jekyll 站点中,我创建了包含内容页面 categories.html

---
layout: default
permalink: /categories
title: Categories
---
{% assign current_cat = {{ page.url }} | split: "/" | last %}
{% assign posts = site.categories[current_cat] %}
<ul>
    {% for post in posts %}
    <li><a href="{{post.url | absolute_url}}">{{post.title}}</a></li>
    {% endfor %}
</ul>

然后我想列出所有类别的帖子(页面中只发布 1 个类别)

示例:

-> request: http://127.0.0.1:4000/categories/cat1
=> result: {{ path.url }} is `/categories`
=> but i want: {{ path.url }} is `/categories/cat1`

有什么想法吗?

谢谢!!

解决方法

您正在创建一个页面,并且 URL 是从您的前端固定链接设置的。您可以将此页面转换为布局,然后使用该布局为您想要的每个类别创建页面。

或者,您可以使用这个官方插件来实现相同的功能:https://github.com/jekyll/jekyll-archives