diff --git a/modules/markup/sanitizer.go b/modules/markup/sanitizer.go index 45d363b37..0ebb3ff88 100644 --- a/modules/markup/sanitizer.go +++ b/modules/markup/sanitizer.go @@ -47,6 +47,9 @@ func ReplaceSanitizer() { // Allow keyword markup sanitizer.policy.AllowAttrs("class").Matching(regexp.MustCompile(`^` + keywordClass + `$`)).OnElements("span") + + // Allow tags for keyboard shortcut styling + sanitizer.policy.AllowElements("kbd") } // Sanitize takes a string that contains a HTML fragment or document and applies policy whitelist. diff --git a/modules/markup/sanitizer_test.go b/modules/markup/sanitizer_test.go index 211201d20..be7bdd20e 100644 --- a/modules/markup/sanitizer_test.go +++ b/modules/markup/sanitizer_test.go @@ -35,6 +35,9 @@ func Test_Sanitizer(t *testing.T) { Hello there! Something has gone wrong, we are working on it. In the meantime, play a game with us at example.com. `, "\n\u00a0\n\nHello there! Something has gone wrong, we are working on it.\nIn the meantime, play a game with us at\u00a0example.com.\n", + + // tags + `Ctrl + C`, `Ctrl + C`, } for i := 0; i < len(testCases); i += 2 {