An mdformat plugin for mkdocs.
Project description
mdformat-mkdocs
An mdformat plugin for mkdocs and mkdocs-material in particular.
Supports:
- Indents are converted to 4-spaces instead of 2
- Note: see caveats when using the optional Semantic Indents on numbered lists which may not be a full multiple of 4
- List bullets are converted to dashes instead of
*
- Admonitions (extends
mdformat-admon
) - MKDocs-Material Content Tabs (https://squidfunk.github.io/mkdocs-material/reference/content-tabs)
- Note: the markup (HTML) rendered by this plugin is sufficient for formatting but not for viewing in a browser. Please open an issue if you have a need to generate valid HTML.
See the example test files, ./tests/pre-commit-test.md and ./tests/format/fixtures.md
mdformat
Usage
Add this package wherever you use mdformat
and the plugin will be auto-recognized. No additional configuration necessary. For additional information on plugins, see the official mdformat
documentation here
Tip: this package specifies an "extra" ('recommended'
) for plugins that work well with mkdocs
:
- mdformat-beautysh
- mdformat-black
- mdformat-config
- mdformat-footnote
- mdformat-frontmatter
- mdformat-simple-breaks
- mdformat-tables
- mdformat-web
Pre-Commit
repos:
- repo: https://github.com/executablebooks/mdformat
rev: 0.7.16
hooks:
- id: mdformat
additional_dependencies:
- mdformat-mkdocs>=2.0.0
# Or
# - "mdformat-mkdocs[recommended]>=2.0.0"
pipx
pipx install mdformat
pipx inject mdformat mdformat-mkdocs
# Or
# pipx inject mdformat "mdformat-mkdocs[recommended]"
HTML Rendering
To generate HTML output, mkdocs_admon_plugin
can be imported from mdit_plugins
. More plugins will be added in the future. For more guidance on MarkdownIt
, see the docs: https://markdown-it-py.readthedocs.io/en/latest/using.html#the-parser
from markdown_it import MarkdownIt
from mdformat_mkdocs.mdit_plugins import mkdocs_admon_plugin
md = MarkdownIt()
md.use(mkdocs_admon_plugin)
text = '??? note\n content'
md.render(text)
# <details class="note">
# <summary>Note</summary>
# <p>content</p>
# </details>
CLI Options
mdformat-mkdocs
adds the CLI argument --align-semantic-breaks-in-lists
to optionally align line breaks in numbered lists to 3-spaces. If not specified, the default of 4-indents is followed universally.
# with: mdformat
1. Semantic line feed where the following line is
three spaces deep
# vs. with: mdformat --align-semantic-breaks-in-lists
1. Semantic line feed where the following line is
three spaces deep
Note: the align-semantic-breaks-in-lists
setting is not supported in the configuration file yet (https://github.com/executablebooks/mdformat/issues/378)
Contributing
See CONTRIBUTING.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mdformat_mkdocs-2.0.5.tar.gz
.
File metadata
- Download URL: mdformat_mkdocs-2.0.5.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 223bea5373720fca2d112b742a95b38d68c01659ce9cad7947c4ea7a15e5e6de |
|
MD5 | b3e63308ca7b131dc9605e0789ea1935 |
|
BLAKE2b-256 | ad30aae5436ac8ab790573aa387d00b2bda3060ce4d81b696f4528a108f7efb8 |
File details
Details for the file mdformat_mkdocs-2.0.5-py3-none-any.whl
.
File metadata
- Download URL: mdformat_mkdocs-2.0.5-py3-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b77d9fa2c8f6e24eac36df6ddfb7ec7c7a6e545eda9b98c5c47bff2ef828a5a |
|
MD5 | e7a81843571fd13aed26425b98dcb3fd |
|
BLAKE2b-256 | f208dacdbb192f01f4cbd76a2ead01863c75bae4944262b3eed16205fb09fca1 |