forgejo/modules/markup/markdown
Giteabot 39bc868092
Fixes #27605: inline math blocks can't be preceeded/followed by alphanumerical characters (#30175) (#30251)
Backport #30175 by @jmlt2002

- Inline math blocks couldn't be preceeded or succeeded by
alphanumerical characters due to changes introduced in PR #21171.
Removed the condition that caused this (precedingCharacter condition)
and added a new exit condition of the for-loop that checks if a specific
'$' was escaped using '\' so that the math expression can be rendered as
intended.
- Additionally this PR fixes another bug where math blocks of the type
'$xyz$abc$' where the dollar sign was not escaped by the user, generated
an error (shown in the screenshots below)
- Altered the tests to accomodate for the changes

Former behaviour (from try.gitea.io):

![image](https://github.com/go-gitea/gitea/assets/114936010/8f0cbb21-321d-451c-b871-c67a8e1e9235)

Fixed behaviour (from my local build):

![image](https://github.com/go-gitea/gitea/assets/114936010/5c22687c-6f11-4407-b5e7-c14b838bc20d)

(Edit) Source code for the README.md file:
```
$x$ -$x$ $x$-

a$xa$ $xa$a 1$xb$ $xb$1

$a a$b b$

a$b $a a$b b$

$a a\$b b$
```

Signed-off-by: João Tiago <joao.leal.tintas@tecnico.ulisboa.pt>
Co-authored-by: João Tiago <114936010+jmlt2002@users.noreply.github.com>
(cherry picked from commit ac65aeecbd42ed30cc0838b3fad12b58daadf3ad)
2024-04-08 11:49:51 +02:00
..
callout [BUG] Center icon and callout text 2024-04-04 12:18:32 +00:00
math Fixes #27605: inline math blocks can't be preceeded/followed by alphanumerical characters (#30175) (#30251) 2024-04-08 11:49:51 +02:00
ast.go modules/markup/markdown/ast: Drop IsColorPreview 2024-03-23 14:47:15 +01:00
color_util.go [BUG] Don't color dot literal color names 2024-03-30 22:12:40 +00:00
color_util_test.go [BUG] Don't color dot literal color names 2024-03-30 22:12:40 +00:00
convertyaml.go
goldmark.go [BUG] Don't color dot literal color names 2024-03-30 22:12:40 +00:00
markdown.go Fix inconsistent rendering of block mathematical expressions (#29677) 2024-03-20 08:46:28 +01:00
markdown_test.go Fixes #27605: inline math blocks can't be preceeded/followed by alphanumerical characters (#30175) (#30251) 2024-04-08 11:49:51 +02:00
meta.go Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
meta_test.go
renderconfig.go Fix task list checkbox toggle to work with YAML front matter (#25184) 2023-06-13 14:44:47 +08:00
renderconfig_test.go
toc.go Refactor locale&string&template related code (#29165) 2024-02-16 15:20:52 +01:00