Here is the plugin code…
module Jekyll
module VersionFilter
def versioned_url(input)
"#{input}?#{Time.now.to_i}"
end
end
end
Liquid::Template.register_filter(Jekyll::VersionFilter)
I am trying to cache bust/version control my .css file. I am new to Liquid. I am having trouble figuring out this basic plugin. Any help?
You need to put version.rb into the _plugins/ directory in the root of your Jekyll site. If you don’t have a _plugins/ directory, create one.
For usage – it looks like it gives a new filter that you can apply to text – so you’d use it in your templates to filter the references to your CSS files, adding the query string so that they aren’t cached – but I’m sure there’s more info on that wherever you got the code from.
For what it’s worth, breaking caches with querystrings isn’t the best solution. It’d probably be better to write a plugin that adds a new string to the actual filename, and then adds that string to the urls where those assets are included in the templates – but that is a bit more complex.