Skip to content
Python-Markdown extension that replaces common smileys with their Unicode emoji emoticons.
Tree: d918236856
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
tests Add tests Sep 17, 2016
.travis.yml Add tests Sep 17, 2016
README.md Initial Dec 31, 2014
mdx_unimoji.py Initial Dec 31, 2014
setup.py Initial Dec 31, 2014
tests.py Add tests Sep 17, 2016
tox.ini Add tests Sep 17, 2016

README.md

Unicode Emojis for Python-Markdown

Converts defined emoticon symbols to Unicode emojis, supported on a variety of devices 1.

Usage:

>>> from __future__ import print_function
>>> from markdown import markdown
>>> text = 'I <3 you! Just kidding. :P'
>>> print(markdown(text, ['unimoji']))    # doctest: +NORMALIZE_WHITESPACE
<p>I <span class="emoji" style="color:red">❤</span> you! \
Just kidding. <span class="emoji">😛</span></p>

NOTE: The emojis are only replaced when whitespace-delimited on both sides!

The following options are accepted:

  • emoji, the emoticon-to-list-of-aliases mapping,
  • span_class, the class name of the encompassing <span> element (default: 'emoji'). No element is created if None.

An example with these custom settings:

>>> from mdx_unimoji import UnimojiExtension
>>> img_heart = '<img alt="love" src="heart.png"/>'
>>> img_tongue = '<img alt=":P" src="tongue.png"/>'
>>> overrides = UnimojiExtension.EMOJI
>>> overrides.update({img_heart: ['<3'],
...                   img_tongue: ':p :P :-p :-P'.split()})
>>> print(markdown(text,
...                extensions=[UnimojiExtension(span_class='other',
...                                             emoji=overrides)]))
... # doctest: +NORMALIZE_WHITESPACE
<p>I <img alt="love" class="other" src="heart.png" /> you! \
Just kidding. <img alt=":P" class="other" src="tongue.png" /></p>

You can use the span_class value in your CSS, e.g.:

.emoji {
    font-family: "Apple Color Emoji", "Segoe UI Emoji",
                 "Noto Color Emoji", EmojiSymbols, "DejaVu Sans", Symbola;
}

Install

To install and make available to Markdown, you can issue:

pip install mdx_unimoji

or

pip install --upgrade git+git://github.com/kernc/mdx_unimoji.git

Then use the above provided examples to figure your way around.

HF!

You can’t perform that action at this time.