198 lines
8.1 KiB
Plaintext
198 lines
8.1 KiB
Plaintext
|
|
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 <dev@ingeoveritas.com>
|
||
|
|
Maintainer-email: Julien Moura <dev@ingeoveritas.com>
|
||
|
|
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
|
||
|
|
|
||
|
|
[](https://pypi.org/project/mkdocs-rss-plugin/)
|
||
|
|
[](https://pypi.org/project/mkdocs-rss-plugin/)
|
||
|
|
[](https://pypi.org/project/mkdocs-rss-plugin/)
|
||
|
|
|
||
|
|
[](https://sonarcloud.io/summary/new_code?id=Guts_mkdocs-rss-plugin)
|
||
|
|
[](https://codecov.io/gh/Guts/mkdocs-rss-plugin)
|
||
|
|
[](https://github.com/psf/black)
|
||
|
|
[](https://flake8.pycqa.org/)
|
||
|
|
[](https://pycqa.github.io/isort/)
|
||
|
|
[](https://github.com/pre-commit/pre-commit)
|
||
|
|
[](https://results.pre-commit.ci/latest/github/Guts/mkdocs-rss-plugin/master)
|
||
|
|
[](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: <!-- 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](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`
|