forgejo/modules/markup/markdown/math
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
..
block_node.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
block_parser.go [GITEA] Require Latex code to have a end sequence 2024-02-05 16:09:41 +01:00
block_renderer.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
inline_node.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
inline_parser.go Fixes #27605: inline math blocks can't be preceeded/followed by alphanumerical characters (#30175) (#30251) 2024-04-08 11:49:51 +02:00
inline_renderer.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
math.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00