muan / emojilib Goto Github PK
View Code? Open in Web Editor NEWEmoji keyword library.
Home Page: https://unpkg.com/emojilib@latest
License: MIT License
Emoji keyword library.
Home Page: https://unpkg.com/emojilib@latest
License: MIT License
you should add a hurt hand hurt leg with both boy and girls plus a fast recovery and more
Hello,
I want to write an application that gets emoji of a text and turns it into words (for blind people or visually impeared people who can't see emoji well, or to people that are not used to internet and don't understand emoji) and I wish to use emojilib. But to do that, I would have to create a hashmap that the key is the char, for instance:
"grinning": {
"keywords": ["face", "smile", "happy", "joy", ":D", "grin"],
"char": "๐",
"fitzpatrick_scale": false,
"category": "people"
}
would become:
"๐": {
"keywords": ["face", "smile", "happy", "joy", ":D", "grin"],
"name": "grinning",
"fitzpatrick_scale": false,
"category": "people"
}
I thought of creating some kind of script which would update the second file based on the first when the first was updated (When it received a new emoji or something like that). I was thinking of using Python for that, and everytime the emoji file was updated, this script should be run (or run it during NPM install)... What do you think? Plus I would add new functions to get text based on emoji.
It looks like there were a bunch of emojis added since v2.2.9. Any chance we might see an official release soon?
Many emojis in the emojis.json
list their category name (or a piece of their category name) as a keyword. In the same way that part of their description as a keyword (as the test enforces), should these be removed as redundant information as well?
A few examples:
"mouse2": {
"keywords": ["animal", "nature", "rodent"],
"char": "๐",
"category": "nature"
},
There are many animals with "nature" and "animal" included in keywords, and if the category is renamed to "Animals and Nature" will be really redundant. Though, having "animal" as a keyword might distinguish it from non-animal-nature-things (facepalm).
"family": {
"keywords": ["home", "parents", "child", "mom", "dad", "father", "mother", "people", "human"],
"char": "๐ช",
"category": "people"
},
Also in this case "people" indicates more than one person moreso than the category, so it's ambiguous here too.
Let me know what you think.
Hello,
we are using your list at Discourse: https://github.com/discourse/discourse/blob/master/lib/tasks/emoji.rake
Thanks for it!
However, we sometimes have to patch it (code, Fitzpatrick scale...). What kind of PR are you willing to merge? Anything that would match with http://unicode.org/emoji/charts/emoji-list.html ?
For example running_woman
is noted as "fitzpatrick_scale": false
while it should be true (http://unicode.org/emoji/charts/emoji-list.html#1f3c3_1f3fb_200d_2640_fe0f).
Cool! It looks like Instagram is using emojilib
.
Maybe worth adding it to the Powered by, or a separate Used by list?
#braggingrights
Hi,
The emojilib is cool and be depended by many libs.I found a import issue when use it in my angular project. It could not find the json file, and it will be ok if i add the '.json' ext. So should this be updated or my ts config need to be changed? Thanks.
./node_modules/emojilib/index.js:2:7-26 - Error: Module not found: Error: Can't resolve './emojis' in '/home/solos/dev/chat/node_modules/emojilib'
./node_modules/emojilib/index.js:3:11-31 - Error: Module not found: Error: Can't resolve './ordered' in '/home/solos/dev/chat/node_modules/emojilib'
A bunch of new emoji were just released with iOS 9.1 ๐ค
I sometimes don't want to use emojis that I know are too new to be supported on certain devices. For example unicorn might not be too new for my situation, but maybe duck is.
The Unicode version isn't a perfect indicator of age/newness, but it seems like a decent one.
I was wondering if you already thought about localization/internationalization.
There is already a PR (#6) for that. What do you think about this approach?
I think it might be complicated to maintain. If you want to add/change an emoji you have to do it in n
files.
My idea would be a format e.g.
emojis.json
[
{
"char": "๐",
"name": {
"en": "emoji_name",
โฆ
},
"keywords": {
"en": ["keyword1", "keyword2"],
โฆ
},
"category": {
"en": "emoji_category",
โฆ
}
},
{
โฆ
}
]
Here you could maintain one file and parse it in a build process etc. to create the different files for each language (emojis_en.json โฆ) in the format like it is now.
What do you think? ๐:v:
For practical usage, it might be useful to reference a credible source of Unicode. e.g. https://emojipedia.org/pride/
Some of the emojis are missing, which are among people, building and fruits etc.
Even the much referenced WEBFX Emoji Cheatsheet doesn't list its source or mappings. Github does, but I want to find out which code system is the most popular/used one - or rather which one's exist. I want to build an application that allows anyone to use emojicode in any application and any os and would appreciate any pointers in the right direction as to where I can find more information about the various mappings that exist already.
A friend suggested that the keyword workflow could be more streamlined and moved away from the heaving friction flow of opening a PR and a manual review. Imagine something like
questions
This seems like something https://github.com/muan/emojilib/discussions can be used for.
https://github.blog/changelog/2021-06-29-github-discussions-events-available-on-github-actions/
I'm trying to reliably match an emoji slug to the list, but this isn't currently possible.
Most use a slug as the first entry in the list:
emojilib/dist/emoji-en-US.json
Lines 2 to 10 in 0e7aca3
But some use spaces instead of underscore, so they can't be matched by slug:
emojilib/dist/emoji-en-US.json
Lines 12998 to 13003 in 0e7aca3
Is this intentional, or is it too late to fix?
This is more of a suggestive pull request to move to TypeScript or just set up a definition file. I would be happy to make a PR for this myself, but I want to hear your stance on typings first - if you don't want this, I'll make a PR on DefinetlyTyped instead ๐
First of all, thank you for maintaining this repository!
I wrote a rudimentary emoji search program using your data, and noticed that, for example, "poop" does not match any of the keywords for ๐ฉ:
emojilib/dist/emoji-en-US.json
Lines 746 to 753 in f3169dc
Another example I ran into was for ๐ฑ:
emojilib/dist/emoji-en-US.json
Lines 7259 to 7265 in f3169dc
Finally, and I write this sincerely, I'd like to discuss ๐:
emojilib/dist/emoji-en-US.json
Lines 4269 to 4275 in f3169dc
I suggest that a section be added to CONTRIBUTING.md or README.md that gives guidance to future contributors about questions like these.
โฆand that's how I posted a GitHub issue about poop, cell phones, and penises ๐คช
It would be nice to have support for the Fitzpatrick scale modifiers for diversity. (Even though support is far from ubiquitous, with Chrome notably lagging behind in implementing this.)
The Fitzpatrick modifiers are used to add diversity to emoji. For example, ๐ฆ๐ฝ should display a boy with FITZ-4 applied.
Since not all emoji support the FITZ modifiers, this is not a trivial change. But I think it would be a nice addition to have.
For example there is an entry for "iran,"
, "micronesia,"
, "moldova,"
, "macedonia,"
, and "tanzania,"
.
uruguay
gb
us
flag-uy
flag-gb
flag-us
I'm not currently sure where these short names/codes come from. Is there some sort of standard? Should I open a request with iamcal/emoji-data, or should I change emojilib to use the flag-*
format?
Note: I am trying to get emoji-mart
to work correctly. See missive/emoji-mart#96 for more info.
Likely dependent on muan/unicode-emoji-json#18
๐ฐ๐ฐ๐ฐ๐ฐ In https://github.com/muan/emojilib#electric_plug-powered-by-emojilib.
cc @notwaldorf
Hey.
Thanks for this library. It has been very helpful.
Are there any plans to add support for Emoji 11?
https://emojipedia.org/unicode-11.0/
Twitter have already updated to support the new emojis, Microsoft have added support in the Windows 10 insider build and EmojiOne are planning on releasing in the first half of August.
I could give you a hand โ
https://github.com/muan/emojilib/blob/bd543325f3becf1146eb361c30aa0e3f1ce1195b/emojis.json ref: #24
Thanks to @yoshokatana & @wbinnssmith "Smileys & People" + "Animals & Nature" are 99% done. The 1% is just the 14 different types of families which I was too lazy to add after re-ordering all of them. ๐ฌ
master
is currently sort of usable, i just need to cut a 2.0.0
version for it; however I would really like to get all the new emoji in for the 2.0.0
... Hopefully that wouldn't be too long.
So if anyone's interested in helping it'd be awesome! And let me know here if there are any questions.
TODOS:
โ๏ธ
I've been using the Vulcan Salite emoji for quite a while and can't seem to figure out what the text version of the emoji (for example is
:octocat:
) is.
I've come up with for emojis.json
"vulcan-salute": {
"keywords": ["vulcan", "salute", "star", "trek", "sprock", "leonard", "nimoy", "hand", "nerdfighters"],
"char": "๐๐ฝ",
"category": "people"
},
but don't know the text version. Can anyone help and add this into the library?
I was reading through it and wondering where the data was from? Mechanical Turk? Another website?
I used emojilib to make this project and I thought of some ideas for features I wanted. These features would require restructuring the way the emoji/keyword relations are stored and adding some information that isn't present currently.
Problems I'm trying to solve:
My ideas for solutions:
An example:
// keyword.json
{
"smile": [
{"emoji": "smile", "similarity": 95},
{"emoji": "grinning", "similarity": 84},
{"emoji": "sunglasses", "similarity": 40}
],
"dog": [
{"emoji": "dog", "similarity": 95},
{"emoji": "dog2", "similarity": 92},
{"emoji": "poodle", "similarity": 75},
{"emoji": "feet", "similarity": 30}
]
}
// category.json
{
"people": [
"grinning",
"grin",
"joy"
]
}
// emoji.json
{
"smile": {
"char": "๐"
},
"grinning": {
"char": "๐"
},
"sunglasses": {
"char": "๐"
}
}
These files could be compiled into emojis.json
to allow backwards-compatibility.
I thought about making a library structured somewhat similar to this and basing the initial data on emojilib, but keeping it up to date would require adding similarity rankings for new additions to emojilib.
What do you think about a library like this and would it make sense to add this information to emojilib?
Need to add these https://blog.emojipedia.org/ios-11-1-emoji-changelog/ :)
I need to streamline this process. Probably need to do some research into how other people do this.
UPDATE Process currently:
simplemap.json
and commit if neededbower.json
and package.json
git tag
git push --tags
npm publish
I wish these steps can be reduced to a button as we merge in tiny updates like keyword additions. ๐
There are a lot of new emojis missing in the json file.
How you're updating the list? manually?
I thought about adding some, but there are too many to add ๐ฎ
By this emojis list (from unicode.org), there are around ~2600 emojis and in the file here the are around ~1400. It's not that practical to add them manually, that's why I'm asking.
Thanks!
Background:
I just remembered that my reasons for removing the names from 3.0 was because the name as an obvious keyword is available in unicode-emoji-json already. Sorry for the troubles.
It seems to me that #199, #200, and #201 might all be caused by the same issue. One of the motivation for using the emoji character as the key instead of text name as the key was because the unreliable nature of their emoji names. The text names might change, and when we edit emojilib
there isn't an easy way to keep track of the name is so we can't really effectively exclude it from the keywords, therefore we might as well try to be thorough.
๐
It would be nice to be able to add keywords in a given category (or categorize keywords) like noun, verb, adjective, adverb, ...
Can we get rid of "custom" emojis? Or at least put them in another file so we can pick around them. It feels like garbage. The character is null. Thats lame.
Please consider including the GitHub autocomplete emoji names in the library (full list here - https://api.github.com/emojis) as the names in this library do not exactly match GitHub's names.
For example, :couplekiss_woman_woman:
(:couplekiss_woman_woman:) on GitHub is listed in this library as female_couplekiss
.
Maybe an entry like this would work?
"female_couplekiss": {
"keywords": ["pair", "valentines", "love", "like", "dating", "marriage"],
"char": "๐ฉโโค๏ธโ๐โ๐ฉ",
"category": "people"
"xref" : {
"GitHub": "couplekiss_woman_woman"
}
}
By observing https://www.wikiwand.com/en/Unicode_symbols one could possibly see that not all image symbols in Unicode are included within the "Emoji" set. With considerations to other libraries mainly targeting the creation of Emoji fonts, I would like to request for an expansion of the library.
e.g.
Do we we really need the keys
array? It can be easily obtained using Object.keys(emoji)
. ๐ญ
Currently I causes some trouble because I want to check if a word is emoji, so emoji[myWord]
will fail for myWord === "keys"
(it's not an emoji object but an array).
Looks like it's anyway causing some problems on the Emoji Searcher page:
I'm almost sure there is no :keys:
aliased with :-1:
but it's just an issue because of the keys
object.
So, is the keys
array really needed? I would vote to be removed. ๐
Hi!
I used your lib to replace emoji titles with real emojis, for example :wave:
to ๐๐ป .
In version 2.4 there was a map name:metadata
but now I can't see a way on how to find emoji by name
Any suggestions?
Thanks in advance
Very much outdated readme.
"pleading": { "keywords": ["face", "begging", "mercy"], "char": "๐ฅบ", "fitzpatrick_scale": false, "category": "people" },
Almost all of the country flags use their name as the key in the emojis object. However, a small handful of 'major' countries, just use a two character code, like Japan, United States, United Kingdom etc. Because of this, theres no way to give the US emoji the full name. It does have "united", "states" as two separate key words (amongst others). Japan is another example that doesn't include the full name at all.
What system should be put in place, for example, if the emoji is a flag, the first keyword is always the full country name (even if it includes spaces)?
"jp": {
--
ย | "keywords": ["japanese", "nation", "flag", "country", "banner"],
ย | "char": "๐ฏ๐ต",
ย | "fitzpatrick_scale": false,
ย | "category": "flags"
ย | },
[Originally raised here: https://github.com/notwaldorf/emoji-translate/issues/22]
If I type honey, a bee comes up,
If I type bee, a honey pot comes up.
๐คทโโ๏ธ
๐ ๐ผ though, it's ๐ฌ๐ง!
(I've just discovered typing "great" brings up the "Great Britain" flag ๐ฅ )
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.