summaryrefslogtreecommitdiff
path: root/spec/frontend/pipelines
diff options
context:
space:
mode:
authorSean McGivern <sean@gitlab.com>2019-04-17 12:52:25 +0100
committerSean McGivern <sean@gitlab.com>2019-04-17 13:15:36 +0100
commit67b16f7ea3a616875b45d07215197b7e4a08eba4 (patch)
treef1bec1fc9de04f6d7fddafb301bad406ea93a3c1 /spec/frontend/pipelines
parentcfa5c30792ced178e53d1f7782ae027204ce8821 (diff)
downloadgitlab-ce-markdown-autocomplete-escaping.tar.gz
Only use backslash escapes in autocomplete when neededmarkdown-autocomplete-escaping
Autocompletion for references happens on the frontend. Those references are turned into actual references on the backend, but only after Markdown processing has happened. That means that if a reference contains a character that Markdown might consume, it won't render correctly. So we need to do some escaping on the frontend. We have these potential problem characters: https://docs.gitlab.com/ee/user/markdown.html#emphasis 1. ~ - this is ~~strikethrough~~, but only when doubled. 2. _ - used for _emphasis_, doubled is __bold__. 3. * - also used for *emphasis*, doubled is **bold** also. 4. ` - used for `code spans`, any number works. We don't need to escape `-` any more. When it comes to being inside a word: 1. a~~b~~ has strikethrough, so it needs to be escaped everywhere. 2. a_b_ has no emphasis (see [a]) so it only needs to be escaped at the start and end of words. 3. a*b* has emphasis, so it needs to be escaped everywhere. 4. a`b` has a code span, so it needs to be escaped everywhere. Or, in code terms: 1. Always escape ~~, *, and ` when being inserted by autocomplete. 2. Escape _ when it's either at the beginning or the end of a word. [a]: https://docs.gitlab.com/ee/user/markdown.html#multiple-underscores-in-words
Diffstat (limited to 'spec/frontend/pipelines')
0 files changed, 0 insertions, 0 deletions