inject-emoji

Emoji notation expansion.


License
MIT
Install
pip install inject-emoji==1.0.0

Documentation

✨💉✨ inject-emoji

Build Status

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_]+):)(?!`)

Regular expression visualization

Debuggex Demo

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:

Marked 2 Config