Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean McGivern <sean@gitlab.com>2019-04-17 14:52:25 +0300
committerSean McGivern <sean@gitlab.com>2019-04-17 15:15:36 +0300
commit67b16f7ea3a616875b45d07215197b7e4a08eba4 (patch)
treef1bec1fc9de04f6d7fddafb301bad406ea93a3c1 /changelogs/unreleased
parentcfa5c30792ced178e53d1f7782ae027204ce8821 (diff)
Only use backslash escapes in autocomplete when needed
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 'changelogs/unreleased')
-rw-r--r--changelogs/unreleased/markdown-autocomplete-escaping.yml5
1 files changed, 5 insertions, 0 deletions
diff --git a/changelogs/unreleased/markdown-autocomplete-escaping.yml b/changelogs/unreleased/markdown-autocomplete-escaping.yml
new file mode 100644
index 00000000000..0ea034b14ee
--- /dev/null
+++ b/changelogs/unreleased/markdown-autocomplete-escaping.yml
@@ -0,0 +1,5 @@
+---
+title: Only escape Markdown emphasis characters in autocomplete when necessary
+merge_request: 27457
+author:
+type: changed