Skip to content

timvink/mkdocs-git-revision-date-localized-plugin

Repository files navigation

Actions Status PyPI - Python Version PyPI PyPI - Downloads GitHub contributors PyPI - License

mkdocs-git-revision-date-localized-plugin

MkDocs plugin that enables displaying the date of the last git modification of a page. The plugin uses babel and timeago.js to provide different localized date formats. Works with mkdocs-material, see adding a git repository.

demo

(Example when used together with the mkdocs-material theme)

Setup

Install the plugin using pip3 with the following command:

pip3 install mkdocs-git-revision-date-localized-plugin

Next, add the following lines to your mkdocs.yml:

plugins:
  - search
  - git-revision-date-localized

If you have no plugins entry in your config file yet, you'll likely also want to add the search plugin. MkDocs enables it by default if there is no plugins entry set.

The mkdocs-material theme supports git-revision-date-localized. After installing the plugin and updating your mkdocs.yml you should see the last revision date on the bottom of your pages. Other mkdocs themes require additional customization.

See the documentation on how to fine-tune the appearance and the date format.

Note when using build systems like Github Actions

This plugin needs access to the last commit that touched a specific file to be able to retrieve the date. By default many CI/CD build systems only retrieve the last commit, which means you might need to change your CI/CD settings:

  • Github Actions: set fetch-depth to 0 (docs)
  • Gitlab Runners: set GIT_DEPTH to 0 (docs)
  • Bitbucket pipelines: set clone: depth: full (docs)
  • Azure Devops pipelines: set Agent.Source.Git.ShallowFetchDepth to something very high like 10e99 (docs)

Tip: You can speed up your builds for large codebases by running git garbage collection (git gc) occasionly. You can also use sparse checkouts to only apply the fetch-depth 0 for the folders we're interested (credits Martin in this tweet):

# example sparse checkout for github actions
- uses: actions/checkout@v4
  with:
    fetch-depth: 0
    sparse-checkout: |
      docs
      includes

Documentation

See timvink.github.io/mkdocs-git-revision-date-localized-plugin.

Contributing

Contributions are very welcome! Please read CONTRIBUTING.md before putting in any work.

Related MkDocs plugins: