mkdocs-rss-plugin


Namemkdocs-rss-plugin JSON
Version 1.17.0 PyPI version JSON
download
home_pageNone
SummaryMkDocs plugin which generates a static RSS feed using git log and page.meta.
upload_time2024-12-02 20:52:02
maintainerNone
docs_urlNone
authorJulien Moura
requires_python<4,>=3.9
licenseMIT
keywords mkdocs rss git plugin
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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/)

[![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: <!-- 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://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](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

Clone the repository:

```sh
# install development dependencies
python -m pip install -U -r requirements/development.txt
# alternatively: pip install -e .[dev]

# install project as editable
python -m pip install -e .

# install git hooks
pre-commit install
```

Then follow the [contribution guidelines](CONTRIBUTING.md).

### Run the tests

```sh
# install development dependencies
python -m pip install -U -r requirements/testing.txt
# alternatively: pip install -e .[test]

# run tests
pytest
```

### Build the documentation

```sh
# install dependencies for documentation
python -m pip install -U -r requirements/documentation.txt
# alternatively: pip install -e .[doc]

# 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`

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mkdocs-rss-plugin",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4,>=3.9",
    "maintainer_email": null,
    "keywords": "mkdocs rss git plugin",
    "author": "Julien Moura",
    "author_email": "dev@ingeoveritas.com",
    "download_url": "https://files.pythonhosted.org/packages/66/9a/fcb71af72a4c87a68a66e7250c9076dfbaa96c1dd40169aa8e400bd9f9a3/mkdocs_rss_plugin-1.17.0.tar.gz",
    "platform": null,
    "description": "# MkDocs RSS plugin\n\n[![PyPi version badge](https://badgen.net/pypi/v/mkdocs-rss-plugin)](https://pypi.org/project/mkdocs-rss-plugin/)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/mkdocs-rss-plugin)](https://pypi.org/project/mkdocs-rss-plugin/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mkdocs-rss-plugin)](https://pypi.org/project/mkdocs-rss-plugin/)\n\n[![codecov](https://codecov.io/gh/Guts/mkdocs-rss-plugin/branch/main/graph/badge.svg?token=A0XPLKiwiW)](https://codecov.io/gh/Guts/mkdocs-rss-plugin)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![flake8](https://img.shields.io/badge/linter-flake8-green)](https://flake8.pycqa.org/)\n[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)\n[![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)\n[![\ud83d\udcda 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)\n\nA 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)).\n\n## Installation\n\n```sh\npip install mkdocs-rss-plugin\n```\n\n## Usage\n\nMinimal [`mkdocs.yml` configuration](https://www.mkdocs.org/user-guide/configuration/#project-information):\n\n```yaml\nsite_description: required. Used as feed mandatory channel description.\nsite_name: required. Used as feed mandatory channel title and items source URL label.\nsite_url: required. Used to build feed items URLs.\n```\n\nMinimal plugin option:\n\n```yaml\nplugins:\n  - rss\n```\n\nFull options:\n\n```yaml\nplugins:\n  - rss:\n      abstract_chars_count: 160  # -1 for full content\n      abstract_delimiter: <!-- more -->\n      categories:\n        - tags\n      comments_path: \"#__comments\"\n      date_from_meta:\n        as_creation: \"date\" # means from page.meta.date\n        as_update: \"git\" # means from git log\n        datetime_format: \"%Y-%m-%d %H:%M\"\n        default_time: \"09:30\"\n        default_timezone: Europe/Paris\n      enabled: true\n      feed_description: \"My custom feed description\"  # MkDocs site_description: will be used if this key is not present\n      feeds_filenames:\n        json_created: feed_json_created.json\n        json_updated: feed_json_updated.json\n        rss_created: feed_rss_created.xml\n        rss_updated: feed_rss_updated.xml\n      feed_title: \"My custom feed title\"  # MkDocs site_name: will be used if this key is not present\n      feed_ttl: 1440\n      image: https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Feed-icon.svg/128px-Feed-icon.svg.png\n      json_feed_enabled: true\n      length: 20\n      match_path: \".*\"\n      pretty_print: false\n      rss_feed_enabled: true\n      url_parameters:\n        utm_source: \"documentation\"\n        utm_medium: \"RSS\"\n        utm_campaign: \"feed-syndication\"\n      use_git: true\n      use_material_blog: true\n      use_material_social_cards: true\n```\n\nFor further information, [see the user documentation](https://guts.github.io/mkdocs-rss-plugin/).\n\nFollowing 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).\n\n## Development\n\nClone the repository:\n\n```sh\n# install development dependencies\npython -m pip install -U -r requirements/development.txt\n# alternatively: pip install -e .[dev]\n\n# install project as editable\npython -m pip install -e .\n\n# install git hooks\npre-commit install\n```\n\nThen follow the [contribution guidelines](CONTRIBUTING.md).\n\n### Run the tests\n\n```sh\n# install development dependencies\npython -m pip install -U -r requirements/testing.txt\n# alternatively: pip install -e .[test]\n\n# run tests\npytest\n```\n\n### Build the documentation\n\n```sh\n# install dependencies for documentation\npython -m pip install -U -r requirements/documentation.txt\n# alternatively: pip install -e .[doc]\n\n# build the documentation\nmkdocs build\n```\n\n### Release workflow\n\n1. Fill the `CHANGELOG.md`\n1. Change the version number in `__about__.py`\n1. Apply a git tag with the relevant version: `git tag -a 0.3.0 {git commit hash} -m \"New awesome feature\"`\n1. Push tag to main branch: `git push origin 0.3.0`\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "MkDocs plugin which generates a static RSS feed using git log and page.meta.",
    "version": "1.17.0",
    "project_urls": {
        "Bug Reports": "https://github.com/Guts/mkdocs-rss-plugin/issues/",
        "Docs": "https://guts.github.io/mkdocs-rss-plugin/",
        "Source": "https://github.com/Guts/mkdocs-rss-plugin/"
    },
    "split_keywords": [
        "mkdocs",
        "rss",
        "git",
        "plugin"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6ed70e3a8a9673f1270d773c32237bce76a31fdcff6e9d5d39da596b6f6ed492",
                "md5": "044cc943e325621e09f6f4cc89efd7e3",
                "sha256": "a188875a80c495c24ddd67ada52213f75fb5da991d35a8463f834890412e3d92"
            },
            "downloads": -1,
            "filename": "mkdocs_rss_plugin-1.17.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "044cc943e325621e09f6f4cc89efd7e3",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": "<4,>=3.9",
            "size": 29975,
            "upload_time": "2024-12-02T20:52:00",
            "upload_time_iso_8601": "2024-12-02T20:52:00.455961Z",
            "url": "https://files.pythonhosted.org/packages/6e/d7/0e3a8a9673f1270d773c32237bce76a31fdcff6e9d5d39da596b6f6ed492/mkdocs_rss_plugin-1.17.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "669afcb71af72a4c87a68a66e7250c9076dfbaa96c1dd40169aa8e400bd9f9a3",
                "md5": "349e354cfa336154ed54bc72348e413f",
                "sha256": "1dbcea3d4c5f587ef30897e7d858c4e236d3e6b5f60fdfde7bb9d77039151706"
            },
            "downloads": -1,
            "filename": "mkdocs_rss_plugin-1.17.0.tar.gz",
            "has_sig": false,
            "md5_digest": "349e354cfa336154ed54bc72348e413f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4,>=3.9",
            "size": 33945,
            "upload_time": "2024-12-02T20:52:02",
            "upload_time_iso_8601": "2024-12-02T20:52:02.500363Z",
            "url": "https://files.pythonhosted.org/packages/66/9a/fcb71af72a4c87a68a66e7250c9076dfbaa96c1dd40169aa8e400bd9f9a3/mkdocs_rss_plugin-1.17.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-02 20:52:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Guts",
    "github_project": "mkdocs-rss-plugin",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "mkdocs-rss-plugin"
}
        
Elapsed time: 1.54449s