@@ -192,7 +192,7 @@ func (s *discordTagParser) Parse(parent ast.Node, block text.Reader, pc parser.C
|
|||||||
case strings.HasPrefix(tagName, ":"):
|
case strings.HasPrefix(tagName, ":"):
|
||||||
return &astDiscordCustomEmoji{name: tagName, astDiscordTag: tag}
|
return &astDiscordCustomEmoji{name: tagName, astDiscordTag: tag}
|
||||||
case strings.HasPrefix(tagName, "a:"):
|
case strings.HasPrefix(tagName, "a:"):
|
||||||
return &astDiscordCustomEmoji{name: tagName[1:], astDiscordTag: tag}
|
return &astDiscordCustomEmoji{name: tagName[1:], astDiscordTag: tag, animated: true}
|
||||||
default:
|
default:
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@@ -290,7 +290,11 @@ func (r *discordTagHTMLRenderer) renderDiscordMention(w util.BufWriter, source [
|
|||||||
case *astDiscordCustomEmoji:
|
case *astDiscordCustomEmoji:
|
||||||
reactionMXC := node.portal.getEmojiMXCByDiscordID(strconv.FormatInt(node.id, 10), node.name, node.animated)
|
reactionMXC := node.portal.getEmojiMXCByDiscordID(strconv.FormatInt(node.id, 10), node.name, node.animated)
|
||||||
if !reactionMXC.IsEmpty() {
|
if !reactionMXC.IsEmpty() {
|
||||||
_, _ = fmt.Fprintf(w, `<img data-mx-emoticon src="%[1]s" alt="%[2]s" title="%[2]s" height="32"/>`, reactionMXC.String(), node.name)
|
attrs := "data-mx-emoticon"
|
||||||
|
if node.animated {
|
||||||
|
attrs += " data-mau-animated-emoji"
|
||||||
|
}
|
||||||
|
_, _ = fmt.Fprintf(w, `<img %[3]s src="%[1]s" alt="%[2]s" title="%[2]s" height="32"/>`, reactionMXC.String(), node.name, attrs)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
case *astDiscordTimestamp:
|
case *astDiscordTimestamp:
|
||||||
|
|||||||
Reference in New Issue
Block a user