Skip to main content

Emoji notation expansion.

Project description

:sparkles::syringe::sparkles: inject-emoji
==========================================

|Build Status|

A simple script to replace `emoji <http://emoji-cheat-sheet.com>`__
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 <https://github.com/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
^^^^^^^^^^^^

.. code:: text

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

.. figure:: https://raw.githubusercontent.com/claylo/inject-emoji/master/media/mR9lztEVrnVQB463.png
:alt: Regular expression visualization

Regular expression visualization

`Debuggex Demo <https://www.debuggex.com/r/mR9lztEVrnVQB463>`__

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 <http://marked2app.com>`__. To use it with Marked 2, configure
it as a preprocessor like so:

.. figure:: https://raw.githubusercontent.com/claylo/inject-emoji/master/media/preprocessor-marked2.png
:alt: Marked 2 Config

Marked 2 Config

.. |Build Status| image:: https://travis-ci.org/claylo/inject-emoji.svg?branch=master
:target: https://travis-ci.org/claylo/inject-emoji

Project details


Download files

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

Files for inject-emoji, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size inject_emoji-1.0.0-py2.py3-none-any.whl (13.3 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size inject-emoji-1.0.0.tar.gz (3.9 MB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page