Unverified Commit db2ad81a authored by cannorin's avatar cannorin Committed by GitHub

feat: katex persistent macro support (#5838)

parent dc90e0b5
...@@ -348,11 +348,12 @@ plantuml.init(md, {}) ...@@ -348,11 +348,12 @@ plantuml.init(md, {})
// KATEX // KATEX
// ======================================== // ========================================
const macros = {}
md.inline.ruler.after('escape', 'katex_inline', katexHelper.katexInline) md.inline.ruler.after('escape', 'katex_inline', katexHelper.katexInline)
md.renderer.rules.katex_inline = (tokens, idx) => { md.renderer.rules.katex_inline = (tokens, idx) => {
try { try {
return katex.renderToString(tokens[idx].content, { return katex.renderToString(tokens[idx].content, {
displayMode: false displayMode: false, macros
}) })
} catch (err) { } catch (err) {
console.warn(err) console.warn(err)
...@@ -365,7 +366,7 @@ md.block.ruler.after('blockquote', 'katex_block', katexHelper.katexBlock, { ...@@ -365,7 +366,7 @@ md.block.ruler.after('blockquote', 'katex_block', katexHelper.katexBlock, {
md.renderer.rules.katex_block = (tokens, idx) => { md.renderer.rules.katex_block = (tokens, idx) => {
try { try {
return `<p>` + katex.renderToString(tokens[idx].content, { return `<p>` + katex.renderToString(tokens[idx].content, {
displayMode: true displayMode: true, macros
}) + `</p>` }) + `</p>`
} catch (err) { } catch (err) {
console.warn(err) console.warn(err)
......
...@@ -24,12 +24,13 @@ katex.__defineMacro('\\tripledash', '{\\vphantom{-}\\raisebox{2.56mu}{$\\mkern2m ...@@ -24,12 +24,13 @@ katex.__defineMacro('\\tripledash', '{\\vphantom{-}\\raisebox{2.56mu}{$\\mkern2m
module.exports = { module.exports = {
init (mdinst, conf) { init (mdinst, conf) {
const macros = {}
if (conf.useInline) { if (conf.useInline) {
mdinst.inline.ruler.after('escape', 'katex_inline', katexInline) mdinst.inline.ruler.after('escape', 'katex_inline', katexInline)
mdinst.renderer.rules.katex_inline = (tokens, idx) => { mdinst.renderer.rules.katex_inline = (tokens, idx) => {
try { try {
return katex.renderToString(tokens[idx].content, { return katex.renderToString(tokens[idx].content, {
displayMode: false displayMode: false, macros
}) })
} catch (err) { } catch (err) {
WIKI.logger.warn(err) WIKI.logger.warn(err)
...@@ -44,7 +45,7 @@ module.exports = { ...@@ -44,7 +45,7 @@ module.exports = {
mdinst.renderer.rules.katex_block = (tokens, idx) => { mdinst.renderer.rules.katex_block = (tokens, idx) => {
try { try {
return `<p>` + katex.renderToString(tokens[idx].content, { return `<p>` + katex.renderToString(tokens[idx].content, {
displayMode: true displayMode: true, macros
}) + `</p>` }) + `</p>`
} catch (err) { } catch (err) {
WIKI.logger.warn(err) WIKI.logger.warn(err)
......
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