File: jekyll-include-cache.rb

package info (click to toggle)
ruby-jekyll-include-cache 0.2.1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 188 kB
  • sloc: ruby: 267; sh: 5; makefile: 4
file content (27 lines) | stat: -rw-r--r-- 625 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# frozen_string_literal: true

require "jekyll"

module JekyllIncludeCache
  autoload :Tag,   "jekyll-include-cache/tag"
  autoload :Cache, "jekyll-include-cache/cache"

  class << self
    def cache
      @cache ||= if defined? Jekyll::Cache
                   Jekyll::Cache.new(self.class.name)
                 else
                   JekyllIncludeCache::Cache.new
                 end
    end

    def reset
      JekyllIncludeCache.cache.clear
    end
  end
end

Liquid::Template.register_tag("include_cached", JekyllIncludeCache::Tag)
Jekyll::Hooks.register :site, :pre_render do |_site|
  JekyllIncludeCache.reset
end