Jekyll/Liquid相对URL筛选器断开链接
我正在尝试在我的Jekyll主题的大多数链接中使用相对url,所以如果有人想让这个主题在子目录中工作,他可以这样做。 我对文章的分类列表有一个问题,每个分类都应该链接到档案 在_layouts/post.html中,我有以下代码:Jekyll/Liquid相对URL筛选器断开链接,jekyll,liquid,Jekyll,Liquid,我正在尝试在我的Jekyll主题的大多数链接中使用相对url,所以如果有人想让这个主题在子目录中工作,他可以这样做。 我对文章的分类列表有一个问题,每个分类都应该链接到档案 在_layouts/post.html中,我有以下代码: {% if site.data.settings.categories.active %} {% include categories.html %} {% endif %} categories.html包含以下代码: <div class="categ
{% if site.data.settings.categories.active %}
{% include categories.html %}
{% endif %}
categories.html包含以下代码:
<div class="categories">
<span><p>Categories:</p>
{% if post %}
{% assign categories = post.categories %}
{% else %}
{% assign categories = page.categories %}
{% endif %}
{% for category in categories %}
<a href="{{ "/categories/#{{category | slugify}}" | relative_url}}">{{category}}</a>
{% unless forloop.last %} {% endunless %}
{% endfor %}
</span>
</div>
问题是:
<a href="{{ "/categories/#{{category | slugify}}" | relative_url}}">{{category}}</a>
不知何故,这会返回当前的帖子url
<a href="/categories/#{{category | slugify}}">{{category}}</a>
这将返回正确的链接,但在站点位于子目录中时不起作用
为什么它返回post url 这里有很多问题 首先,Liquid不计算嵌套构造。 因此,以下代码:
{{ "/categories/#{{category | slugify}}" | relative_url}}
需要改写为:
{% capture url %}/categories/{{ category | slugify }}{% endcapture %}
{{ url | relative_url }}
其次,没有全局post对象。因此{%if post%}的计算结果总是负值。i、 例如,它是多余的