如何将 Liquid 数组转换为 Javascript 数组?

How to convert Liquid array to a Javascript array?

在我的 Jekyll 站点中,我想从 _data/stocks.yml 加载数据并在 Chart.js 支持的图表中使用这些数据。 Chart.js 接受图表数据集和标签作为简单的 Javascript 数组。有没有一种简单的方法可以将 Liquid 数组转换为 Javascript 数组或映射?

我尝试这样做:var months = {{ site.data.stocks.yml | json }} 但我认为这只适用于个人 strings/variables 而不是集合结构。

_data/stocks.yml 文件:

- month: Jan '20
  portfolio: '-4.5'
  spy: '-0.16'
- month: Feb '20
  portfolio: '-19.2'
  spy: '-8.41'
- month: Mar '20
  portfolio: '-19.1'
  spy: '-12.51'

我认为您要完成的工作存在两个问题。

首先,根据jekyll documentation,您应该访问格式为site.data.datafile 且没有扩展名.yml 的数据文件。在您的情况下,您将使用 {{ site.data.stocks }}

访问您的数据

第二个是转换为json的jekyll(液体)过滤器是| jsonify,而不是| json。因此,要将您的股票数据文件转换为 json,您可以使用 {{ site.data.stocks | jsonify }}