ASCIImoji is a small library which replaces certain keywords in texts with ASCII emoticons.
Features
- currently 296 different built-in emoticons/symbols
- interactive emoticons / generators
- configurable keyword prefix and suffix (defaults to parentheses ( ))
- support for custom emoticons
Current version: 1.6.0
Release types
-
jQuery plugin | minified - for text fields in your projects
-
Chrome Extension - asciify your browsing experience
-
Mac OS text shortcut dictionary - system-wide support on Macs and iOS
(generators are not supported though)
Just feed it some text and the processed string gets returned:
var asciifiedText = asciimoji('Hello, this is (bear)');
// Hello, this is ʕ·͡ᴥ·ʔ
If you want to change the delimiters of the emoticon keywords, add an options object with your values to the call.
var customAsciifiedText = asciimoji('Adventure time with [finn] and [jake]', {
prefix: '[',
suffix: ']'
});
// Adventure time with | (• ◡•)| and (❍ᴥ❍ʋ)
Call the plugin on your selector:
$('input,textarea').asciimoji();
If you want custom delimiters, pass in the options object:
$('input,textarea').asciimoji({
prefix: '[',
suffix: ']'
});
You can also do live binding so that elements added to the DOM later will have ASCIImoji enabled:
$(document).on('focus', 'textarea', function() {
$(this).asciimoji();
});
Define your dictionary like this:
var myEmoticons = {
emoticon1: {
words: ['word1', 'word2'],
ascii: '<insert ASCII emoticon here>'
},
...
};
Add your dictionary as additional parameter to the call:
var textWihCustomEmoticons = asciimoji('Look ma, more emoticons! (word1)', options, myEmoticons);
or with the jQuery plugin:
$(document).on('focus', 'textarea', function() {
$(this).asciimoji(options, myEmoticons);
});