2

我一直在玩 Jekyll 一段时间。在某些情况下,我觉得功能有限。所以我计划以这种方式扩充我的网站:

  • 只使用 Jekyll 渲染一些固定的和基础的组件(向后兼容不支持 JS 的环境)。
  • 使用 Jekyll 输出元数据,例如 XML 或 JSON。
  • 使用客户端JS和元数据提供更丰富的功能。

当必填字段固定后,任务就很容易了。例如,人们可以使用 Jekyll 来生成 RSS (xml) 提要吗?有些人使用 Jekyll 生成搜索索引(带有“标题”、“日期”等的 xml)。

现在我想给我的模板的最终用户更多的自由,所以我不限制在 YAML 前端使用的字段。有没有一种方便的方法可以将完整的 YAML 前端转换为 JSON 到 XML 格式?

我没有在 Jekyll 或 Liquid 手册中找到对转储完整 YAML 前端的支持。如果我{{ page }}直接输出,结果如下:

{"name"=>"Google", "date"=>#, "link"=>"http://google.com/", "open_source"=>false, "open_format"=>false, "rate_use"=>10, "rate_quality"=>9, "tags"=>["Google", "Search Engine", "Information Retrieval"], "language"=>"en", "layout"=>"default", "mathjax"=>false, "url"=>"/sample/google.html", "content"=>"The search engine I use everyday. \n\n"}

至少有两个问题:

  • 我需要 JS 中的 ruby​​-to-JSON/XML 转换器。(或解析器直接将其读取为 JS 数据结构)。
  • 某些字段输出不正确,例如date.

希望有人可以向我指出相关资源和以前的试验。

非常感谢。

(这是来自jekyll-rb Google Group的重定向以获得更快的响应)

相关问题:

4

2 回答 2

11

对于任何遇到这种情况的人,试图找到一种方法将 Jekyll 的任何 YAML 数据(来自 Frontmatter 或来自 _data 中的文件)转换为模板中的 JSON:

Jekyll 有一个过滤器,叫做jsonify. 超级简单直接。https://jekyllrb.com/docs/templates/

文档中的示例:

 {{ site.data.projects | jsonify }}
于 2017-07-10T18:19:45.837 回答
0

我和你有同样的问题,并设法找到了一个 Jekyll 插件来帮忙。它并不完美(我不知道是否有数组支持)但效果很好。

这是链接:https ://github.com/matthewowen/jekyll-json

基本上只需将 ruby​​ 文件放在 /_plugins 目录中。我还发现您必须在 _config.yml 文件中输入至少一个值,然后将其添加到您为各自的帖子页面创建的每个对象中

于 2013-09-29T20:40:29.267 回答