如何更改Jekyll生成的文件的扩展名?

时间:2013-01-02 09:42:55

标签: ruby jekyll

如何使用Jekyll生成不是* .html 文件但是使用其他扩展名生成文件?我想用 rb 插件修补它。有可能吗?

我试过这个(谷歌搜索过),但它不起作用:

module Jekyll

  # Extensions to the Jekyll Page class.

  class Page

    def output_ext(ext)
      ".myext"
    end

  end
end

2 个答案:

答案 0 :(得分:1)

如果您想要使用扩展名为“_sites/的输出”,则只能使用pages个文件 - 他们没有使用配置中的permalink,所以这些文件将具有您为其提供的相同扩展名。

因此,最小的集合是项目根目录下的文件page.my-ext,具有YAML前端(可能为空),如下所示:

---
---

Foo

这样的文件对于Jekyll是可见的,你可以在里面使用任何液体标记,或者使用任何布局,然后这个文件将保存到_sites/,其名称与之前相同。 / p>

您无法在/_posts/中使用此类文件,因为当设置permalink时,Jekyll仅将文件保存为.html

带有转换器的自定义插件适用于我,但也适用于简单页面 - 来自/_posts/的帖子仍然是.html,因此它似乎是硬编码的。

所以,现在唯一的方法是使用简单的页面而不是帖子。如果你想像帖子那样迭代所有这些页面,你应该阅读Jekyll Bootstrap的pages_list module是如何制作的 - 我认为它是这样的。

答案 1 :(得分:1)

编辑:

在此处找到溶剂: http://jekyllrb.com/docs/permalinks/

您可以在标记帖子中指定固定链接。遗憾的是,如果在_config.yml

中指定,它将无法工作

根据我的测试,如果您输入:

    永久链接:/whatever/filename/with/arbitrary.xtension

在标记帖子中,您的索引文件将命名为" arbitrary.xtension"并放在文件夹中: /不管/文件名/带/

对于文件内容需要与扩展程序保持一致的其他应用程序,此插件可能对您有所帮助: https://github.com/fauno/jekyll-pandoc-multiple-formats