Skip to main content

Emoji notation expansion.

Project description

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

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

Marked 2 Config

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
inject_emoji-1.0.0-py2.py3-none-any.whl (13.3 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Oct 14, 2016
inject-emoji-1.0.0.tar.gz (3.9 MB) Copy SHA256 hash SHA256 Source None Oct 14, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page