140 lines
6.8 KiB
Plaintext
140 lines
6.8 KiB
Plaintext
Metadata-Version: 2.1
|
|
Name: mkdocs-material-extensions
|
|
Version: 1.3.1
|
|
Summary: Extension pack for Python Markdown and MkDocs Material.
|
|
Project-URL: Homepage, https://github.com/facelessuser/mkdocs-material-extensions
|
|
Author-email: Isaac Muse <Isaac.Muse@gmail.com>
|
|
License-Expression: MIT
|
|
License-File: LICENSE.md
|
|
Keywords: extensions,markdown
|
|
Classifier: Development Status :: 5 - Production/Stable
|
|
Classifier: Environment :: Console
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: License :: OSI Approved :: MIT License
|
|
Classifier: Operating System :: OS Independent
|
|
Classifier: Programming Language :: Python :: 3
|
|
Classifier: Programming Language :: Python :: 3.8
|
|
Classifier: Programming Language :: Python :: 3.9
|
|
Classifier: Programming Language :: Python :: 3.10
|
|
Classifier: Programming Language :: Python :: 3.11
|
|
Classifier: Programming Language :: Python :: 3.12
|
|
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
Classifier: Topic :: Text Processing :: Filters
|
|
Classifier: Topic :: Text Processing :: Markup :: HTML
|
|
Requires-Python: >=3.8
|
|
Description-Content-Type: text/markdown
|
|
|
|
[![Donate via PayPal][donate-image]][donate-link]
|
|
[![Build][github-ci-image]][github-ci-link]
|
|
[![Coverage Status][codecov-image]][codecov-link]
|
|
[![PyPI Version][pypi-image]][pypi-link]
|
|
[![PyPI - Python Version][python-image]][pypi-link]
|
|
![License][license-image-mit]
|
|
# MkDocs Material Extensions
|
|
|
|
> NOTE: This project is now deprecated as MkDocs for Material now implements this logic directly.
|
|
> Users should migrate to using `mkdocs-material`'s `material.extensions.emoji.twemoji` and
|
|
> `material.extensions.emoji.to_svg` in place of the respective `materialx.emoji.twemoji` and `materialx.emoji.to_svg`
|
|
> functions provided by this library.
|
|
|
|
Markdown extension resources for [MkDocs for Material][mkdocs-material]
|
|
|
|
## Install
|
|
|
|
Generally, just installing MkDocs Material will automatically install `mkdocs-material-extensions`. But if you had a
|
|
need to manually install it, you can use pip.
|
|
|
|
```
|
|
pip install mkdocs-material-extensions
|
|
```
|
|
|
|
But make sure you've also installed MkDocs Material as well as this won't work without it.
|
|
|
|
```
|
|
pip install mkdocs-material
|
|
```
|
|
|
|
## Inline SVG Icons
|
|
|
|
MkDocs Material provides numerous icons from Material, FontAwesome, and Octicons, but it does so by inlining the SVG
|
|
icons into the source. Currently there is no easy way access these icons and arbitrarily insert them into Markdown
|
|
content. Users must include the icon fonts themselves and do it with HTML.
|
|
|
|
This module allows you to use PyMdown Extensions' [Emoji][emoji] extension to enable easy insertion of MkDocs Material's
|
|
SVG assets using simple `:emoji-syntax:`. This is done by creating our own [emoji index][emoji-index] and
|
|
[emoji generator][emoji-generator]. The custom index provides a modified version of the Emoji extensions Twemoji
|
|
index.
|
|
|
|
In addition to the custom index, you must also specify the associated custom generator. This will will find the
|
|
appropriate icon and insert it into your Markdown content as an inlined SVG.
|
|
|
|
Example:
|
|
|
|
```yaml
|
|
markdown_extensions:
|
|
- pymdownx.emoji:
|
|
emoji_index: !!python/name:materialx.emoji.twemoji
|
|
emoji_generator: !!python/name:materialx.emoji.to_svg
|
|
```
|
|
|
|
Then, using the folder structure of Material's `.icons` folder, you can specify icons:
|
|
|
|
```
|
|
We can use Material Icons :material-airplane:.
|
|
|
|
We can also use Fontawesome Icons :fontawesome-solid-ambulance:.
|
|
|
|
That's not all, we can also use Octicons :octicons-octoface:.
|
|
```
|
|
|
|
## Using Local Custom Icons
|
|
|
|
In MkDocs, you can override theme assets locally, and even add assets to the theme. Unfortunately, the Markdown parsing
|
|
process isn't aware of the MkDocs environment. Luckily, if you are using PyMdown Extensions 7.1, you can pass in custom
|
|
icon paths that will be used when constructing the emoji index and include your custom SVG assets. If a folder path of
|
|
`theme/my_icons` was given to the index builder, all icons under `my_project/my_icons`, even in sub-folders, would
|
|
become part of the index.
|
|
|
|
```yaml
|
|
markdown_extensions:
|
|
- pymdownx.emoji:
|
|
emoji_index: !!python/name:materialx.emoji.twemoji
|
|
emoji_generator: !!python/name:materialx.emoji.to_svg
|
|
options:
|
|
custom_icons:
|
|
- theme/my_icons
|
|
```
|
|
|
|
If given an icon at `my_project/my_icons/animals/bird.svg`, the icon would be available using the emoji syntax as
|
|
`:animals-bird:`. Notice that the base folder that is provided doesn't contribute to the icon's name. Also, folders
|
|
are separated with `-`. Folder names and icon names should be compatible with the emoji syntax, so special characters
|
|
should be avoided -- `-` and `_` are okay.
|
|
|
|
You can provide as many paths as you would like, and they will be evaluated in the order that they are specified. The
|
|
Material theme's own icons will be evaluated after all custom paths. This allows a user to override Material's icons if
|
|
desired.
|
|
|
|
If an icon name is already in the index, the icon will not be added. It is recommended to always have your icons in
|
|
sub-folders to help namespace them to avoid name collisions. In the example above, `bird` was under `animals` which
|
|
created the name `:animals-bird:` and helped create a more unique name with less of a chance of creating a duplicate
|
|
name with existing emoji and Material icons.
|
|
|
|
[emoji]: https://facelessuser.github.io/pymdown-extensions/extensions/emoji/
|
|
[emoji-index]: https://facelessuser.github.io/pymdown-extensions/extensions/emoji/#custom-emoji-indexes
|
|
[emoji-generator]: https://facelessuser.github.io/pymdown-extensions/extensions/emoji/#custom-emoji-generators
|
|
[mkdocs-material]: https://github.com/squidfunk/mkdocs-material
|
|
|
|
[donate-image]: https://img.shields.io/badge/Donate-PayPal-3fabd1?logo=paypal
|
|
[donate-link]: https://www.paypal.me/facelessuser
|
|
[github-ci-image]: https://github.com/facelessuser/mkdocs-material-extensions/workflows/build/badge.svg?branch=master&event=push
|
|
[github-ci-link]: https://github.com/facelessuser/mkdocs-material-extensions/actions?query=workflow%3Abuild+branch%3Amaster
|
|
[discord-image]: https://img.shields.io/discord/678289859768745989?logo=discord&logoColor=aaaaaa&color=mediumpurple&labelColor=333333
|
|
[discord-link]: https://discord.gg/TWs8Tgr
|
|
[codecov-image]: https://img.shields.io/codecov/c/github/facelessuser/mkdocs-material-extensions/master.svg?logo=codecov&logoColor=aaaaaa&labelColor=333333
|
|
[codecov-link]: https://codecov.io/github/facelessuser/mkdocs-material-extensions
|
|
[pypi-image]: https://img.shields.io/pypi/v/mkdocs-material-extensions.svg?logo=pypi&logoColor=aaaaaa&labelColor=333333
|
|
[pypi-link]: https://pypi.python.org/pypi/mkdocs-material-extensions
|
|
[python-image]: https://img.shields.io/pypi/pyversions/mkdocs-material-extensions?logo=python&logoColor=aaaaaa&labelColor=333333
|
|
[license-image-mit]: https://img.shields.io/badge/license-MIT-blue.svg?labelColor=333333
|