# MkDocs Pymdownx Material Extras
A plugin for MkDocs -- specifically the [MkDocs Material Theme](https://github.com/squidfunk/mkdocs-material).
Adds additional resources that are used in the PyMdown Extensions documentation, and other
[@facelessuser](https://github.com/facelessuser) projects.
While this is not specifically meant for outside consumption, and was originally written for
[@facelessuser](https://github.com/facelessuser) projects, it can be freely used if desired.
Files are copied from the [pymdown-extensions project](https://github.com/facelessuser/pymdown-extensions/tree/master/docs/theme/assets/pymdownx-extras).
## Instructions
This is bound to specific versions of MkDocs Material and PyMdown Extensions. It may sometimes be tied to betas.
Installation:
```
pip install mkdocs_pymdownx_material_extras
```
Add it to your `mkdocs.yml` plugins. It is assuming you are using MkDocs Material. When doing so, remember to add
back the `search` plugin as it doesn't append to the plugins, but overrides the plugins:
```yml
plugins:
- search
- mkdocs_pymdownx_material_extras
```
Setup your theme as follows:
```yml
theme:
name: material # Must use Material theme
custom_dir: docs/theme # If you have overrides, specify where to find them
palette:
scheme: dracula # This is how to enables the Dracula theme for dark. For light, it will use default Material with some tweaks.
primary: deep purple # Primary colors
accent: deep purple # accent color
```
The following Material primary/accent colors map to actual Dracula colors:
Material | Dracula
----------- | -------
red | red
pink | pink
purple | purple
deep-purple | purple
blue | blue
indigo | blue
light-blue | blue
cyan | cyan
teal | cyan
green | green
light-green | green
lime | green
yellow | yellow
amber | yellow
orange | orange
deep-orange | orange
## Sponsor Footer Link
If you'd like to add the sponsor heart in the footer, add your sponsor link under the MkDocs theme options like so.
```yml
theme:
pymdownx:
sponsor: "https://github.com/sponsors/facelessuser"
```
## Mermaid Support
Mermaid support is baked in. Simply add the Mermaid script to your MkDocs config:
```yml
extra_javascript:
- https://cdn.jsdelivr.net/npm/mermaid@11.3.0/dist/mermaid.min.js
```
If you do not like our default setup, you are free to modify it. Simply provide a script file before before you include
Mermaid with the new config:
```yml
extra_javascript:
- my_mermaid_config.js
- https://cdn.jsdelivr.net/npm/mermaid@11.3.0/dist/mermaid.min.js
```
Also, setup your Mermaid diagrams:
```yml
markdown_extensions:
- pymdownx.superfences:
custom_fences:
# Mermaid diagrams
- name: diagram
class: diagram
format: !!python/name:pymdownx.superfences.fence_code_format
```
Then you can specify your Mermaid diagrams in `diagram` code blocks:
````
```diagram
...
```
````
Mermaid setups are provided per scheme. You can see the setup [here](https://github.com/facelessuser/pymdown-extensions/blob/main/docs/src/js/material-extra-3rdparty.js).
if you are trying to override them.
## MathJax/KaTeX
Again, MathJax and KaTeX support is baked in. Simply add the MathJax script(s) to your MkDocs config:
MathJax:
```yml
extra_javascript:
- https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
```
KaTeX:
```yml
extra_css:
- https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.css
extra_javascript:
- https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.js
```
Lastly, setup Arithmatex:
```yml
markdown_extensions:
- pymdownx.arithmatex:
generic: true # Must use generic mode
block_tag: 'pre' # We wrap block math in `<pre>` to avoid issues with MkDocs minify HTML plugin: https://github.com/byrnereese/mkdocs-minify-plugin
```
If you do not like the default MathJax setup, add your own config before MathJax script:
```yml
extra_javascript:
- my_mathjax_config.js
- https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
```
Raw data
{
"_id": null,
"home_page": null,
"name": "mkdocs-pymdownx-material-extras",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "extensions, markdown",
"author": null,
"author_email": "Isaac Muse <Isaac.Muse@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/45/f2/2801e704e61824fc61fd4685da460ca8b41540cb6efc8eb6e80a5e064885/mkdocs_pymdownx_material_extras-2.7.tar.gz",
"platform": null,
"description": "# MkDocs Pymdownx Material Extras\n\nA plugin for MkDocs -- specifically the [MkDocs Material Theme](https://github.com/squidfunk/mkdocs-material).\n\nAdds additional resources that are used in the PyMdown Extensions documentation, and other\n[@facelessuser](https://github.com/facelessuser) projects.\n\nWhile this is not specifically meant for outside consumption, and was originally written for\n[@facelessuser](https://github.com/facelessuser) projects, it can be freely used if desired.\n\nFiles are copied from the [pymdown-extensions project](https://github.com/facelessuser/pymdown-extensions/tree/master/docs/theme/assets/pymdownx-extras).\n\n## Instructions\n\nThis is bound to specific versions of MkDocs Material and PyMdown Extensions. It may sometimes be tied to betas.\n\nInstallation:\n\n```\npip install mkdocs_pymdownx_material_extras\n```\n\nAdd it to your `mkdocs.yml` plugins. It is assuming you are using MkDocs Material. When doing so, remember to add\nback the `search` plugin as it doesn't append to the plugins, but overrides the plugins:\n\n```yml\nplugins:\n - search\n - mkdocs_pymdownx_material_extras\n```\n\nSetup your theme as follows:\n\n```yml\ntheme:\n name: material # Must use Material theme\n custom_dir: docs/theme # If you have overrides, specify where to find them\n palette:\n scheme: dracula # This is how to enables the Dracula theme for dark. For light, it will use default Material with some tweaks.\n primary: deep purple # Primary colors\n accent: deep purple # accent color\n```\n\nThe following Material primary/accent colors map to actual Dracula colors:\n\nMaterial | Dracula\n----------- | -------\nred | red\npink | pink\npurple | purple\ndeep-purple | purple\nblue | blue\nindigo | blue\nlight-blue | blue\ncyan | cyan\nteal | cyan\ngreen | green\nlight-green | green\nlime | green\nyellow | yellow\namber | yellow\norange | orange\ndeep-orange | orange\n\n## Sponsor Footer Link\n\nIf you'd like to add the sponsor heart in the footer, add your sponsor link under the MkDocs theme options like so.\n\n```yml\ntheme:\n pymdownx:\n sponsor: \"https://github.com/sponsors/facelessuser\"\n```\n\n## Mermaid Support\n\nMermaid support is baked in. Simply add the Mermaid script to your MkDocs config:\n\n```yml\nextra_javascript:\n - https://cdn.jsdelivr.net/npm/mermaid@11.3.0/dist/mermaid.min.js\n```\n\nIf you do not like our default setup, you are free to modify it. Simply provide a script file before before you include\nMermaid with the new config:\n\n```yml\nextra_javascript:\n - my_mermaid_config.js\n - https://cdn.jsdelivr.net/npm/mermaid@11.3.0/dist/mermaid.min.js\n```\nAlso, setup your Mermaid diagrams:\n\n```yml\nmarkdown_extensions:\n - pymdownx.superfences:\n custom_fences:\n # Mermaid diagrams\n - name: diagram\n class: diagram\n format: !!python/name:pymdownx.superfences.fence_code_format\n```\n\nThen you can specify your Mermaid diagrams in `diagram` code blocks:\n\n````\n```diagram\n...\n```\n````\n\nMermaid setups are provided per scheme. You can see the setup [here](https://github.com/facelessuser/pymdown-extensions/blob/main/docs/src/js/material-extra-3rdparty.js).\nif you are trying to override them.\n\n## MathJax/KaTeX\n\nAgain, MathJax and KaTeX support is baked in. Simply add the MathJax script(s) to your MkDocs config:\n\nMathJax:\n\n```yml\nextra_javascript:\n - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js\n```\n\nKaTeX:\n\n```yml\nextra_css:\n - https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.css\n\nextra_javascript:\n - https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.js\n```\n\nLastly, setup Arithmatex:\n\n```yml\nmarkdown_extensions:\n - pymdownx.arithmatex:\n generic: true # Must use generic mode\n block_tag: 'pre' # We wrap block math in `<pre>` to avoid issues with MkDocs minify HTML plugin: https://github.com/byrnereese/mkdocs-minify-plugin\n```\n\nIf you do not like the default MathJax setup, add your own config before MathJax script:\n\n```yml\nextra_javascript:\n - my_mathjax_config.js\n - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "Plugin to extend MkDocs Material theme.",
"version": "2.7",
"project_urls": {
"Homepage": "https://github.com/facelessuser/mkdocs_pymdownx_material_extras"
},
"split_keywords": [
"extensions",
" markdown"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6b42afb40ca6efcad730af59b08e6b64e80e6681ab3619038cffbcf10d5c6c1d",
"md5": "3b27c4a8ff667257f5040d56dc4c6f73",
"sha256": "97b396f22ed8738addb15dba3d6e3b1ef169c38a6ce748871ed37960b9eae141"
},
"downloads": -1,
"filename": "mkdocs_pymdownx_material_extras-2.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3b27c4a8ff667257f5040d56dc4c6f73",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 27942,
"upload_time": "2025-01-07T13:13:25",
"upload_time_iso_8601": "2025-01-07T13:13:25.169953Z",
"url": "https://files.pythonhosted.org/packages/6b/42/afb40ca6efcad730af59b08e6b64e80e6681ab3619038cffbcf10d5c6c1d/mkdocs_pymdownx_material_extras-2.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "45f22801e704e61824fc61fd4685da460ca8b41540cb6efc8eb6e80a5e064885",
"md5": "0b5422b174ac37f2251b6b58eed77e3c",
"sha256": "f62bf05fbf31a27bad4215985c92411ca38a9592de6c479aaf6cad58464c4e25"
},
"downloads": -1,
"filename": "mkdocs_pymdownx_material_extras-2.7.tar.gz",
"has_sig": false,
"md5_digest": "0b5422b174ac37f2251b6b58eed77e3c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 25619,
"upload_time": "2025-01-07T13:13:27",
"upload_time_iso_8601": "2025-01-07T13:13:27.682131Z",
"url": "https://files.pythonhosted.org/packages/45/f2/2801e704e61824fc61fd4685da460ca8b41540cb6efc8eb6e80a5e064885/mkdocs_pymdownx_material_extras-2.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-07 13:13:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "facelessuser",
"github_project": "mkdocs_pymdownx_material_extras",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "mkdocs-pymdownx-material-extras"
}