This package allows you to add badges to your MkDocs site.
This README is just a short intro to the package.
For a quick start and detailed information please see the documentation.
The documentation is also available in the docs folder of the source code and can be built locally with MkDocs.
A development version built with the latest changes (HEAD commit) can be found at https://mkdocs-badges-dev.six-two.dev/.
The documentation also serves as a test of the plugin, especially the files under the Tests menu item.
Build the documentation with the latest source code:
poetry install && poetry run mkdocs serve -t <theme>Themes that should work are mkdocs, readthedocs, and material.
Lint source code:
poetry run mypyThe GitHub repository now contains some unit test. You can run them against the current code with the following command (issued in the root directory of the repository):
poetry install && poetry run python -m unittest- At least on iPhones (which only support Safari based engines) only one toast can be shown.
After that you need to reload the page to show the same toast again or to show another toast.
This seems to be an issue with https://github.com/mlcheng/js-toast/ (used in
src/mkdocs_badges/assets/badge.js) which seems no longer maintained.
- Parse lines starting with whitespace (lists, admonitions, etc.), which were previously ignored.
This may cause issues if you use indented code blocks, since any badges in them will be replaced and visible as HTML code.
To fix this I recommend you use a fenced code block (using triple backticks).
You can also revert to the old behavior by setting the new option
ignore_lines_starting_with_whitespaceto true. - Migrated build process to poetry
- Fixed unit tests
- Allow inline badges by surrounding them with
[and]. These values can be changed with the new settingsinline_badge_startandinline_badge_endin yourmkdocs.yml - Added
wingetinstall badge data - Added some sanity checks when parsing badge data
- Fix
pip_githubandpip_gitlabinstall badges
- Allow setting a custom separator with
separatorin yourmkdocs.yml - Allow specifying badges in tables.
This uses a different separator (by default
^), which you can set usingtable_separatorin yourmkdocs.yml - Fixed some CSS bugs
- Link badges (L) with non-URL values now cause a warning (instead of a crash)
- Allow adding optional angle brackets in link badges (L) to prevent MD034 - Bare URL used linter warnings
- Rewrite
-to_in install badge types. This allows using bothbrew-formulaandbrew_formulanotation.
- Changed behavior of the
install_badge_dataoption. Instead of removing the defaults the specified file is merged with them - Changed install badge data.
Renamed
brewtobrew_formulaand addedbrew_cask,docker_hub, anddocker_ghcr - Fixed crash of JavaScript copy code if the text contains a single quote
- Detect markdown tables even if they have only a single dash in the header. Fixes #4
- Option to disable warnings (use this at your own risk) by adding
disable_warnings: Trueto the plugin config in yourmkdocs.yml
- Now requires MkDocs 1.5 or newer
- The included script is now marked as
asyncby default, maybe improving loading times a tiny bit. This can be disabled by addingasync: Falseto the plugin config in yourmkdocs.yml
- Now requires MkDocs 1.4 or newer
- Updated the layout rules for badges. This should better handle oversized contents (like images or very long texts).
- Added single element badges
- Added tags badges
- Better error handling, fixed a crash
- Started adding unit tests
- Breaking changes to the badges formats. See the migration guide
- Added support for reference links
- Each badge now needs to be the only thing on its line
- Badges inside code blocks are no longer parsed
- The
|endat the end of custom badges is no longer neccessary. A simple|is enough. This shorter form is recommended from now on. - Documentation is now in the
docsfolder in the form of a mkdocs website - Added link badges