如何动态分配 _data 变量?
How to dynamically assign _data variable?
我正在使用 staticman 在我的博客上启用评论。它将评论放在 _data
文件夹中。我的文件夹结构如下所示:
_data/
comments/
blog-post-1/
entry1542891129928.yml
...
blog-post-2/
entry1542891129928.yml
...
...
在我的 _layouts/post.html
中,我想访问特定博客的评论。这是我希望获得评论的代码:
{% assign comments = site.data.comments[page.slug] | sort %}
但是当我 运行 构建时,出现以下错误:
Liquid Exception: Liquid error (line 39): Cannot sort a null object. in /_layouts/post.html
这似乎与 page.slug
有关,因为如果我用字符串 'blog-post-1' 替换它,它就可以工作。
如何在 post.html 中动态获取 post slug?
问题解决了!
问题是文件夹不存在。我通过移动排序过滤器来规避此问题:
{% assign comments = site.data.comments[page.slug] %}
{% if comments %}
{% assign comments = comments | sort %}
...do things...
{% endif %}
现在构建不会失败。
我正在使用 staticman 在我的博客上启用评论。它将评论放在 _data
文件夹中。我的文件夹结构如下所示:
_data/
comments/
blog-post-1/
entry1542891129928.yml
...
blog-post-2/
entry1542891129928.yml
...
...
在我的 _layouts/post.html
中,我想访问特定博客的评论。这是我希望获得评论的代码:
{% assign comments = site.data.comments[page.slug] | sort %}
但是当我 运行 构建时,出现以下错误:
Liquid Exception: Liquid error (line 39): Cannot sort a null object. in /_layouts/post.html
这似乎与 page.slug
有关,因为如果我用字符串 'blog-post-1' 替换它,它就可以工作。
如何在 post.html 中动态获取 post slug?
问题解决了!
问题是文件夹不存在。我通过移动排序过滤器来规避此问题:
{% assign comments = site.data.comments[page.slug] %}
{% if comments %}
{% assign comments = comments | sort %}
...do things...
{% endif %}
现在构建不会失败。