我一直在玩Jekyll一段时间。在某些情况下,我觉得功能有限。所以我打算以这种方式扩充我的网站:
修复必填字段后,任务很简单。例如人们可能会使用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"}
至少有两个问题:
date
。 希望有人能指出相关资源和以前的试验。
非常感谢。
(这是jekyll-rb Google Group的重定向以获得更快的响应)
相关问题:
答案 0 :(得分:3)
对于遇到这种情况的人,试图找到一种方法将任何Jekyll的YAML数据(从Frontmatter或_data中的文件)转换为模板中的JSON:
Jekyll有一个名为jsonify
的过滤器。超级简单直接。 https://jekyllrb.com/docs/templates/
文档示例:
{{ site.data.projects | jsonify }}
答案 1 :(得分:0)
我遇到了和你一样的问题,并设法找到一个Jekyll插件来帮忙。它并不完美(我不知道是否有阵列支持)但它的效果非常好。
以下是链接:https://github.com/matthewowen/jekyll-json
基本上只需将ruby文件放在/ _plugins目录中。我还发现你必须在_config.yml文件中输入至少一个值,然后将其添加到为各自的帖子页面创建的每个对象中