嵌套的Jekyll液体对象可在今天之前提取_data文件

问题描述

我有一个Jekyll网站,该网站的_data目录中充满了按日期组织的文件

/_data/
   mydata_2020-08-28.json
   mydata_2020-08-29.json
   mydata_2020-08-30.json
   mydata_2020-08-31.json

我想根据今天的日期从这些文件提取数据,但是我似乎不太正确。

假设我要从{{ site.data.mydata_2020-08-31.somefield }}提取数据,但是我想使用(YYYY-MM-DD)动态生成日期{{ 'Now' | date: "%Y-%m-%d" }}作为今天的日期。我需要将日期对象插入到数据文件对象中,但是找不到解决方法

我尝试过:

{{ site.data.mydata_{{ 'Now' | date: "%Y-%m-%d" }}.somefield }}

但它会返回我的液体对象的截断结尾:

.somefield

我尝试:

{{site.data.mydata_| append: 'Now' | date: "%Y-%m-%d" | append:.somefield}}

它返回今天的日期:

2020-08-31

我还阅读了https://shopify.github.io/liquid/上的大多数文档,但也许我忽略了某些内容

解决方法

如果要根据情况选择日期,请尝试以下操作:

{% assign today_data = 'now' | date: "%Y-%m-%d" | prepend: 'mydata_' %}

# You can fetch data file with particular date as follows:
{{ site.data[today_data] }}

注意:.somefield无法通过上述方法获取。