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
			
			
This commit is contained in:
		
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							4586d325d8
						
					
				
				
					commit
					a37a73dede
				
			| @@ -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 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user