diff options
Diffstat (limited to 'renderer')
-rw-r--r-- | renderer/renderer.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/renderer/renderer.go b/renderer/renderer.go index ec328dc..4911db9 100644 --- a/renderer/renderer.go +++ b/renderer/renderer.go @@ -3,6 +3,7 @@ package renderer import ( "fmt" "io" + "regexp" "strconv" "strings" "text/template" @@ -49,6 +50,8 @@ func emojiFilter(content string, emojis []mastodon.Emoji) string { return strings.NewReplacer(replacements...).Replace(content) } +var quoteRE = regexp.MustCompile("(?mU)(^|> *|\n)(>.*)(<br|$)") + func statusContentFilter(spoiler string, content string, emojis []mastodon.Emoji, mentions []mastodon.Mention) string { @@ -57,6 +60,7 @@ func statusContentFilter(spoiler string, content string, if len(spoiler) > 0 { content = spoiler + "<br />" + content } + content = quoteRE.ReplaceAllString(content, "$1<span class=\"quote\">$2</span>$3") for _, e := range emojis { r = fmt.Sprintf("<img class=\"emoji\" src=\"%s\" alt=\":%s:\" title=\":%s:\" height=\"32\" />", e.URL, e.ShortCode, e.ShortCode) |