将Jekyll液体变量(字符串)转换为_数据文件路径
我正在Github页面上构建一个Jekyll站点。我有一个Github操作,它将新鲜的每日数据发送到我的_数据/文件,并带有今天的时间戳:将Jekyll液体变量(字符串)转换为_数据文件路径,jekyll,github-pages,liquid,Jekyll,Github Pages,Liquid,我正在Github页面上构建一个Jekyll站点。我有一个Github操作,它将新鲜的每日数据发送到我的_数据/文件,并带有今天的时间戳: _data/ somedata_YYYYMMDD.json 我可以通过几种方式构造变量来捕获当前数据文件的文件名: {% assign today_data = 'now' | date: "%Y%m%d" | prepend: 'site.data.somedata_' %} 或 在这两种情况下,如果我尝试使用today_数据
_data/
somedata_YYYYMMDD.json
我可以通过几种方式构造变量来捕获当前数据文件的文件名:
{% assign today_data = 'now' | date: "%Y%m%d" | prepend: 'site.data.somedata_' %}
或
在这两种情况下,如果我尝试使用today_数据变量,Liquid会将其解释为惰性字符串,而不是惰性字符串。因此,如果我尝试{today_data}}
,我会得到字符串“site.data.somedata_20200902”,但我希望它返回json文件的内容
我咨询了其他几个问题,但它们似乎不适用于这种情况:
- -此人将变量用作标记中的字符串。我需要将变量解释为数据对象的路径
- -此人还创建了一个变量,用作标记中的字符串
- -同样,我认为:在标记中使用变量作为字符串
- -此人正在过滤标签的输出
- 差不多了,这两种情况下都是字符串。因此,它有效地:
{{ 'site.data.somedata_YYYYMMDD' }}
相反,您可以这样做来访问和打印对象:
{% assign today_path = 'now' | date: "%Y%m%d" | prepend: 'somedata_' %}
{{ site.data[today_path] | jsonify }}
通过这种方式,您可以访问site.data
对象,并动态构建键/路径
{% assign today_path = 'now' | date: "%Y%m%d" | prepend: 'somedata_' %}
{{ site.data[today_path] | jsonify }}