What is node-emoji?
The node-emoji package provides a simple way to add Unicode emoji support to your Node.js applications. It allows you to easily include emoji characters in your strings and manipulate them as needed.
What are node-emoji's main functionalities?
Get emoji by name
Retrieve an emoji character using its name (alias).
const emoji = require('node-emoji');
console.log(emoji.get('coffee')); // outputs the coffee emoji
Find emoji in a string
Search for and return information about an emoji within a string.
const emoji = require('node-emoji');
console.log(emoji.find('I :heart: node-emoji!')); // finds and returns the heart emoji object
Replace emoji names with characters in a string
Convert emoji aliases in a string to their corresponding emoji characters.
const emoji = require('node-emoji');
console.log(emoji.emojify('I :heart: node-emoji!')); // replaces the :heart: alias with the actual heart emoji character
Replace characters with emoji names in a string
Convert emoji characters in a string to their corresponding emoji aliases.
const emoji = require('node-emoji');
console.log(emoji.unemojify('I ❤️ node-emoji!')); // replaces the heart emoji character with its alias :heart:
Random emoji
Get a random emoji object, which includes the emoji character and its alias.
const emoji = require('node-emoji');
console.log(emoji.random()); // returns a random emoji object
Other packages similar to node-emoji
emojione
Emojione is a package that provides emoji conversion and supports a wide range of emoji characters. It is similar to node-emoji but also includes additional features such as emoji shortcodes, ASCII conversions, and sprite generation.
emoji-js
Emoji-js is a package that allows for conversion between Unicode characters and emoji images. It differs from node-emoji in that it can convert emoji characters into images, which can be useful for web applications that need to support a wide range of devices and platforms.
twemoji
Twemoji is a Twitter open-source project that provides emoji support across different platforms. It offers emoji parsing and image conversion, similar to emoji-js, and focuses on consistent emoji rendering across all platforms.
node-emoji
simple emoji support for node.js projects
Installation
To install node-emoji
, you need node.js and npm. :rocket:
Once you have that set-up, just run npm install --save node-emoji
in your project directory. :ship:
You're now ready to use emoji in your node projects! Awesome! :metal:
Usage
var emoji = require('node-emoji')
emoji.get('coffee')
emoji.which(emoji.get('coffee'))
emoji.get(':fast_forward:')
emoji.emojify('I :heart: :coffee:!')
emoji.random()
emoji.search('cof')
emoji.unemojify('I ❤️ 🍕')
emoji.find('🍕')
emoji.find('pizza')
emoji.hasEmoji('🍕')
emoji.hasEmoji('pizza')
emoji.strip('⚠️ 〰️ 〰️ low disk space')
emoji.replace('⚠️ 〰️ 〰️ low disk space', (emoji) => `${emoji.key}:`)
Options
onMissing
emoji.emojify(str, onMissing)
As second argument, emojify
takes an handler to parse unknown emojis. Provide a function to add your own handler:
var onMissing = function (name) {
return name;
});
var emojified = emoji.emojify('I :unknown_emoji: :star: :another_one:', onMissing);
format
emoji.emojify(str, onMissing, format)
As third argument, emojify
takes an handler to wrap parsed emojis. Provide a function to place emojis in custom elements, and to apply your custom styling:
var format = function (code, name) {
return '<img alt="' + code + '" src="' + name + '.png" />';
});
var emojified = emoji.emojify('I :unknown_emoji: :star: :another_one:', null, format);
Adding new emoji
Emoji come from js-emoji (Thanks a lot :thumbsup:). You can get a JSON file with all emoji here: https://raw.githubusercontent.com/omnidan/node-emoji/master/lib/emoji.json
To update the list or add custom emoji, clone this repository and put them into lib/emojifile.js
.
Then run npm run-script emojiparse
in the project directory or node emojiparse
in the lib directory.
This should generate the new emoji.json file and output Done.
.
That's all, you now have more emoji you can use! :clap:
Support / Donations
If you want to support node-emoji development, please consider donating (it helps me keeping my projects active and alive!):