Skip to content

Commit eca183a

Browse files
committed
Include aliases from emojilib
1 parent b12073a commit eca183a

2 files changed

Lines changed: 32 additions & 5 deletions

File tree

bin/gemoji_add.mts

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ async function main() {
3636
console.log(`INFO: starting at ${new Date().toISOString()}`);
3737

3838
const gemojiPath = path.join( __dirname, '..', 'tmp', 'gemoji.json' );
39+
const emojilibPath = path.join( __dirname, '..', 'tmp', 'emojilib.json' );
3940
const jsonPath = path.join( __dirname, '..', 'public', 'emoji.json' );
4041

4142
try {
@@ -56,6 +57,19 @@ async function main() {
5657
gemojiMap.set(entry.emoji, entry);
5758
}
5859

60+
try {
61+
await fs.access(emojilibPath);
62+
} catch (err) {
63+
console.log(`INFO: emojilib file does not exist in ${emojilibPath}`);
64+
process.exit(1);
65+
}
66+
67+
// Read and parse the emojilib file
68+
console.log(`INFO: reading file from ${emojilibPath}`);
69+
const emojilibData = await fs.readFile(emojilibPath, "utf-8");
70+
console.log(`INFO: parsing emojilib data`);
71+
const emojilibMap = JSON.parse(emojilibData) as { [key: string]: string[] };
72+
5973
try {
6074
await fs.access(jsonPath);
6175
} catch (err) {
@@ -70,14 +84,21 @@ async function main() {
7084
const data = JSON.parse(rawData) as SearchData;
7185

7286
for (const row of data.data) {
87+
const newTags = new Set<string>();
7388
const gemojiEntry = gemojiMap.get(row.emoji);
7489
if (!gemojiEntry) {
7590
console.log(`WARN: no gemoji entry found for emoji ${row.emoji} (${row.description})`);
76-
continue;
91+
}
92+
else {
93+
gemojiEntry.tags.forEach(newTags.add, newTags);
94+
gemojiEntry.aliases.forEach(newTags.add, newTags);
95+
}
96+
97+
const emojilibKeywords = emojilibMap[row.emoji];
98+
if (emojilibKeywords) {
99+
emojilibKeywords.forEach(newTags.add, newTags);
77100
}
78101

79-
// merge tags and aliases
80-
const newTags = new Set<string>([...gemojiEntry.tags, ...gemojiEntry.aliases]);
81102
if (newTags.size === 0) {
82103
continue;
83104
}

bin/gemoji_download.sh

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ set -o pipefail
1010
SCRIPT_HOME="$( cd "$( dirname "$0" )" && pwd )"
1111
BASE_DIR=$(realpath "${SCRIPT_HOME}/..")
1212

13-
echo "INFO: starting gemoji download at $(date -u +"%Y-%m-%dT%H:%M:%SZ")"
13+
echo "INFO: starting extra emoji download at $(date -u +"%Y-%m-%dT%H:%M:%SZ")"
1414

1515
TMP_DIR="${BASE_DIR}/tmp"
1616
if [ ! -d "${TMP_DIR}" ]; then
@@ -27,4 +27,10 @@ curl \
2727
--silent \
2828
https://raw.githubusercontent.com/github/gemoji/refs/heads/master/db/emoji.json
2929

30-
echo "INFO: completed gemoji download at $(date -u +"%Y-%m-%dT%H:%M:%SZ")"
30+
curl \
31+
--location \
32+
--output "${TMP_DIR}/emojilib.json" \
33+
--show-error \
34+
--silent \https://github.com/muan/emojilib/raw/refs/heads/main/dist/emoji-en-US.json
35+
36+
echo "INFO: completed extra emoji download at $(date -u +"%Y-%m-%dT%H:%M:%SZ")"

0 commit comments

Comments
 (0)