从Liquid和Markdown而不是HTML生成Jekyll页面

时间:2013-03-19 20:25:05

标签: ruby markdown jekyll liquid

我正在使用他们的文档(https://github.com/mojombo/jekyll/wiki/Plugins#generators)的Jekyll插件部分的示例生成器的略微修改版本,我很好奇是否有任何方法来解析液体/降价文件而不是普通文件示例中的HTML文件?

注意这一行:

self.read_yaml(File.join(base, '_layouts'), 'category_index.html')

该类别index.html文件是将在生成的文件中使用的目标文件。我的目标是能够从我的_config文件中将对象传递给我的生成器,然后我可以使用它从.markdown文件构建一堆页面。有谁知道这是可能的还是有任何建议来实现这一目标?我查看了用于在内部解析markdown的Kramdown库,我不反对自己调用它,如果必须的话,我不确定我是否比我需要更深入的东西应该如此简单。我的生成器创建的Page对象的API位于:http://ruby-doc.org/gems/docs/j/jekyll-0.12.0/Jekyll/Page.html

非常感谢, - 基思

1 个答案:

答案 0 :(得分:0)

您可以在生成器中从几乎任何数据源生成几乎任何所需的格式,因为您可以直接编写Ruby,并可以完全访问Jekyll对象模型。例如,这是一个我把fetches GitHub commits during jekyll build

的夜晚放在一起的发电机

我要问的问题是:

  1. 我需要一个插件才能完成此任务吗?
  2. 如果是这样,我是否需要正式的生成器插件,如Jekyll docs
  3. 中所述
  4. 或者我应该进行子类化,猴子补丁还是以其他方式更改内置生成器的行为?
  5. 此外,在此上下文中Markdown和HTML文件之间的差异(您控制100%生成的内容)大多数都是名义上的。 read_yaml IIRC实际上会从两者中读出前面的内容,所以这不应成为问题。