1.4.0 • Published 2 months ago

marked-emoji v1.4.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

marked-emoji

Parse :emoji: as emoji either unicode characters or images. You have to provide your own emojis. The example uses the list of emojis provided by @octokit/rest but you can also just create your own list from any source.

The emojis option is required.

Usage

Octokit example

import {marked} from "marked";
import {markedEmoji} from "marked-emoji";

// or UMD script
// <script src="https://cdn.jsdelivr.net/npm/marked/lib/marked.umd.js"></script>
// <script src="https://cdn.jsdelivr.net/npm/marked-emoji/lib/index.umd.js"></script>

import {Octokit} from "@octokit/rest";

const octokit = new Octokit();
// Get all the emojis available to use on GitHub.
const res = await octokit.rest.emojis.get();
/*
 * {
 *   ...
 *   "heart": "https://...",
 *   ...
 *   "tada": "https://...",
 *   ...
 * }
 */
const emojis = res.data;

const options = {
	emojis,
	renderer: (token) => `<img alt="${token.name}" src="${token.emoji}" class="marked-emoji-img">`
};

marked.use(markedEmoji(options));

marked.parse("I :heart: marked! :tada:");
// <p>I <img alt="heart" src="https://..." class="marked-emoji-img"> marked! <img alt="tada" src="https://..." class="marked-emoji-img"></p>
// I ❤️ marked! 🎉

Unicode example

const options = {
	emojis: {
		"heart": "❤️",
		"tada": "🎉"
	},
	renderer: (token) => token.emoji
};

marked.use(markedEmoji(options));

marked.parse("I :heart: marked! :tada:");
// <p>I ❤️ marked! 🎉</p>

Font Awesome example

const options = {
	emojis: {
		"heart": "fa-heart",
		"tada": "fa-tada"
	},
	renderer: (token) => `<i class="fa-solid ${token.emoji}"></i>`
};

marked.use(markedEmoji(options));

marked.parse("I :heart: marked! :tada:");
// <p>I <i class="fa-solid fa-heart"></i> marked! <i class="fa-solid fa-tada"></i></p>
// I ❤️ marked! 🎉

options

optiondefaultdescription
emojisrequiredAn object with keys as emoji name and values as emoji.
rendererOctokit renderer: (token) => `<img alt="${token.name}" src="${token.emoji}" class="marked-emoji-img">`A function that takes a token object and renders a string.

token

propertytypedescription
emojistringThe emoji value.
namestringThe emoji name.
1.4.0

2 months ago

1.3.2

3 months ago

1.3.1

5 months ago

1.2.5

6 months ago

1.3.0

6 months ago

1.2.4

8 months ago

1.2.3

8 months ago

1.2.0

10 months ago

1.1.1

11 months ago

1.0.2

11 months ago

1.1.0

11 months ago

1.2.2

9 months ago

1.2.1

9 months ago

1.0.1

1 year ago

1.0.0

1 year ago

1.0.0-SNAPSHOT

1 year ago