Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
markdown-it-math
Advanced tools
Note: This is a general markdown-it math plugin. It was originally designed to render MathML. If you intend to use MathJax, markdown-it-mathjax might be a better choise.
Pythagoran theorem is $$a^2 + b^2 = c^2$$.
Bayes theorem:
$$$
P(A | B) = (P(B | A)P(A)) / P(B)
$$$
<p>Pythagoran theorem is <math><msup><mi>a</mi><mn>2</mn></msup><mo>+</mo><msup><mi>b</mi><mn>2</mn></msup><mo>=</mo><msup><mi>c</mi><mn>2</mn></msup></math>.</p>
<p>Bayes theorem:</p>
<math display="block"><mi>P</mi><mfenced open="(" close=")"><mrow><mi>A</mi><mo stretchy="true" lspace="veryverythickmathspace" rspace="veryverythickmathspace">|</mo><mi>B</mi></mrow></mfenced><mo>=</mo><mfrac><mrow><mi>P</mi><mfenced open="(" close=")"><mrow><mi>B</mi><mo stretchy="true" lspace="veryverythickmathspace" rspace="veryverythickmathspace">|</mo><mi>A</mi></mrow></mfenced><mi>P</mi><mfenced open="(" close=")"><mi>A</mi></mfenced></mrow><mrow><mi>P</mi><mfenced open="(" close=")"><mi>B</mi></mfenced></mrow></mfrac></math>
npm install markdown-it-math --save
var md = require('markdown-it')()
.use(require('markdown-it-math') [, options]);
where options can be (with defaults)
var options = {
inlineOpen: '$$',
inlineClose: '$$',
blockOpen: '$$$',
blockClose: '$$$',
renderingOptions: {},
inlineRenderer: require('ascii2mathml')(this.rendererOptions),
blockRenderer: require('ascii2mathml')(Object.assign({ display: 'block' },
this.renderingOptions))
}
(See ascii2mathml for reference about the default renderer).
Using comma as a decimal mark
var md = require('markdown-it')()
.use(require('markdown-it-math'), {
renderingOptions: { decimalMark: ',' }
});
md.render("$$40,2$$");
// <p><math><mn>40,2</mn></math></p>
Using TeXZilla as renderer
var texzilla = require('texzilla');
var md = require('markdown-it')()
.use(require('markdown-it-math'), {
inlineRenderer: function(str) {
return texzilla.toMathMLString(str);
},
blockRenderer: function(str) {
return texzilla.toMathMLString(str, true);
}
});
md.render("$$\\sin(2\\pi)$$");
// <p><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo lspace="0em" rspace="0em">sin</mo><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mo stretchy="false">)</mo></mrow><annotation encoding="TeX">\sin(2\pi)</annotation></semantics></math></p>
Using LaTeX style delimiters
var md = require('markdown-it')()
.use(require('markdown-it-math'), {
inlineOpen: '\\(',
inlineClose: '\\)',
blockOpen: '\\[',
blockClose: '\\]'
})
Note there are restrictions on what inline delimiters you can use, based on optimization for the markdown-it parser see here for details. And block level math must be on its own lines with newlines separating the math from the delimiters.
Some text with inline math \(a^2 + b^2 = c^2\)
And block math
\[
e = sum_(n=0)^oo 1/n!
\]
FAQs
Markdown-it plugin to include math in your document
We found that markdown-it-math demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.