From 3689740b0d8d619d1810cbf65808fc9f7bf01e4a Mon Sep 17 00:00:00 2001 From: Miquel Sabaté Solà Date: Tue, 22 Oct 2019 17:38:30 +0200 Subject: Add modified_at info at the post layout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit At the bottom of every blog post, there will now be a small text containing: 1. The localized date of the last modified time the blog post was modified (taking Git as a reference). 2. A link to the log at git.mssola.com for the given file. This way readers have a better understanding of the versioning of a given page. Signed-off-by: Miquel Sabaté Solà --- _plugins/type.rb | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) (limited to '_plugins/type.rb') diff --git a/_plugins/type.rb b/_plugins/type.rb index 3107b4a..211e7e0 100644 --- a/_plugins/type.rb +++ b/_plugins/type.rb @@ -17,11 +17,13 @@ require "time" require_relative "render_helper" +require_relative "modified_time_helper" module Jekyll # Render og:type related tags. class RenderTypeTags < Liquid::Tag include ::Jekyll::RenderHelper + include ::Jekyll::ModifiedTimeHelper def render(context) if ["posts"].include?(context["page"]["collection"]) @@ -55,20 +57,6 @@ module Jekyll # Jekyll completely disregards the hour, minutes, etc., so why bother. page["date"].to_s.split.first end - - # Returns the modified time of the given page. - def modified_time(page) - path = File.expand_path(File.join(File.dirname(__FILE__), "..", page["path"])) - out = `git log -n 1 --pretty='format:%cd' --date=iso8601-strict -- #{path}` - - begin - Time.iso8601(out) - out - rescue ArgumentError => e - puts "[WARNING] Could not parse the given modified time from Git: #{e}" - nil - end - end end end -- cgit v1.2.3