如何动态分配 _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 %}

现在构建不会失败。