Skip to content
This repository has been archived by the owner on Nov 10, 2022. It is now read-only.

A Jekyll plugin providing creation/modified times to pages.

License

Notifications You must be signed in to change notification settings

numist/jekyll-times

 
 

Repository files navigation

Last Modified At Plugin

A liquid tag for Jekyll to indicate the last time a file was modified.

This plugin determines a page's last modified date by checking the last Git commit date of source files. In the event Git is not available, the file's mtime is used.

Setting up

Open your Gemfile in your Jekyll root folder and add the following:

group :jekyll_plugins do
  gem "jekyll-last-modified-at"
end

Add the following to your site's _config.yml file

plugins:
  - jekyll-last-modified-at

# Optional. The default date format, used if none is specified in the tag.
last-modified-at:
    date-format: '%d-%b-%y'

For sites with very long histories using last_modified_at, there may be render performance improvement via:

plugins:
  - jekyll-last-modified-at

last-modified-at:
    use-git-cache: false

If use-git-cache is true (the default), a single spawned process is generated that reads the entire git log history and caches the time data. This cache is then read from during the rest of the site generation process. So if you have 10 (or 1000) documents, this will result in 1 spawned call. The cache is flushed on site reset, allowing for a long-lived server to correctly reflect last_modified_at of files modified and committed while it has been running.

If use-git-cache is false, every committed file using last_modified_at will generate a separate spawned process to check the git log for time data. So if you have 10 documents, this will result in 10 spawned calls.

Note: there may be performance issues for repositories with very large histories, in which case use-git-cache: false is likely preferred.

Usage

There are a few ways to use this gem.

You can place the following tag somewhere within your layout:

{% last_modified_at %}

By default, this creates a time format matching "%d-%b-%y" (like "04-Jan-14").

You can also choose to pass along your own time format. For example:

{% last_modified_at %Y:%B:%A:%d:%S:%R %}

That produces "2014:January:Saturday:04."

You can also call the method directly on a Jekyll "object," like so:

{{ page.last_modified_at }}

To format such a time, you'll need to rely on Liquid's date filter:

{{ page.last_modified_at | date: '%Y:%B:%A:%d:%S:%R' }}

(It's generally more performant to use the page.last_modified_at version of this plugin.)

About

A Jekyll plugin providing creation/modified times to pages.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 99.4%
  • Shell 0.6%