#emoji #github #unicode #markdown #compile-time

node-emoji

Convert :emoji: to Unicode using GitHub’s and EmojiDB’s emoji names

1 stable release

1.0.7 Nov 27, 2022

#1103 in Text processing

MIT license

190KB
5.5K SLoC

Expanded emoji set for Rust

Full, up-to-date database of emojis which have Unicode equivalents, taken from GitHub emoji and emoji-data which contains a few more entries. If you spot noteworthy updates in either of these and don't see the changes reflected here, please open an issue. 🙏

This is a fork of gh-emoji, which remains scoped to track exactly the short-codes from the gemoji package.

Pre-generated and hashed at compile time for fast lookup.

Useful when rendering GitLab/GitHub-flavored Markdown, although this crate does not parse any Markdown itself. I needed this for a re-implementation of ssb-markdown which uses node-emoji. However, it seems from cursory testing that node-emoji is also used in other popular apps like e.g. Slack, which means this might be more broadly useful. If you find discrepancies between node-emoji and this crate, file an issue. 🙂

Example usage

// yes, emoji-data has an extra robot_face entry! 🤖
assert_eq!(gh_emoji::get("robot"), gh_emoji::get("robot_face"));
let replacer = gh_emoji::Replacer::new();
let text = replacer.replace_all(":crocodile:, see you in a while!");

Dependencies

~2.8–4MB
~69K SLoC