Skip to content

Friendly emoji lookups and parsing utilities for nuxt module. πŸ’–

Notifications You must be signed in to change notification settings

xingxing-collective/node-emoji-nuxt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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