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

标签 ruby jekyll

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

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

module Jekyll

  # Extensions to the Jekyll Page class.

  class Page

    def output_ext(ext)
      ".myext"
    end

  end
end

最佳答案

如果您希望“直接”将扩展名输出到 _sites/,则只能使用 pages 文件 - 它们不使用 从配置中添加永久链接,因此这些文件将具有您赋予它们的相同扩展名。

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

---
---

Foo

这样的文件对 Jekyll 来说是可见的,你可以在里面使用任何液体标记,或者使用任何布局,然后这个文件将被保存到同名的 _sites/ 中是之前。

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

带有转换器的自定义插件适用于我,但也仅适用于简单页面 - 来自 /_posts/ 的帖子仍然得到 .html,所以看起来它在那里被硬编码.

所以,现在唯一的方法是使用简单的页面而不是帖子。如果您想像处理帖子一样遍历所有此类页面,您应该阅读 pages_list module 如何使用来自 Jekyll Bootstrap 的制作——我认为是这样的。

关于ruby - 如何更改 Jekyll 生成的文件的扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14119772/

相关文章:

ruby-on-rails - 如何居中截断字符串?

ruby-on-rails - Ruby:如何向调用的数组中的每个子数组元素添加特定键并为其分配特定值?

jekyll - 排除基于 JEKYLL_ENV 的文件?

jekyll - Pygments:使用未知/不受支持的语言

jekyll - 当 Jekyll 帖子没有图片时,如何获取该帖子的缩略图?

ruby - 带有 Resque : enqueuing jobs with uninteded arguments 的 ActiveJob

ruby-on-rails - 如何在 Rails 中使用空格作为 '%20' 而不是 '+' 获取 url 的参数

ruby-on-rails - 将数据从哈希保存到 YAML 文件

javascript - 添加到 Jekyll 社交分享按钮

css - 让 Jekyll 在任何目录中处理 Sass?