✨ 💉 ✨ inject-emoji
A simple script to replace emoji string notation such as :simple_smile:
with an HTML image tag. By default, inject-emoji
reads from STDIN
, and writes to STDOUT
.
About
So many offline GitHub Flavored Markdown renderers, yet so few with GitHub Flavored Markdown Emoji. Until now.
The Interface
inject-emoji
is available both as a Python module and a command-line application (powered by Python).
The Python Module
injectemoji.InjectEmoji([Input FileObj], [Output FileObj], [emoji_directory])
If input and/or output FileObjects are provided, they will be used accordingly. If none are provided, sys.stdin
and sys.stdout
, respectively, will be used. If an emoji directory (say, from your own checkout of WebpageFX/emoji-cheat-sheet.com), the substitutions provided to the regular expression in inject-emoji
will be a reflection of the filenames in that directory.
The CLI Tool
usage: inject-emoji [-h] [-o FILE] [-d EMOJI_DIR] [FILE]
Convert emoji-cheat-sheet notation to HTML image tags.
positional arguments:
FILE Read from FILE instead of stdin
optional arguments:
-h, --help show this help message and exit
-o FILE, --output FILE
Write to FILE instead of stdout
-d EMOJI_DIR, --dir EMOJI_DIR
Read emoji directory listing from EMOJI_DIR instead of
bundled emoji
The Installation
$ pip install inject-emoji
The RegEx
The regular expression match is Python-flavored. The shorthand view of it is:
(?<!`)(:([\-\+a-z0-9_]+):)(?!`)
However, in the source itself, all 800+ emoji names are compiled into the regex.
The Why
I wrote this script to enhance Github Flavored Markdown generated by Marked 2. To use it with Marked 2, configure it as a preprocessor like so: