Unverified Commit a37a73de authored by Edoardo Morassutto's avatar Edoardo Morassutto Committed by GitHub

fix: inline math interpreted as attributes (#2645)

When using inline math ($e^{-x^2}$) the curly braces are interpreted as attributes by markdown-it-attrs. Since most of the times they are not valid attributes they simply get removed. This patch escapes the curly braces (the default attribute delimiter), fixing the KaTeX rendering errors. It would be nice to simply skip that rule for `katex_inline` block types but as far as I know markdown-it-attrs doesn't have such an option. Fixes #1581
parent 4586d325
...@@ -81,7 +81,14 @@ export default { ...@@ -81,7 +81,14 @@ export default {
if (!silent) { if (!silent) {
token = state.push('katex_inline', 'math', 0) token = state.push('katex_inline', 'math', 0)
token.markup = '$' token.markup = '$'
token.content = state.src.slice(start, match) token.content = state.src
// Extract the math part without the $
.slice(start, match)
// Escape the curly braces since they will be interpreted as
// attributes by markdown-it-attrs (the "curly_attributes"
// core rule)
.replaceAll("{", "{{")
.replaceAll("}", "}}")
} }
state.pos = match + 1 state.pos = match + 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment