Skip to main content

Mkdocs plugin that enables displaying the localized date of the last git modification of a markdown file.

Project description

Actions Status PyPI - Python Version PyPI PyPI - Downloads codecov 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. Initial fork from mkdocs-git-revision-date-plugin.

example

(Example when used together with mkdocs-material theme)

Setup

Install the plugin using pip with the following command:

pip 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.

When using CI runners

The plugin needs access to the last commit that touched a file to be able to retrieve the date. If you build your docs using CI then you might need to change the default settings:

  • github actions: set fetch_depth to 0 (docs)
  • gitlab runners: set GIT_DEPTH to 1000 (docs)

Usage

In supported themes

In theme templates

In templates you can use page.meta.git_revision_date_localized:

{% if page.meta.git_revision_date_localized %}
  Last update: {{ page.meta.git_revision_date_localized }}
{% endif %}

In markdown pages

In your markdown files you can use {{ git_revision_date_localized }}:

Last update: {{ git_revision_date_localized }}

Options

type

To change the date format, set the type parameter to one of date, datetime, iso_date, iso_datetime or timeago. Default is date. Example outputs:

28 November, 2019           # type: date
28 November, 2019 13:57:28  # type: datetime
2019-11-28                  # type: iso_date
2019-11-28 13:57:26         # type: iso_datetime
20 hours ago                # type: timeago

locale

Specify a two letter ISO639 language code to display dates in your preferred language.

  • When used in combination with type: date or type: datetime, translation is done using babel which supports these locales
  • When used in combination with type: timeago then timeago.js is added to your website, which supports these locales. If you specify a locale not supported by timeago.js, the fallback is English (en)
  • When not set, this plugin will look for locale or language options set in your theme. If also not set, the fallback is English (en)

Example

Example of setting both options:

# mkdocs.yml
plugins:
  - git-revision-date-localized:
    type: timeago
    locale: en

Result:

20 hours ago

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page