forgejo/modules/markup/markdown
Giteabot 0d3f446460
Fixes #27605: inline math blocks can't be preceeded/followed by alphanumerical characters (#30175) (#30250)
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 5123ed31914f704348c0660468a3707011f5a160)
2024-04-03 12:39:25 +02:00
..
math Fixes #27605: inline math blocks can't be preceeded/followed by alphanumerical characters (#30175) (#30250) 2024-04-03 12:39:25 +02:00
ast.go Fix task list checkbox toggle to work with YAML front matter (#25184) 2023-06-13 14:44:47 +08:00
convertyaml.go Improve Wiki TOC (#24137) 2023-04-17 15:05:19 -04:00
goldmark.go [BUG] Restrict when to make link absolute in markdown 2024-02-19 23:30:12 +01:00
markdown.go Fix inconsistent rendering of block mathematical expressions (#29677) (#29711) 2024-03-21 09:24:31 +01:00
markdown_test.go Fixes #27605: inline math blocks can't be preceeded/followed by alphanumerical characters (#30175) (#30250) 2024-04-03 12:39:25 +02:00
meta.go Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
meta_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
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 Improve Wiki TOC (#24137) 2023-04-17 15:05:19 -04:00
toc.go Improve Wiki TOC (#24137) 2023-04-17 15:05:19 -04:00