Skip to content

Latest commit

 

History

History
258 lines (172 loc) · 5.73 KB

README.md

File metadata and controls

258 lines (172 loc) · 5.73 KB

Emoji Nuxt Module

Friendly emoji lookups and parsing utilities for Node.js. 💖

npm version npm downloads License Nuxt

Node Emoji Nuxt Module supporting v3

Quick Setup

  1. Add node-emoji-nuxt dependency to your project
npx nuxi@latest module add node-emoji-nuxt
  1. Add node-emoji-nuxt to the modules section of nuxt.config.ts
export default defineNuxtConfig({
  modules: [
    'node-emoji-nuxt'
  ]
})

Basic Usage

You can use the provided $emoji to access node-emoji-nuxt in template.

<template>
  <div>
    {{ $emoji.emojify("I :heart: :coffee:!") }}
  </div>
</template>

Composables

You can use the useEmoji,useEmojify and useUnemojify composable to access node-emoji-nuxt anywhere.

const emoji = useEmoji()
emoji.emojify("I :heart: :coffee:!") // 'I ❤️ ☕️!'
// or use the useEmojify composable

emoji.unemojify('The 🦄 is a fictitious animal.') // 'The :unicorn: is a fictitious animal.'
// or use the useUnemojify composable

API

emoji.emojify(input, options?)

Parse all markdown-encoded emojis in a string.

Parameters:

  1. input (string): The input string containing the markdown-encoding emojis.
  2. options (optional):
    • fallback (string; default: ""): The string to fallback to if an emoji was not found.
    • format (() => (emoji: string, part: string, string: string) => string; default: value => value): Add a middleware layer to modify each matched emoji after parsing.
const emoji = useEmoji()

console.log(emoji.emojify('The :unicorn: is a fictitious animal.'))
// 'The 🦄 is a fictitious animal.'

emoji.find(emoji)

Get the name and character of an emoji.

Parameters:

  1. emoji (string): The emoji to get the data of.
const emoji = useEmoji()

console.log(emoji.find('🦄'))
// { name: 'unicorn', emoji: '🦄' }

emoji.get(name)

Get an emoji from an emoji name.

Parameters:

  1. name (string): The name of the emoji to get.
const emoji = useEmoji()

console.log(emoji.get('unicorn'))
// '🦄'

emoji.has(emoji)

Check if this library supports a specific emoji.

Parameters:

  1. emoji (string): The emoji to check.
const emoji = useEmoji()

console.log(emoji.has('🦄'))
// true

emoji.random()

Get a random emoji.

const emoji = useEmoji()

console.log(emoji.random())
// { name: 'unicorn', emoji: '🦄' }

emoji.replace(input, replacement)

Replace the emojis in a string.

Parameters:

  • input (string): The input string.
  • replacement (string | (emoji: string, index: number, string: string) => string): The character to replace the emoji with. Can be either a string or a callback that returns a string.
const emoji = useEmoji()

console.log(emoji.replace('The 🦄 is a fictitious animal.', 'unicorn'))
// 'The unicorn is a fictitious animal.'

emoji.search(keyword)

Search for emojis containing the provided name in their name.

Parameters:

  1. keyword (string): The keyword to search for.
const emoji = useEmoji()

console.log(emoji.search('honey'))
// [ { name: 'honeybee', emoji: '🐝' }, { name: 'honey_pot', emoji: '🍯' } ]

emoji.strip(input, options?)

Remove all of the emojis from a string.

Parameters:

  1. input (string): The input string to strip the emojis from.

  2. options (optional):

    • preserveSpaces (boolean): Whether to keep the extra space after a stripped emoji.
const emoji = useEmoji()

console.log(emoji.strip('🦄 The unicorn is a fictitious animal.'))
// 'The unicorn is a fictitious animal.'

console.log(
  emoji.strip('🦄 The unicorn is a fictitious animal.', {
    preserveSpaces: true,
  }),
)
// ' The unicorn is a fictitious animal.'

emoji.unemojify(input)

Convert all emojis in a string to their markdown-encoded counterparts.

Parameters:

  1. input (string): The input string containing the emojis.
const emoji = useEmoji()

console.log(emoji.unemojify('The 🦄 is a fictitious animal.'))
// 'The :unicorn: is a fictitious animal.'

emoji.which(emoji, options?)

Get an emoji name from an emoji.

Parameters:

  1. emoji (string): The emoji to get the name of.
  2. options (optional):
    • markdown (boolean; default: false): Whether to return a ":emoji:" string instead of "emoji"
const emoji = useEmoji()

console.log(emoji.which('🦄'))
// 'unicorn'

Development

# Install dependencies
npm install

# Generate type stubs
npm run dev:prepare

# Develop with the playground
npm run dev

# Build the playground
npm run dev:build

# Run ESLint
npm run lint

# Run Vitest
npm run test
npm run test:watch

# Release new version
npm run release