Skip to main content

A plugin to extract authors, created date and updated date from YAML frontmatter

Project description

mkdocs-footermatter (Working title)

Build Status GitHub latest commit PyPi MIT license codecov

A plug-in to extract authors, created and updated data from the YAML fronmatter to be rendered in a footer template.

This solves a problem I had when batch renaming every file inside a GitHub action which would overwrite the aforementioned logs. (Renaming %20 to -)

img.png

Inspired by git-revision-date-localized and mkdocs-git-committers-plugin, without the need of using git logs.

Setup

Install the plugin using pip:

pip install mkdocs-footermatter

Activate the plugin in mkdocs.yml:

plugins:
  - search
  - footermatter:
      author_map:
        - Firstname Lastname | assets/img/firstname.png | https://github.com/firstnamelastname
        - Author2 | <path from "custom_dir"> | htts://github.com/author2

Note: 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, but now you have to enable it explicitly.

Usage

Can be used in conjunction with the Obsidian plug-in update-time-on-edit-obsidian

Example frontmatter:

---
authors:
  - Firstname Lastname
  - Author2
created: 2022-04-09 08:52:19
updated: 2022-08-13 12:18:05
---

Configuration options

Fronmatter keys:

  • key_authors fronmatter syntax for authors. Default: authors
  • key_created frontmatter syntax for date created. Default: created
  • key_updated frontmatter syntax for date updated. Default: updated

Locale & format:

  • locale language format for date_format (some options may require this to be configured, see below) fallbacks to theme language (recommended) or en
  • date_format What format to use for the dates, see below for options. Default: date
  • timeago_absolute Boolean to omit the ago text. True: 2 days, False: 2 days ago. Default: True

Author rendering options:

  • author_map List of authors mapped image and url values: name | img (path relative to "custom_dir" or url) | url/website
  • separator_map separator for author_map. Default |
  • default_author_img fallback image if missing from author_map. Default https://ui-avatars.com (See template for details)
  • default_author_url fallback url if missing from author_map. Default: /

Date formats

Note: values are static and only change when re-building your docs. All formats are localized using the Pendulum package

  • timeago (2 hours ago) - a readable, relative date format.
  • date (January 1. 2022) - simple date format (LL).
  • datetime (January 1. 2022 12:00 PM) - same as date, but with added timestamp (LLL)
  • For custom formats just pass a valid pendulum string format. Example: MMMM YYYY = January 2022

Template

An example setup can be seen in the overrides folder, including some css styling and an example main.html

Relevant context values:

{{ footermatter_updated }}
{{ footermatter_created }}
{%- for author in footermatter_authors -%}
    {{ author.name }}
    {{ author.img }} 
    {{ base_url }}/{{ author.img }}
    {{ author.url }}
{%- endfor -%}

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

mkdocs-footermatter-1.4.0.tar.gz (7.1 kB view hashes)

Uploaded Source

Built Distribution

mkdocs_footermatter-1.4.0-py3-none-any.whl (6.4 kB view hashes)

Uploaded Python 3

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