Fix emojis

This commit is contained in:
Jan-Lukas Else 2020-09-18 13:11:25 +02:00
parent 70f220e693
commit 54acbc5808
3 changed files with 21 additions and 1 deletions

1
go.mod
View File

@ -15,6 +15,7 @@ require (
github.com/klauspost/cpuid v1.3.1 // indirect
github.com/kr/pretty v0.2.1 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/kyokomi/emoji v2.2.4+incompatible
github.com/lib/pq v1.8.0 // indirect
github.com/lopezator/migrator v0.3.0
github.com/magiconair/properties v1.8.3 // indirect

2
go.sum
View File

@ -157,6 +157,8 @@ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kyokomi/emoji v2.2.4+incompatible h1:np0woGKwx9LiHAQmwZx79Oc0rHpNw3o+3evou4BEPv4=
github.com/kyokomi/emoji v2.2.4+incompatible/go.mod h1:mZ6aGCD7yk8j6QY6KICwnZ2pxoszVseX1DNoGtU2tBA=
github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A=
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=

View File

@ -2,14 +2,20 @@ package main
import (
"bytes"
kemoji "github.com/kyokomi/emoji"
"github.com/yuin/goldmark"
"github.com/yuin/goldmark-emoji"
"github.com/yuin/goldmark-emoji/definition"
"github.com/yuin/goldmark/extension"
"github.com/yuin/goldmark/parser"
"github.com/yuin/goldmark/renderer/html"
"strings"
"sync"
)
var emojilib definition.Emojis
var emojiOnce sync.Once
var markdown goldmark.Markdown
func initMarkdown() {
@ -26,7 +32,7 @@ func initMarkdown() {
extension.Typographer,
// Emojis
emoji.New(
emoji.WithEmojis(definition.Github()),
emoji.WithEmojis(EmojiGoLib()),
),
),
)
@ -38,3 +44,14 @@ func renderMarkdown(source string) (content []byte, err error) {
content = buffer.Bytes()
return
}
func EmojiGoLib() definition.Emojis {
emojiOnce.Do(func() {
var emojis []definition.Emoji
for shotcode, e := range kemoji.CodeMap() {
emojis = append(emojis, definition.NewEmoji(e, []rune(e), strings.ReplaceAll(shotcode, ":", "")))
}
emojilib = definition.NewEmojis(emojis...)
})
return emojilib
}