retext-emoji
retext plugin to support emoji, gemoji, and emoticons.
Install
This package is ESM only:
Node 12+ is needed to use it and it must be import
ed instead of require
d.
npm:
npm install retext-emoji
Use
import retext from 'retext'
import emoji from 'retext-emoji'
const file = retext()
.use(emoji, {convert: 'encode'})
.processSync('I’m going to bed. :zzz:')
console.log(String(file))
Yields:
I’m going to bed. 💤
API
This package exports no identifiers.
The default export is retextEmoji
.
unified().use(retextEmoji[, 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 EmoticonNode
s.
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