summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorDessalines <tyhou13@gmx.com>2019-08-31 09:40:42 -0700
committerDessalines <tyhou13@gmx.com>2019-08-31 09:40:42 -0700
commit6699c7112ce23d77861c1cff1c214cb39c2bce5e (patch)
treea930e1c63f654dd9690c15413d58a7ce37cf2bf6 /ui
parent55138b1dd257e3f94cfdd35a3b279798ebeec19a (diff)
Switch to Twemoji
- Fixes #257
Diffstat (limited to 'ui')
-rw-r--r--ui/package.json1
-rw-r--r--ui/src/css/main.css4
-rw-r--r--ui/src/utils.ts5
-rw-r--r--ui/yarn.lock39
4 files changed, 46 insertions, 3 deletions
diff --git a/ui/package.json b/ui/package.json
index 820eac79..22c33c00 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -35,6 +35,7 @@
"rxjs": "^6.4.0",
"terser": "^3.17.0",
"tributejs": "^3.7.2",
+ "twemoji": "^12.1.2",
"ws": "^7.0.0"
},
"devDependencies": {
diff --git a/ui/src/css/main.css b/ui/src/css/main.css
index 9a6e2067..d8069169 100644
--- a/ui/src/css/main.css
+++ b/ui/src/css/main.css
@@ -133,3 +133,7 @@ blockquote {
hr {
border-top: 1px solid var(--secondary);
}
+
+.emoji {
+ height: 1.2em !important;
+}
diff --git a/ui/src/utils.ts b/ui/src/utils.ts
index be043ade..40892ec8 100644
--- a/ui/src/utils.ts
+++ b/ui/src/utils.ts
@@ -12,6 +12,7 @@ import * as markdown_it from 'markdown-it';
declare var markdownitEmoji: any;
import * as markdown_it_container from 'markdown-it-container';
import { emoji_list } from './emoji_list';
+import * as twemoji from 'twemoji';
export const repoUrl = 'https://github.com/dessalines/lemmy';
@@ -43,6 +44,10 @@ export const md = new markdown_it({
}
}).use(markdownitEmoji);
+md.renderer.rules.emoji = function(token, idx) {
+ return twemoji.parse(token[idx].content);
+};
+
export function hotRank(comment: Comment): number {
// Rank = ScaleFactor * sign(Score) * log(1 + abs(Score)) / (Time + 2)^Gravity
diff --git a/ui/yarn.lock b/ui/yarn.lock
index 19dc87c5..84cd5a00 100644
--- a/ui/yarn.lock
+++ b/ui/yarn.lock
@@ -1178,6 +1178,15 @@ fs-extra@^7.0.0:
jsonfile "^4.0.0"
universalify "^0.1.0"
+fs-extra@^8.0.1:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
+ integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
fs-minipass@^1.2.5:
version "1.2.6"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07"
@@ -1309,7 +1318,7 @@ glogg@^1.0.0:
dependencies:
sparkles "^1.0.0"
-graceful-fs@4.X, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6:
+graceful-fs@4.X, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0:
version "4.2.2"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02"
integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==
@@ -1864,6 +1873,15 @@ jsonfile@^4.0.0:
optionalDependencies:
graceful-fs "^4.1.6"
+jsonfile@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-5.0.0.tgz#e6b718f73da420d612823996fdf14a03f6ff6922"
+ integrity sha512-NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w==
+ dependencies:
+ universalify "^0.1.2"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
jsprim@^1.2.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
@@ -3251,6 +3269,21 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
+twemoji-parser@12.1.0:
+ version "12.1.0"
+ resolved "https://registry.yarnpkg.com/twemoji-parser/-/twemoji-parser-12.1.0.tgz#018fb2a67f4747d9decfbf2bb4372995fc568997"
+ integrity sha512-jaHYltumP/E8nR+YzRrY753j9dEpL3zH8+pDXgf9h/10wHeW/9IIjs6mZ1Z/Syh8rIaOQObev1BAX/AinFmuOg==
+
+twemoji@^12.1.2:
+ version "12.1.2"
+ resolved "https://registry.yarnpkg.com/twemoji/-/twemoji-12.1.2.tgz#13a685c3732c196e04f762159072cf66c04d4cec"
+ integrity sha512-myi1YKL4nXBWorlmHDxHxHTCpel0e0jGtWQwwab0XyCAf3r9PnkZX0c+IAnPW+K6+TKXBJulMRPifeMhiPKYuw==
+ dependencies:
+ fs-extra "^8.0.1"
+ jsonfile "^5.0.0"
+ twemoji-parser "12.1.0"
+ universalify "^0.1.2"
+
type-check@~0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
@@ -3286,7 +3319,7 @@ uc.micro@^1.0.1, uc.micro@^1.0.5:
resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac"
integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==
-uglify-js@^3.0.5, uglify-js@^3.6.0:
+uglify-js@^3.0.5:
version "3.6.0"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5"
integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==
@@ -3332,7 +3365,7 @@ union-value@^1.0.0:
is-extendable "^0.1.1"
set-value "^2.0.1"
-universalify@^0.1.0:
+universalify@^0.1.0, universalify@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==