A plugin for MkDocs, the static site generator, which creates RSS 2.0 and JSON Feed 1.1 feeds using the creation and modification dates from git log and page metadata (YAML frontmatter).
Installation
pip install mkdocs-rss-plugin
Usage
Minimal mkdocs.yml
configuration:
site_description: required. Used as feed mandatory channel description.
site_name: required. Used as feed mandatory channel title and items source URL label.
site_url: required. Used to build feed items URLs.
Minimal plugin option:
plugins:
- rss
Full options:
plugins:
- rss:
abstract_chars_count: 160
abstract_delimiter: <!-- more -->
categories:
- tags
comments_path: "#__comments"
date_from_meta:
as_creation: "date"
as_update: "git"
datetime_format: "%Y-%m-%d %H:%M"
default_time: "09:30"
default_timezone: Europe/Paris
enabled: true
feed_description: "My custom feed description"
feeds_filenames:
json_created: feed_json_created.json
json_updated: feed_json_updated.json
rss_created: feed_rss_created.xml
rss_updated: feed_rss_updated.xml
feed_title: "My custom feed title"
feed_ttl: 1440
image: https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Feed-icon.svg/128px-Feed-icon.svg.png
json_feed_enabled: true
length: 20
match_path: ".*"
pretty_print: false
rss_feed_enabled: true
url_parameters:
utm_source: "documentation"
utm_medium: "RSS"
utm_campaign: "feed-syndication"
use_git: true
use_material_blog: true
use_material_social_cards: true
For further information, see the user documentation.
Following initiative from the author of Material for MkDocs, this plugin provides its own JSON schema to validate configuration: source - documentation.
Development
Clone the repository:
python -m pip install -U -r requirements/development.txt
python -m pip install -e .
pre-commit install
Then follow the contribution guidelines.
Run the tests
python -m pip install -U -r requirements/testing.txt
pytest
Build the documentation
python -m pip install -U -r requirements/documentation.txt
mkdocs build
Release workflow
- Fill the
CHANGELOG.md
- Change the version number in
__about__.py
- Apply a git tag with the relevant version:
git tag -a 0.3.0 {git commit hash} -m "New awesome feature"
- Push tag to main branch:
git push origin 0.3.0