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



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

当我将此文件放在每个 https://jekyllrb.com/docs/datafiles/的项目根目录中的_data文件夹中时,尝试使用检查过滤器或控制台日志通过site.data.skills访问数据将变为任何内容。

我的液体 json 的最终输出部分

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

在构建时从资产文件夹生成的 JSON

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

或者,有没有办法在构建站点之前生成最终数据并将其自动移动到_data文件夹中?我愿意接受有关如何自动化的任何建议。作为警告,我对Web开发一般都很陌生,所以任何参考或链接都会有很大的帮助。谢谢!

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

就自动化而言,我的想法是,一个 Ruby 插件将新生成的文件与_data文件夹进行比较,并在源不同/更新时覆盖将是要走的路,但我仍然愿意接受任何建议!

最新更新