node-emoji

:smirk: simple emoji support for node.js projects

Github星跟蹤圖

node-emoji

NPM version (1.0.3) NPM Downloads Build Status Dependencies https://paypal.me/DanielBugl/9

simple emoji support for node.js projects

node-emoji example

Help wanted: We are looking for volunteers to maintain this project, if you are interested, feel free to contact me at me@omnidan.net

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') // returns the emoji code for coffee (displays emoji on terminals that support it)
emoji.which(emoji.get('coffee')) // returns the string "coffee"
emoji.get(':fast_forward:') // `.get` also supports github flavored markdown emoji (http://www.emoji-cheat-sheet.com/)
emoji.emojify('I :heart: :coffee:!') // replaces all :emoji: with the actual emoji, in this case: returns "I ❤️ ☕️!"
emoji.random() // returns a random emoji + key, e.g. `{ emoji: '❤️', key: 'heart' }`
emoji.search('cof') // returns an array of objects with matching emoji's. `[{ emoji: '☕️', key: 'coffee' }, { emoji: ⚰', key: 'coffin'}]`
emoji.unemojify('I ❤️ 🍕') // replaces the actual emoji with :emoji:, in this case: returns "I :heart: :pizza:"
emoji.find('🍕') // Find the `pizza` emoji, and returns `({ emoji: '🍕', key: 'pizza' })`;
emoji.find('pizza') // Find the `pizza` emoji, and returns `({ emoji: '🍕', key: 'pizza' })`;
emoji.hasEmoji('🍕') // Validate if this library knows an emoji like `🍕`
emoji.hasEmoji('pizza') // Validate if this library knowns a emoji with the name `pizza`
emoji.strip('⚠️ 〰️ 〰️ low disk space') // Strips the string from emoji's, in this case returns: "low disk space".
emoji.replace('⚠️ 〰️ 〰️ low disk space', (emoji) => `${emoji.key}:`) // Replace emoji's by callback method: "warning: low disk space"

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);
// emojified: I unknown_emoji ⭐️ another_one

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);
// emojified: I <img alt="❤️" src="heart.png" /> <img alt="☕️" src="coffee.png" />

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!):

License

FOSSA Status

主要指標

概覽
名稱與所有者omnidan/node-emoji
主編程語言TypeScript
編程語言JavaScript (語言數: 3)
平台
許可證MIT License
所有者活动
創建於2014-08-13 12:17:54
推送於2025-02-07 08:30:10
最后一次提交2022-10-10 16:58:03
發布數31
最新版本名稱v2.2.0 (發布於 2024-12-03 18:36:49)
第一版名稱v0.1.0 (發布於 )
用户参与
星數1.3k
關注者數9
派生數242
提交數389
已啟用問題?
問題數81
打開的問題數10
拉請求數179
打開的拉請求數2
關閉的拉請求數54
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?