Skip to content

Latest commit

 

History

History
62 lines (40 loc) · 2.77 KB

README.md

File metadata and controls

62 lines (40 loc) · 2.77 KB

eleventy-plugin-git-commit-date

This Eleventy plugin provides two template filters:

Filter Description
getGitCommitDateFromPath Gets Git commit date from path.

Usage: {{ page.inputPath | getGitCommitDateFromPath }}
getCollectionNewestGitCommitDate Get Git commit date of the newest committed file from a collection.

Usage: {{ collections.all | getCollectionNewestGitCommitDate }}

🌏 This plugin is made primarily to populate <updated> fields in an RSS feed. Here is a blog post on how to use this plugin with eleventy-plugin-rss.

⚠️ Getting Git commit date is a bit slow (~50ms for each path). So, use it sparingly. It's recommended to call this filter within a production flag.

Usage

1. Install

npm install eleventy-plugin-git-commit-date

2. Add to Eleventy config

// .eleventy.js

const pluginGitCommitDate = require("eleventy-plugin-git-commit-date");

module.exports = function (eleventyConfig) {
  eleventyConfig.addPlugin(pluginGitCommitDate);
};

3. Use in templates

Using {{ page.inputPath | getGitCommitDateFromPath }} will display the git commit date of the file using a local time zone like:

Sun Dec 31 2017 18:00:00 GMT-0600 (Central Standard Time)

Using {{ collections.all | getCollectionNewestGitCommitDate }} will display the git commit date of newest file in the collection using a local time zone like:

Sun Dec 31 2017 18:00:00 GMT-0600 (Central Standard Time)

FAQs

When used with GitHub Pages, why are the last commit dates incorrect?

Only the last commit is checked out by GitHub Action Checkout by default. The commit dates for files changed in the previous commits will not be available. You can set the fetch-depth as 0 to get all the history from the Git repository.

   - name: Checkout
     uses: actions/checkout@v3
+    with:
+      fetch-depth: 0

Credits