Just cache '<!-- idem -->' for unchanged texts.

This saves space and writing/loading times.

Signed-off-by: Thomas Hochstein <thh@inter.net>
This commit is contained in:
Thomas Hochstein 2017-05-25 13:44:03 +02:00
parent c09ed68423
commit 77cd2e21b4
2 changed files with 15 additions and 2 deletions

View file

@ -4,6 +4,7 @@
### Version 0.3 (unreleased) ### Version 0.3 (unreleased)
* Save space by caching just '<!-- idem -->' for unchanged texts.
* Change protocol to https. * Change protocol to https.
* Make cache validity configurable. * Make cache validity configurable.
* Rename from "DejureIntegrator" to "DejureAutolinker". * Rename from "DejureIntegrator" to "DejureAutolinker".

View file

@ -124,7 +124,13 @@ module Nanoc::Filters
cache_file = cache_dir + '/' + cache_filename(input) cache_file = cache_dir + '/' + cache_filename(input)
if File.directory?(cache_dir) if File.directory?(cache_dir)
File.open(cache_file, 'w') do |f| File.open(cache_file, 'w') do |f|
f.write(output) # if input is unchanged, just save '<!-- idem -->'
# instead of the whole (unchanged) text to save space
if input == output
f.write('<!-- idem -->')
else
f.write(output)
end
end end
end end
end end
@ -133,7 +139,13 @@ module Nanoc::Filters
cache_file = cache_dir + '/' + cache_filename(input) cache_file = cache_dir + '/' + cache_filename(input)
# file exists and is younger than cache_days? # file exists and is younger than cache_days?
if File.exist?(cache_file) && File.mtime(cache_file).to_i > cache_age(cache_days) if File.exist?(cache_file) && File.mtime(cache_file).to_i > cache_age(cache_days)
return File.read(cache_file) output = File.read(cache_file)
# if just '<!-- idem -->' is cached, return input unchanged
if output == '<!-- idem -->'
return input
else
return output
end
else else
return false return false
end end