2021-10-02 20:08:50 +03:00
|
|
|
|
---
|
|
|
|
|
template: overrides/main.html
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
# Python Markdown Extensions
|
|
|
|
|
|
2021-10-03 10:11:15 +03:00
|
|
|
|
The [Python Markdown Extensions] package is an excellent collection of Markdown
|
|
|
|
|
extensions that make technical writing a breeze. Material for MkDocs views this
|
|
|
|
|
package as a sibling of its own, which is why most provided extensions are
|
|
|
|
|
already natively supported.
|
|
|
|
|
|
|
|
|
|
[Python Markdown Extensions]: https://facelessuser.github.io/pymdown-extensions/
|
|
|
|
|
|
2021-10-02 20:08:50 +03:00
|
|
|
|
## Supported extensions
|
|
|
|
|
|
2021-10-03 10:11:15 +03:00
|
|
|
|
The following extensions are all supported by Material for MkDocs and therefore
|
|
|
|
|
strongly recommended. See the [overview][Extensions] page for a minimal and
|
|
|
|
|
recommended configuration.
|
|
|
|
|
|
|
|
|
|
[Extensions]: index.md
|
|
|
|
|
|
2021-10-02 20:08:50 +03:00
|
|
|
|
### Arithmatex
|
|
|
|
|
|
2021-10-03 10:11:15 +03:00
|
|
|
|
[:octicons-workflow-24: Extension][Arithmatex] ·
|
|
|
|
|
[:octicons-tag-24: 1.0.0 – present][Arithmatex support]
|
|
|
|
|
|
|
|
|
|
The [Arithmatex] extension allows for rendering of block and inline equations,
|
|
|
|
|
and integrates seamlessly with [MathJax][^1], a library for mathematical
|
|
|
|
|
typesetting. Enable it via `mkdocs.yml`:
|
|
|
|
|
|
|
|
|
|
[^1]:
|
|
|
|
|
Other libraries like [KaTeX] are also supported and can be integrated with
|
|
|
|
|
some additional effort. See the [Arithmatex documentation on KaTeX] for
|
|
|
|
|
further guidance, as this is beyond the scope of Material for MkDocs.
|
|
|
|
|
|
|
|
|
|
``` yaml
|
|
|
|
|
markdown_extensions:
|
|
|
|
|
- pymdownx.arithmatex:
|
|
|
|
|
generic: true
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Besides enabling the extension in `mkdocs.yml`, a MathJax configuration and
|
|
|
|
|
the JavaScript runtime need to be included, which can be done with a few lines
|
|
|
|
|
of [additional JavaScript]:
|
|
|
|
|
|
|
|
|
|
=== "`docs/javascripts/config.js`"
|
|
|
|
|
|
|
|
|
|
``` js
|
|
|
|
|
window.MathJax = {
|
|
|
|
|
tex: {
|
|
|
|
|
inlineMath: [["\\(", "\\)"]],
|
|
|
|
|
displayMath: [["\\[", "\\]"]],
|
|
|
|
|
processEscapes: true,
|
|
|
|
|
processEnvironments: true
|
|
|
|
|
},
|
|
|
|
|
options: {
|
|
|
|
|
ignoreHtmlClass: ".*|",
|
|
|
|
|
processHtmlClass: "arithmatex"
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
document$.subscribe(() => {
|
|
|
|
|
MathJax.typesetPromise()
|
|
|
|
|
})
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
=== "`mkdocs.yml`"
|
|
|
|
|
|
|
|
|
|
``` yaml
|
|
|
|
|
extra_javascript:
|
|
|
|
|
- javascripts/config.js
|
|
|
|
|
- https://polyfill.io/v3/polyfill.min.js?features=es6
|
|
|
|
|
- https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Arithmatex can be configured in many different ways, for which Material for
|
|
|
|
|
MkDocs might not provide native support. See the [Arithmatex documentation][Arithmatex] for more information.
|
|
|
|
|
|
|
|
|
|
[Arithmatex]: https://facelessuser.github.io/pymdown-extensions/extensions/arithmatex/
|
|
|
|
|
[Arithmatex support]: https://github.com/squidfunk/mkdocs-material/releases/tag/1.0.0
|
|
|
|
|
[Arithmatex documentation on KaTeX]: https://facelessuser.github.io/pymdown-extensions/extensions/arithmatex/#loading-katex
|
|
|
|
|
[MathJax]: https://www.mathjax.org/
|
|
|
|
|
[KaTeX]: https://github.com/Khan/KaTeX
|
|
|
|
|
[additional JavaScript]: ../../customization.md#additional-javascript
|
|
|
|
|
|
2021-10-02 20:08:50 +03:00
|
|
|
|
### Critic
|
|
|
|
|
|
2021-10-03 10:11:15 +03:00
|
|
|
|
[:octicons-workflow-24: Extension][Critic] ·
|
|
|
|
|
[:octicons-tag-24: 1.0.0 – present][Critic support]
|
|
|
|
|
|
|
|
|
|
The [Critic] extension allows for the usage of [Critic Markup] to highlight
|
|
|
|
|
additions, deletions or substitutions in a Markdown documents. It can be enabled
|
|
|
|
|
via `mkdocs.yml`:
|
|
|
|
|
|
|
|
|
|
``` yaml
|
|
|
|
|
markdown_extensions:
|
|
|
|
|
- pymdownx.critic
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
The following configuration options are supported:
|
|
|
|
|
|
|
|
|
|
`mode`{ #mode }
|
|
|
|
|
|
|
|
|
|
: :octicons-milestone-24: Default: `view` – This option defines how the markup
|
|
|
|
|
should be parsed, i.e. whether to just `view` all suggest changes, or
|
|
|
|
|
alternatively `accept` or `reject` them:
|
|
|
|
|
|
|
|
|
|
=== "View changes"
|
|
|
|
|
|
|
|
|
|
``` yaml
|
|
|
|
|
markdown_extensions:
|
|
|
|
|
- pymdownx.critic:
|
|
|
|
|
mode: view
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
=== "Accept changes"
|
|
|
|
|
|
|
|
|
|
``` yaml
|
|
|
|
|
markdown_extensions:
|
|
|
|
|
- pymdownx.critic:
|
|
|
|
|
mode: accept
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
=== "Reject changes"
|
|
|
|
|
|
|
|
|
|
``` yaml
|
|
|
|
|
markdown_extensions:
|
|
|
|
|
- pymdownx.critic:
|
|
|
|
|
mode: reject
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
[Critic]: https://facelessuser.github.io/pymdown-extensions/extensions/critic/
|
|
|
|
|
[Critic support]: https://github.com/squidfunk/mkdocs-material/releases/tag/1.0.0
|
|
|
|
|
[Critic Markup]: https://github.com/CriticMarkup/CriticMarkup-toolkit
|
|
|
|
|
|
2021-10-02 20:08:50 +03:00
|
|
|
|
### Details
|
|
|
|
|
|
2021-10-03 10:11:15 +03:00
|
|
|
|
The [Details] extension supercharges the [Admonition] extension, making the
|
|
|
|
|
resulting _call-outs_ collapsible, rendering
|
|
|
|
|
|
|
|
|
|
|
2021-10-02 20:08:50 +03:00
|
|
|
|
### Emoji
|
|
|
|
|
|
|
|
|
|
### Highlight
|
|
|
|
|
|
|
|
|
|
### InlineHilite
|
|
|
|
|
|
|
|
|
|
### Snippets
|
|
|
|
|
|
|
|
|
|
### SuperFences
|
|
|
|
|
|
|
|
|
|
### Tabbed
|
|
|
|
|
|
|
|
|
|
### Tasklist
|
|
|
|
|
|
|
|
|
|
### Other
|
|
|
|
|
|
|
|
|
|
- Caret
|
|
|
|
|
- Keys
|
|
|
|
|
- MagicLink
|
|
|
|
|
- Mark
|
|
|
|
|
- SmartSymbols
|
|
|
|
|
- Tilde
|