将 Jekyll Liquid 变量(字符串)转换为 _data 文件路径

Convert a Jekyll Liquid variable (string) to _data file path

我正在 Github 页面上构建 Jekyll 站点。我有一个 Github 操作,将每天的新数据传送到我的 _data/ 文件,带有今天的时间戳:

_data/
   somedata_YYYYMMDD.json

我可以通过几种方式构造一个变量来捕获今天数据文件的文件名:

{% assign today_data = 'now' | date: "%Y%m%d" | prepend: 'site.data.somedata_' %}

{% capture today_data %}
site.data.somedata_{{ 'now' | date: "%Y%m%d" }}
{% endcapture %}

在这两种情况下,如果我尝试使用 today_data 变量,Liquid 会将其解释为惰性字符串,而不是 a pointer to a liquid object。所以,如果我尝试 {{today_data}},我会得到字符串“site.data.somedata_20200902”,但我希望它 return json 的内容文件。

我咨询了其他几个问题,但他们似乎没有正确适用于这种情况:

快到了,在这两种情况下都是一个字符串。所以它是有效的:

{{ 'site.data.somedata_YYYYMMDD' }}

相反,您可以这样做来访问和打印对象:

{% assign today_path = 'now' | date: "%Y%m%d" | prepend: 'somedata_' %}
{{ site.data[today_path] | jsonify }}

这样您就可以访问 site.data 对象,并动态构建 key/path.