Skip to content

Adding custom icons in custom theme extending Material for MkDocs #7371

Closed Answered by joapuiib
joapuiib asked this question in Q&A
Discussion options

You must be logged in to vote

It was easier than I thought.

I have solved it by adding my own emoji extension and configuring it in mkdocs.yml


custom_theme/extensions/emoji.py

import os

from inspect import getfile
from markdown import Markdown
from material.extensions.emoji import _load_twemoji_index
import custom_theme

# Create twemoji index
def twemoji(options: object, md: Markdown):
    paths = options.get("custom_icons", [])[:]

    root = os.path.dirname(getfile(custom_theme))
    root = os.path.join(root, ".icons")

    paths.append(root)
    return _load_twemoji_index(tuple(paths))

In mydocs.yml:

markdown_extensions:
  - pymdownx.details
  - pymdownx.emoji:
      emoji_index: !!python/name:custom_theme.exten…

Replies: 2 comments 6 replies

Comment options

You must be logged in to vote
5 replies
@kamilkrzyskow
Comment options

@joapuiib
Comment options

@kamilkrzyskow
Comment options

@joapuiib
Comment options

@kamilkrzyskow
Comment options

Comment options

You must be logged in to vote
1 reply
@kamilkrzyskow
Comment options

Answer selected by kamilkrzyskow
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants