将Jekyll液体变量(字符串)转换为_数据文件路径

将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_数据

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

_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 }}