hugolib: Fix emoji handling inside shortcodes

Fixes #6504
This commit is contained in:
Bjørn Erik Pedersen
2019-11-14 09:57:37 +01:00
parent a2670bf460
commit 812688fc2f
2 changed files with 38 additions and 0 deletions

View File

@@ -18,6 +18,8 @@ import (
"fmt"
"strconv"
"github.com/gohugoio/hugo/helpers"
"html/template"
"path"
@@ -517,6 +519,15 @@ Loop:
return sc, nil
case currItem.IsText():
sc.inner = append(sc.inner, currItem.ValStr())
case currItem.Type == pageparser.TypeEmoji:
// TODO(bep) avoid the duplication of these "text cases", to prevent
// more of #6504 in the future.
val := currItem.ValStr()
if emoji := helpers.Emoji(val); emoji != nil {
sc.inner = append(sc.inner, string(emoji))
} else {
sc.inner = append(sc.inner, val)
}
case currItem.IsShortcodeName():
sc.name = currItem.ValStr()