如何解决Jekyll 将包含文件中的自定义变量视为文件名
我有一个自定义变量,我将它传递到我的包含文件中,奇怪的是它被视为文件名。我不确定我做错了什么:
我包含我的组件:
{% include_relative includes/form/components/modal.html for="purpose" %}
而includes/form/components/modal.html
的内容是:
<div class="modal-custom modal-custom-white" data-modal-custom="{% include.for %}" data-modal-requires-update-button>
<div class="modal-custom-background bg-white"></div>
<div class="modal-custom-content p-3">
{% if include.title %}
<h5 class="font-weight-normal text-dark mb-3">{% include.title %}</h5>
{% else %}
<h5 class="font-weight-normal text-dark mb-3"><strong>Tap</strong> to choose:</h5>
{% endif %}
<!-- Modal content here -->
{% if include.content %}
{% include.content %}
{% endif %}
</div>
<button type="button" class="modal-custom-close is-large bg-light" onclick="toggleModal('purpose','close-retain');diposeExpandedToggler('purpose',true)"></button>
</div>
我正在运行最新版本的 Jekyll,版本 4.2.0,如果我删除 for
,则一切正常。我试过了:
- 重命名变量
- 清理缓存
- 以不同方式格式化变量,例如:
for=purpose
和for="purpose"
我在另一个组件中创建了类似的东西,那里一切正常,但我在这里得到的错误是:
液体异常:无法在任何 ["/Users/USER/Sites/MY-PROJECT/src/_includes"] 中找到包含的文件“.for”。确保它存在于这些目录之一中,并且如果它是符号链接,则不会指向您的站点源之外。在 icicle.html
这很奇怪。我错过了什么?
解决方法
您可能只需要使用输出标签 curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI0Smd1Y0t6NVZ4RWNnWXFXQW1yTnFCd0dITFJ5ekZxRGJYTHZ4NzRfZzY0In0.eyJqdGkiOiIzZmFiMjBmYy1mNDQ0LTQyY2EtYjA4MS04ZTBhYmUyNTBhZGUiLCJleHAiOjE2MTk0NjQ0OTMsIm5iZiI6MCwiaWF0IjoxNjE5NDY0MTkzLCJpc3MiOiJodHRwOi8vMTgwLjEzNS4xNjEuMTE6ODA4MC9hdXRoL3JlYWxtcy9tYXN0ZXIiLCJhdWQiOiJnZXRzdG9yZS1tb2JpbGUtdGVtcCIsInN1YiI6ImQ2NDMyMjcxLTA5MDQtNDlhOC1hZjMyLTVlYjZkM2UzMzE5MCIsInR5cCI6IkJlYXJlciIsImF6cCI6ImdldHN0b3JlLW1vYmlsZS10ZW1wIiwiYXV0aF90aW1lIjowLCJzZXNzaW9uX3N0YXRlIjoiNDQ1NzRiODUtZDI3Ny00OWZhLThmMjAtMGE5NTE0MTRiYWZkIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6W10sInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJ1bWFfYXV0aG9yaXphdGlvbiIsIkVTVEFCRUxFQ0lNRU5UTyJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sImNsaWVudElkIjoiZ2V0c3RvcmUtbW9iaWxlLXRlbXAiLCJjbGllbnRIb3N0IjoiMTAuMTgxLjExMi4yMTUiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJzZXJ2aWNlLWFjY291bnQtZ2V0c3RvcmUtbW9iaWxlLXRlbXAiLCJjbGllbnRBZGRyZXNzIjoiMTAuMTgxLjExMi4yMTUiLCJlbWFp' -d '{ ..... }' 'http://localhost:40070/log'
而不是非输出标签 {{ include.for }}
。此处的 {% include.for %}
和 include.title
也是如此。
您应该传递一个不带引号的变量,否则您将传递字符串文字 include.content
而不是 "purpose"
变量保存的值。
尽管无论如何它都可以工作,但我会尽可能避免使用 purpose
作为键,因为它是 Liquid 中使用的 for 循环关键字。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。