Metadata-Version: 2.4 Name: mkdocs-rss-plugin Version: 1.19.0 Summary: MkDocs plugin to generate RSS and JSON feeds using Mkdocs site configuration, git log and Mkdocs pages'meta. Author-email: Julien Moura Maintainer-email: Julien Moura License-Expression: MIT Project-URL: Changelog, https://github.com/guts/mkdocs-rss-plugin/blob/main/CHANGELOG.md Project-URL: Documentation, https://guts.github.io/mkdocs-rss-plugin/ Project-URL: Homepage, https://guts.github.io/mkdocs-rss-plugin/ Project-URL: Issues, https://github.com/guts/mkdocs-rss-plugin/issues/ Project-URL: releasenotes, https://github.com/guts/mkdocs-rss-plugin/releases/latest Project-URL: Repository, https://github.com/guts/mkdocs-rss-plugin/ Keywords: atom,documentation,feed,git,json-feed,mkdocs,plugin,rss Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers Classifier: Intended Audience :: Information Technology Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: 3.14 Classifier: Topic :: Documentation Classifier: Topic :: Software Development :: Documentation Classifier: Topic :: Text Processing :: Markup :: Markdown Requires-Python: >=3.10 Description-Content-Type: text/markdown License-File: LICENSE Requires-Dist: CacheControl[filecache]<1,>=0.14.3 Requires-Dist: GitPython<3.2,>=3.1.45 Requires-Dist: mkdocs==1.6.1 Requires-Dist: properdocs<2,>=1.6.5 Requires-Dist: requests<3,>=2.32.5 Requires-Dist: tzdata<2026,>=2024; sys_platform == "win32" Provides-Extra: dev Requires-Dist: black>=25.9; extra == "dev" Requires-Dist: flake8>=7.1; extra == "dev" Requires-Dist: flake8-bugbear>=24.10; extra == "dev" Requires-Dist: flake8-builtins>=2.5; extra == "dev" Requires-Dist: flake8-eradicate>=1.5; extra == "dev" Requires-Dist: flake8-isort>=6.1.1; extra == "dev" Requires-Dist: Flake8-pyproject>=1.2.3; extra == "dev" Requires-Dist: pre-commit<5,>=4; extra == "dev" Provides-Extra: docs Requires-Dist: mkdocs-git-committers-plugin-2<2.6,>=2.4.1; extra == "docs" Requires-Dist: mkdocs-git-revision-date-localized-plugin<1.6,>=1.3; extra == "docs" Requires-Dist: mkdocs-material[imaging]<9.8,>=9.7; extra == "docs" Requires-Dist: mkdocs-minify-plugin<0.9,>=0.8; extra == "docs" Requires-Dist: mkdocstrings-python<2.1,>=1.16.2; extra == "docs" Requires-Dist: termynal<0.15,>=0.12.2; extra == "docs" Provides-Extra: test Requires-Dist: feedparser<6.1,>=6.0.12; extra == "test" Requires-Dist: jsonfeed-util<2,>=1.2; extra == "test" Requires-Dist: mkdocs-material[imaging]<9.8,>=9.7; extra == "test" Requires-Dist: mkdocs-materialx[imaging]<11,>=10.1.3; extra == "test" Requires-Dist: pytest-cov<8,>=6.9.1; extra == "test" Requires-Dist: validator-collection<1.6,>=1.5; extra == "test" Dynamic: license-file # MkDocs RSS plugin [![PyPi version badge](https://badgen.net/pypi/v/mkdocs-rss-plugin)](https://pypi.org/project/mkdocs-rss-plugin/) [![PyPI - Downloads](https://img.shields.io/pypi/dm/mkdocs-rss-plugin)](https://pypi.org/project/mkdocs-rss-plugin/) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mkdocs-rss-plugin)](https://pypi.org/project/mkdocs-rss-plugin/) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=Guts_mkdocs-rss-plugin&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=Guts_mkdocs-rss-plugin) [![codecov](https://codecov.io/gh/Guts/mkdocs-rss-plugin/branch/main/graph/badge.svg?token=A0XPLKiwiW)](https://codecov.io/gh/Guts/mkdocs-rss-plugin) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![flake8](https://img.shields.io/badge/linter-flake8-green)](https://flake8.pycqa.org/) [![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/) [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit) [![pre-commit.ci status](https://results.pre-commit.ci/badge/github/Guts/mkdocs-rss-plugin/master.svg)](https://results.pre-commit.ci/latest/github/Guts/mkdocs-rss-plugin/master) [![📚 Documentation](https://github.com/Guts/mkdocs-rss-plugin/actions/workflows/documentation.yml/badge.svg)](https://github.com/Guts/mkdocs-rss-plugin/actions/workflows/documentation.yml) A plugin for [MkDocs](https://www.mkdocs.org), the static site generator, which creates [RSS 2.0](https://wikipedia.org/wiki/RSS) and [JSON Feed 1.1](https://www.jsonfeed.org/version/1.1/) feeds using the creation and modification dates from [git log](https://git-scm.com/docs/git-log) and page metadata ([YAML frontmatter](https://www.mkdocs.org/user-guide/writing-your-docs/#yaml-style-meta-data)). ## Installation ```sh pip install mkdocs-rss-plugin ``` ## Usage Minimal [`mkdocs.yml` configuration](https://www.mkdocs.org/user-guide/configuration/#project-information): ```yaml 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: ```yaml plugins: - rss ``` Full options: ```yaml plugins: - rss: abstract_chars_count: 160 # -1 for full content abstract_delimiter: 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](https://guts.github.io/mkdocs-rss-plugin/). Following initiative from the author of Material for MkDocs, this plugin provides its own JSON schema to validate configuration: [source](https://github.com/Guts/mkdocs-rss-plugin/blob/main/docs/schema.json) - [documentation](https://guts.github.io/mkdocs-rss-plugin/schema.json). ## Development Once you cloned the repository: ```sh # 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](CONTRIBUTING.md). ### Run the tests ```sh # install development dependencies python -m pip install -e .[test] # run tests pytest ``` ### Build the documentation ```sh # install dependencies for documentation python -m pip install -e .[docs] # build the documentation mkdocs build ``` ### Release workflow 1. Fill the `CHANGELOG.md` 1. Change the version number in `__about__.py` 1. Apply a git tag with the relevant version: `git tag -a 0.3.0 {git commit hash} -m "New awesome feature"` 1. Push tag to main branch: `git push origin 0.3.0`