这是插件代码...
module Jekyll
module VersionFilter
def versioned_url(input)
"#{input}?#{Time.now.to_i}"
end
end
end
Liquid::Template.register_filter(Jekyll::VersionFilter)
我正在尝试缓存我的 .css 文件的失败/版本控制。我是液体新手。我无法弄清楚这个基本插件。有什么帮助吗?
您需要将 version.rb 放入 Jekyll 站点根目录下的 _plugins/ 目录中。如果您没有 _plugins/ 目录,请创建一个。
对于使用 - 它看起来提供了一个可以应用于文本的新过滤器 - 因此您可以在模板中使用它来过滤对 CSS 文件的引用,添加查询字符串以便它们不会被缓存 - 但我'确定无论您从哪里获得代码,都会有更多信息。
对于它的价值,使用查询字符串打破缓存并不是最好的解决方案。最好编写一个插件,在实际文件名中添加一个新字符串,然后将该字符串添加到模板中包含这些资产的 url 中——但这有点复杂。
如果您可以选择使用现有插件进行静态资产版本控制,请尝试jekyll-minibundle。
假设您保留未标记的 CSS 文件_styles
(注意 _,因为您不希望将这些文件导出到生产站点)并希望标记的 CSS 文件出现在 中css
,请执行以下操作:
<link href="{% ministamp _styles/site.css css/site.css %}" rel="stylesheet" media="screen, projection">
与指南针结合使用效果很好,只需将指南针导出到_styles
.