Skip to content

Incognitov/nodebb-plugin-emoji-extended

 
 

Repository files navigation

nodebb-plugin-emoji-extended

This repository is outdated. nodebb-plugin-emoji-extended has been written again from scratch. Please use NodeBB-Community/nodebb-plugin-emoji-extended instead.

This repository might get deleted soon.

Features

  • Emoticons as defined at Emoji cheat sheet
  • Emoticons get updated on each server-startup (and each 24d)
  • Mapping of texts like :), ;), etc.
  • Autocomplete for Textarea of emoticons (not for mapped ones)
  • Code-blocks get ignored (markdown-syntax)
  • API to add textcomplete to other fields (by default parsing posts and chat)

Installation

The preferred way of installing plugins is via your NodeBB Admin-CP since this ensures the compatibility of plugins with you NodeBB version.

Please ensure you don't have nodebb-plugin-emoji enabled since this causes parsing-conflicts.

Deprecated

npm install nodebb-plugin-emoji-extended

Client-Side API (usable by other plugins)

On client-side you have access to the window.emojiExtended object that provides the following attributes:

  • [Array] list A list of all available emoji-names.
  • [Boolean] updated Whether emoji-extended:updated has been triggered yet (see below).
  • [String] path The folder-URL that contains all image-files.
  • [String] version The version-string of emoji-extended.
  • [String] getPath(name) Returns the URL of the image that shows the emoji of given name (case-insensitive).
  • [Promise] ready A promise that gets resolved once emoji-extended got initialized. Gets passed a function addTextComplete(target, callback).
  • [null] addCompletion(target, callback) An alias for ready with forwarding parameters to resolved addTextComplete function.

Events called on window:

  • emoji-extended:initialized Emoji-Extended has been initialized, window.emojiExtended got created.
  • emoji-extended:updated Data got retrieved from server (window.emojiExtended.list and window.emojiExtended.version got updated)

In conclusion to use the API of emoji-extended the client-side code within your plugin may look like this:

function doSth(emojiExtended) {
  // emoji-extended is initialized, you may use the API here
}

if (typeof window.emojiExtended !== 'undefined')
  doSth(window.emojiExtended);
else
  $(window).one('emoji-extended:initialized', doSth);

Credits

emoji-parser

nodebb-plugin-emoji

Autocomplete for Textarea

About

NodeBB Plugin enabling emoji as seen on http://www.emoji-cheat-sheet.com

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CoffeeScript 83.1%
  • Smarty 15.2%
  • CSS 1.7%