Module: JekyllIncludeCache

Defined in:
lib/jekyll-include-cache/cache.rb,
lib/jekyll-include-cache.rb,
lib/jekyll-include-cache/tag.rb,
lib/jekyll-include-cache/version.rb

Overview

A minimal in-memory cache exposing the subset of Jekyll::Cache's API we use

Defined Under Namespace

Classes: Cache, Tag

Constant Summary collapse

VERSION =
"0.3.0"

Class Method Summary collapse

Class Method Details

.cache ⇒ Object

An in-memory cache of rendered includes.

This deliberately doesn't use Jekyll::Cache: the cache is cleared on every render, so persisting entries to disk (Marshal + SHA2 per write) only costs time and never produces a hit on the next build.



15
16
17
# File 'lib/jekyll-include-cache.rb', line 15

def cache
  @cache ||= JekyllIncludeCache::Cache.new
end

.reset ⇒ Object



19
20
21
22
23
24
# File 'lib/jekyll-include-cache.rb', line 19

def reset
  JekyllIncludeCache.cache.clear
  # Keys are derived from object ids, which are only meaningful within a
  # single build, so don't let the memo grow across `jekyll serve` rebuilds.
  JekyllIncludeCache::Tag.digest_cache.clear
end