All notable changes to this project are documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Added: For each push, testing on github for versions Python 3.8 to 3.12
- Fixed: bug in import of packages when not in source dir (#278)
- Added: support for j2_extensions paramater in config file (#272)
- Fixed: missing dependency declaration on
requests(#269)
- Removed: auto-install of missing pluglet (meaningful error message #262)
- Fixed: error with yaml dumps (#258)
- Fixed: detection of Jinja2, to allow title rendering (#266)
- Small improvements to documentation
- Fixed: incompatibility with the d2 module (#249)
- Added: complete test framework, using pytest and Mkdocs-Test (#244) A number of automated test cases are implemented.
- Changed: move from setup.py to pyproject.toml (#250)
- Added: three hooks
register_variables/macros/filtersto facilitate cooperation with other MkDocs plugins. - Fixed: `define_env() was always required in module (#191)
- Added: trace the case when no module is found (INFO)
- Improved documentation, particularly about HTML pages
- Added: parameters
j2_comment_start_stringandj2_comment_end_stringto plugin's parameters, to specify alternate markers for comments. - Added the multiline parameter
force_render_pathsin the config file, to specify directories or file patterns to be rendered for the case whenrender_by_default = false(therender_macrosparameter in the YAML header of the page has the last word).
- Added: git.short_tag (#183)
- Added: Mermaid diagrams in the documentation (Readthedocs)
- Fixed: Changelog was no longer displayed (#186)
- Fixed: Warning due to filter issue with mkdocs >= 1.5
- Fixed: Debug html tables (including for
macro_info()) are now readable also in dark mode.
- Added: it is now possible to use macros in page titles, in the nav section of the yaml file, or in the level 1 titles; the macros are correctly interpreted in the navigation part of the page.
-
Improved user guide, with introduction of two new pages: "Controlling macro rendering" and "Post production".
-
Fixed: (#158) In modules,
on_pre_page_macros(), theenv.markdownattribute is now available to create a header or footer. -
Changed: In
on_post_page_macros()useenv.markdowninstead ofenv.raw_markdown, for the same purpose. -
Added: (#162) Allow opt-in of page rendering, by using parameter
render_macros: truein yaml header of the page (requiresrender_by_default:falsein the macro parameters, in the config file). -
Fixed:
macro_info()now generates a header of category 2, so as to be used with other material in the same page, and not confuse the macro generators. -
Changed:
ignore_macros: truein page header is deprecated. Userender_macros: falseinstead. -
Fixed: issues #155 (documentation type), #143 (
git.tab), #135 (indicate page where rendering failed). -
Bump version to 1.1.0 to acknowledge that API is stable.
-
Added: (#133)
on_error_failin config file to make build/serve process fail in case of macro error, with return code 100. -
Added: (#130) Documentation on the tree structure of a typical macro directory (package)
- Fixed: (#118)
{{ git.date }}is now committer date (no longer author date). - Added: new git info elements (author email, committer, committer email); documentation was updated
- Added: by default, unknown variables in a markdown page (
{{ foo }}) are no longer replaced by blanks but displayed as is (DebugUndefined) (#117); for better compatibility with other plugins or error detection - Added:
on_undefinedparameter in plugin definition to alter behavior with unknown jinja2 variables: 'keep' (default), 'silent', 'strict', 'lax'; documentation was updated
- Fixed: Broken build of 0.6.2
- Added:
env.markdownis now modifiable, for use inon_post_page_macros()
- Added: auto-install of pluglets (in
moduleparameter in config file)
- Fixed: documentation (for readthedocs) now contains proper link to edit uri on github
- Fixed: broken link in webdoc/docs/pages.md
- Bump version to 0.6.0, to acknowledge the breaking change in 0.5.10
- Fixed: Incompatibility with mkdocs 1.2
(
on_serve()event, call toserver.watch())
- Added: Info on pluglets, on GitHub index page.
- Added: Contributing and Help pages, in documentation
Warning: Breaking Change
- Fixed: impossibility to use imported Jinja2 macros, without
with contextclause (#81). Now macros are imported as global. - Removed: Do not define macros as variables any longer, but as macros.
- incorrect:
env.variables['foo'] = foo(though it should still work) - correct: prefix declaration with
@env.macrosorenv.macros['foo'] = foo
- incorrect:
- Added: Changelog is also part of documentation
- Added: Documentation moved under Material them, slate variant (dark)
- Added: Amended documentation (test install, discussions)
- Added: Changelog (Fixed #82)
- Fixed: display better message in case of macro syntax error (line_no, message, incriminated line in file). Traceback was useless with that specific exception, and has been removed.
- Added: Possibility (for large projects) to exclude a markdown page
from macro rendering, with
ignore_macros: truein YAML header (fixed issue #78, and answered discussion #79)
- Added: Files object to the mkdocs-macros environment (fixed #80)
- Fixed: Documentation errors or omissions
- Fixed: Do not install pluglet mkdocs-macros-test by default (#50)
In order to do testing,
type:
pip install 'mkdocs-macros-plugin[test]'
- Starting point