我有一个使用collections
的{{1}}的Jekyll网站。它托管在Gitlab上。我在collection
目录中有一个名为relBase.html
的文件,其代码如下:
_includes
我在{% comment %}
Credits: Ketrel - https://gist.github.com/Ketrel/1f36fca6b4148f7263b3ee8fdb0923e7
{% endcomment %}
{% assign relBase = "" %}
{% assign tempDepth = page.url | split: "/" | size | minus: 1 %}
{% for i in (1..tempDepth) %}
{% assign relBase = relBase | append: "../" %}
{% endfor %}
{% if relBase == "" %}
{% assign relBase = "./" %}
{% endif %}
目录中有2个文件:_layouts
和default.html
。
collection.html
使用布局collection.html
。
我在default.html
中将relBase.html
中的default.html
包括在{% include relBase.html %}
中。
我在<link>
中有<script>
和default.html
标记,它们链接到该站点的CSS和JS。
我分别在{{ relBase }}
和href
标签的src
和<link>
属性中使用了<script>
变量,它们工作正常。
在_config.yml
中,我设置了:
collections:
collection:
output: true
permalink: /collection/:title/
defaults:
-
scope:
path: ""
type: "collection"
values:
layout: "collection"
因此,存储在_collection
目录中且扩展名为.md
且具有前题的所有文件都呈现到网页中,并使用collection.html
布局。
现在,我想在{{ relBase }}
中使用collection.html
,但并没有得到期望的结果,而是表现得好像没有在其中写任何{{ relBase }}
一样。
如果我在relBase.html
中包含collection.html
,则{{ relBase }}
将被识别并按预期工作。
我什至尝试将relBase.html
重命名为relBase.liquid
,并在default.html
中对include标签进行了适当的更改。
那么对包含文件的范围有某种限制吗?有没有办法防止重复使用include标签?