forgejo/modules/markup/markdown
João Tiago 2adc3a45fb
Fixes #27605: inline math blocks can't be preceeded/followed by alphanumerical characters (#30175)
- 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: Giteabot <teabot@gitea.io>
(cherry picked from commit e006451ab1509f8d6d43c5974387c05b26517392)
2024-04-07 15:40:31 +02:00
..
callout [BUG] Center icon and callout text 2024-04-03 22:26:19 +02:00
math Fixes #27605: inline math blocks can't be preceeded/followed by alphanumerical characters (#30175) 2024-04-07 15:40:31 +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 14:30:41 +01:00
color_util_test.go [BUG] Don't color dot literal color names 2024-03-30 14:30:41 +01:00
convertyaml.go
goldmark.go [BUG] Don't color dot literal color names 2024-03-30 14:30:41 +01: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) 2024-04-07 15:40:31 +02:00
meta.go Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
meta_test.go
renderconfig.go
renderconfig_test.go
toc.go Refactor locale&string&template related code (#29165) 2024-02-16 15:20:52 +01:00