Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

MkDocs plugin to generate a RSS feeds for created and updated pages, using git log and YAML frontmatter (page.meta).

License

Notifications You must be signed in to change notification settings

Guts/mkdocs-rss-plugin

Repository files navigation

MkDocs RSS plugin

PyPi version badge PyPI - Downloads PyPI - Python Version

Quality Gate Status codecov Code style: black flake8 Imports: isort pre-commit pre-commit.ci status πŸ“š Documentation

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 # -1 for full content
 abstract_delimiter: <!-- more -->
 categories:
 - tags
 comments_path: "#__comments"
 date_from_meta:
 as_creation: "date" # means from page.meta.date
 as_update: "git" # means from git log
 datetime_format: "%Y-%m-%d %H:%M"
 default_time: "09:30"
 default_timezone: Europe/Paris
 enabled: true
 feed_description: "My custom feed description" # MkDocs site_description: will be used if this key is not present
 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" # MkDocs site_name: will be used if this key is not present
 feed_ttl: 1440
 image: https://github.com/Guts/mkdocs-rss-plugin/blob/main/docs/assets/logo_rss_plugin_mkdocs.png?raw=true
 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

Once you cloned the repository:

# install project as editable
python -m pip install -e .
# including development dependencies
python -m pip install -e .[dev]
# including documentation dependencies
python -m pip install -e .[docs]
# including testing dependencies
python -m pip install -e .[test]
# all inclusive
python -m pip install -e .[dev,docs,test]
# install git hooks
pre-commit install

Then follow the contribution guidelines.

Run the tests

# install development dependencies
python -m pip install -e .[test]
# run tests
pytest

Build the documentation

# install dependencies for documentation
python -m pip install -e .[docs]
# build the documentation
mkdocs build

Release workflow

  1. Fill the CHANGELOG.md
  2. Change the version number in __about__.py
  3. Apply a git tag with the relevant version: git tag -a 0.3.0 {git commit hash} -m "New awesome feature"
  4. Push tag to main branch: git push origin 0.3.0

About

MkDocs plugin to generate a RSS feeds for created and updated pages, using git log and YAML frontmatter (page.meta).

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

Contributors 22

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /