All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- fix(rss): email and name were inverted in output and so uncompliant by @Guts in #343. Thanks @stefansli for the floow up in #250.
- update(docs): move integrations page as independant menu by @Guts in #344
- refacto(material_integrations): use POO to manage integrations with Material theme framework by @Guts in #335
- update(chore): use typed dataclasses instead of dict by @Guts in #337
- feature(integration): make the integration with Material Blog configurable through an option by @Guts in #339
- Feature: use author name and email from
.authors.yml
set up in Material Blog by @Guts in #340
- update(ci): enable manual trigger for build/publish doc by @Guts in #338
- Make match_path OS agnostic by @mvelikikh in #323
- feature(integration): support social cards for blog plugin posts by @Guts in #326
- Remove social options from example by @Andre601 in #316
- Packaging: drop python 3 8, add 3.13 support by @Guts in #327
- feat: allow per-page description customization by @meysam81 in #310
- @meysam81 made their first contribution in #310
- Update docs for
as_update
(boolean not supported anymore) by @brapoprod in #306 - improve(remote_images): handle connection error by @Guts in #307
- act depending on the used Mkdocs command and disable remote images length fetching to avoid HTTP errors by @Guts in #311
- Feature: add http caching mechanism by @Guts in #309
- improve(http): disable warnings for unverified requests by @Guts in #308
- @brapoprod made their first contribution in #306
- fix incompatible option type for Python < 3.10 and restore Python 3.8 and 3.9 by @Guts in #304 and @pawamoy in mkdocs/mkdocs#3753 (comment)
- hotfix: bad default_time value type introduced in #300 by @Guts in #302
- Feature: add per-feed custom titles and abstracts by @toomanybrians in #295
- Improve: convert docstrings to google convention by @Guts in #298
- fix(config): do not raise error for bad date_from_meta.default_time value and fallback to default by @Guts in #300
- @toomanybrians made their first contribution in #295
- Fix remote image length warnings using requests instead of urllib (standard lib) by @Guts in #289
- refacto(cleanup): remove python 3.9 related code and deps (timezone) by @Guts in #288
- improve(logs): enhance some logs and type hints by @Guts in #293
- Feature: improve social cards integration by @Guts in #294
- feature: allow customize output filenames by @Guts in #278
- feature: allow multiple instances by @Guts in #280
- chore: set minimal python version to 3.10 by @Guts in #286
- chore(deps): set minimum Mkdocs version to 1.4 by @Guts in #283
- Refacto: modernize config date from meta by @Guts in #285
- ci: use trusted publisher and remove token by @Guts in #271
- tooling: add SonarCloud config by @Guts in #279
- Documentation: improve guide how to make JSON feed discoverable by @Guts in #272
- Docs: order settings aZ and minor improvements by @Guts in #281
- docs: complete JSON schema with latest features by @Guts in #282
- docs: fix internal links by @Guts in #284
- Fix: abstract limit by @tiosgz and @Guts in #268
- ci: fix missing Codecov token by @Guts in #269
- Update docs on locale configuration by @YDX-2147483647 in #256
- fix: stripped time from meta date as datetime by @Guts in #248
- docs: fix indentation of nested lists by @YDX-2147483647 in #242
- Implement JSON Feed output by @notpushkin and @Guts in #177
- docs: add how to make JSON Feeds discoverable by @Guts in #240
- tests: check JSON feed validity by @Guts in #239
- @notpushkin made their first contribution in #177
- fix #229 allow date.created to get creation date by @copdips in #237
- @copdips made their first contribution in #237
- improvement: if social card not found, try to retrieve length from remote URL by @Guts in #225
- ci: add a link between release and discussion by @Guts in #224
- docs: explicitly enable plugins with env vars by @Guts in #227
- docs: add API autodocumentation with mkdocstrings by @Guts in #226
- Feature: support material social cards plugin by @Guts in #217
- feature: use plugin logger as recomended by Mkdocs (road to Mkdocs>=1.4) by @Guts in #221
- quality: add tests against social cards integration by @Guts in #222
- ci: set PyPi environment by @Guts in #215
- docs: switch to Material theme and revamp sections by @Guts in #216
- docs: add missing git_use option by @Guts in #218
- Documentation: fix anchors in JSON schema by @Guts in #220
- fix: deprecation of Theme._vars by using config attributes by @Guts in #212 thanks to the excellent work of @alexvoss on #205 and #206
- Road to Mkdocs >= 1.4: plugin's configuration by @Guts in #195
- Road to Mkdocs 1.4: use config attributes by @Guts in #211
- Project: split dev and test dependencies by @Guts in #213
- refacto: move global variables to constants module and rename customtypes into models by @Guts in #210
- packaging: add Python 3.12 as supported version by @Guts in #214
- Fix tests config by @Guts in #196
- Add option to enable/disable git use. by @Guts in #187
- Fix tests: restore missing
__init__.py
file to make tests a subpackage by @Guts in #190
- Comply language codes with RSS Spec by @YDX-2147483647 in #178
- Documentation: housekeeping dependencies and CI by @Guts in #175
- Doc: typo & tips by @YDX-2147483647 in #179
- Improve: strip image URL to avoid common errors by @Guts in #180
- Dev tooling: extend git hooks by @Guts in #189
- Improve: handle missing site url by @Guts in #150
- Upgrade git hooks to fix fail because of isort by @Guts in #170
- Tests: more use cases, better coverage by @Guts in #152
- Handle abstract_chars_count set to 0 by @Guts in #172
- Add new option abstract_delimiter by @Guts in #173
- Add Python 3.11 to supported versions by @Guts in #157
- Just a little refresh on CI workflows by @Guts in #158
- CI : disable fail fast on tests matrix to get all Python versions results by @Guts in #159
- CI: sse GA to deploy to GH Pages instead of ghp-import by @Guts in #171
- Remove Python 3.7 support by @Guts in #174
- Feature: ignore pages with draft:true in meta by @Guts in #149
- Require tzdata only on Windows by @Guts in #148
- Set Mkdocs upper cap to major version by @Guts in #146 to comply with the discussion opened by @oprypin in #137
- Feature: add default_time option by @Guts in #145
- Minor improvements: clean unused imports, lines length and use fstrings in logging by @Guts in #143
- Improvement: more granular fallback to build timestamp by @Guts in #144
- Feature: add option to set default timezone by @Guts in #142
- compatibility with Mkdocs 1.4
- dependencies update
- switched license to MIT. (See #117)
First stable release according to semver.
So, no feature in this release, just focusing on quality and code cleanliness.
- Unit tests to reach a 80% coverage score
- Supported Mkdocs versions range increased to
mkdocs>=1.1,<1.4
- Minor bugs fixes
- Minor documentation improvements
- JSON Schema for configuration validation
- compatible with Python 3.10
- Error when using "enabled: false" together with "match_path" (see #104 - PR #107). Reported by @prcr, fixed by @dcode. Thanks to them!
- option to enable/disable the plugin, for example through an environment variable (default: enabled). See: PR #103, related doc section
- CI: Python version used to build and publish package is now 3.9
- support for Python 3.6 (EOL)
- Fix #95: introduced logic did not handle case where categories meta keys are not defined
- new option to include RSS
<category>
item element using page metadata (YAML frontmatter). It's customizable to get custom meta keys for keywords/tags. PR #4
- option to get the full page content into thread. Contributed by liang2kl with PR 88. See the related documentation section.
- documentation on ReadTheDocs has been removed to reduce confusion and dependencies. PR #89.
- bump MkDocs maximal version
- improve DockerFile used to test, fixing it after Material removed some dependencies
- remove a print statement
- add option to handle the RSS item comments element through item URL path (see documentation)
- ignore
urllib.error.URLError
exception to avoid build crashes typically when network is offline
- ability to define URL parameters on items URLs (see documentation)
- complete unit tests and display code coverage badge (using codecov.io)
- homogenization of docstrings on the sphinx format (as stipulated in the contribution guidelines)
- fix
match_path
option by skipping the pages that aren't included. See PR #49. Contributed by Paulo Ribeiro.
- add isort to development toolbelt
- if
page.meta.description
is not set, theabstract_chars_count
first characters from markdown content are now converted into HTML. - add
match_path
option which should be a regex pattern matching the path to your files within the docs_dir. See issue #34 and the related PR #43. Contributed by Ryan Morshead.
- add support to
page.meta.authors
orpage.meta.author
to populate feed items author tag. See issue #34.
- option to prettify the output, disabling minify. See issue #18, PR #33 and related documentation section
- By default, the output file is now minified.
- option to use dates from page metadata (YAML front-matter) instead of git log. See #14 and related documentation section
- Python 3.9 is enabled in CI and referenced in PyPi tags
- the default length for description has been changed from 150 to 160 to fit maximum recommendation
- enable auto-escape on feed and item titles, using the Jinja e filter - see #19
- improve consistency for missing attributes in mkdocs.yml, returning almost always a None value
- RSS compliance: image length is now present into enclosure tags - See #9
- User documentation:
- clarify how item elements are computed
- add how to edit HTML templates meta-tags to reference feeds
- API reference documentation generated from source code and published through Read The Docs
- wrong items order in updated feed
- feed for updated content is broken - #15
- plugin: add the
language
tag to the channel - tooling:
- add first unit tests and code coverage
- add Github Action to perform tests
- check docker build using mkdocs-material
- docs: switch Feedly images from HTTP to HTTPS
- remove print from plugin code
- plugin: add tag
guid
to the feed's items (using the page URL)
- docs: minor improvements
- plugin: handle channel
image
and items (entries)enclosure
- plugin: refactoring to build feed entry through a method