unified

Project: retextjs/retext-emoji

Package: retext-emoji@7.0.1

  1. Dependencies: 7·Dependents: 5
  2. retext plugin to support emoji, gemoji, and emoticons
  1. unified 158
  2. plugin 129
  3. retext 32
  4. retext-plugin 21
  5. emoji 5
  6. emoticon 4
  7. gemoji 2

retext-emoji

Build Coverage Downloads Size Sponsors Backers Chat

retext plugin to support emoji, gemoji, and emoticons.

Install

npm:

npm install retext-emoji

Use

var retext = require('retext')
var emoji = require('retext-emoji')

var file = retext()
  .use(emoji, {convert: 'encode'})
  .processSync('I’m going to bed. :zzz:')

console.log(String(file))

Yields:

I’m going to bed. 💤

API

retext().use(emoji[, options])

Support emoji, gemoji, and emoticons.

options.convert

If, and how to convert ('encode' or 'decode', optional).

When encode is given, converts short-codes and emoticons to their unicode equivalent (:heart: and <3 to ❤️).

When decode is given, converts unicode emoji and emoticons to their short-code equivalent (❤️ and <3 to :heart:).

EmoticonNode

retext-emoji adds a new node to nlcst: Emoticon (Literal).

Whether emoji (❤️), emoticon (<3), or gemoji (:heart:), all are classified as EmoticonNodes.

interface Emoticon < Symbol {
  type: "EmoticonNode"
  data: EmoticonData
}

interface EmoticonData {
  emoji: string
  names: [string]
  description: string?
  tags: [string]
}

Support

retext-emoji supports every gemoji and every emoticon.

Contribute

See contributing.md in retextjs/.github for ways to get started. See support.md for ways to get help.

This project has a Code of Conduct. By interacting with this repository, organisation, or community you agree to abide by its terms.

License

MIT © Titus Wormer