0

这是插件代码...

module Jekyll
  module VersionFilter
    def versioned_url(input)
      "#{input}?#{Time.now.to_i}"
    end
  end
end

Liquid::Template.register_filter(Jekyll::VersionFilter)

我正在尝试缓存我的 .css 文件的失败/版本控制。我是液体新手。我无法弄清楚这个基本插件。有什么帮助吗?

4

2 回答 2

0

您需要将 version.rb 放入 Jekyll 站点根目录下的 _plugins/ 目录中。如果您没有 _plugins/ 目录,请创建一个。

对于使用 - 它看起来提供了一个可以应用于文本的新过滤器 - 因此您可以在模板中使用它来过滤对 CSS 文件的引用,添加查询字符串以便它们不会被缓存 - 但我'确定无论您从哪里获得代码,都会有更多信息。

对于它的价值,使用查询字符串打破缓存并不是最好的解决方案。最好编写一个插件,在实际文件名中添加一个新字符串,然后将该字符串添加到模板中包含这些资产的 url 中——但这有点复杂。

于 2012-11-17T13:06:59.353 回答
0

如果您可以选择使用现有插件进行静态资产版本控制,请尝试jekyll-minibundle

假设您保留未标记的 CSS 文件_styles(注意 _,因为您不希望将这些文件导出到生产站点)并希望标记的 CSS 文件出现在 中css,请执行以下操作:

<link href="{% ministamp _styles/site.css css/site.css %}" rel="stylesheet" media="screen, projection">

与指南针结合使用效果很好,只需将指南针导出到_styles.

于 2013-01-26T12:58:46.203 回答