如何在Jekyll中使用Liquid生成的JSON作为“ _data” site.data对象?

问题描述

使用Liquid,我试图构建一个JSON对象(skills.json),其中包含我所有Jekyll帖子中的数据。

当我将此文件放置到https://jekyllrb.com/docs/datafiles/的项目根目录的_data文件夹中时,尝试通过带有检查过滤器或控制台日志的site.data.skills访问数据将无法解决任何问题。

final output section of my Liquid json

当我将我的skills.json文件放在根目录下的/assets/js/文件夹中时,确实看到正确填充的JSON文件已按预期添加到我的_site文件夹中。将此新文件复制到根_data文件夹中后,将按预期成功填充到我的页面,并且我可以使用site.data.skills.KEY访问所有数据。

json generated from assets folder at build time

有什么方法可以指定将skills.json文件夹中生成/assets/js/用作数据调用的源吗?

或者,有没有一种方法可以生成最终数据,并在构建站点之前将其自动移动到_data文件夹中?我愿意接受有关如何实现此自动化的任何建议。作为警告,我通常对Web开发还很陌生,因此任何参考或链接都将为您带来巨大的帮助。谢谢!

解决方法

在此之后,我认为问题在于网站的构建方式。 skills.json文件是在第一个构建版本中生成的,然后将其添加到_data文件夹中时,将再次构建该站点以更新命中该数据的所有内容。通过这种迭代过程,我不知道是否有可能同时生成新文件并将其用作更新与数据有关的所有内容的源。

就自动化而言,我的想法是要使用Ruby插件将新生成的文件与_data文件夹进行比较,并在来源不同/更新时覆盖,这是可行的方法,但是我仍然欢迎任何建议!