eleventy-plugin-mathjax

2.0.4 • Public • Published

eleventy-plugin-mathjax

Eleventy plugin for server-side MathJax rendering.

Installation

npm install eleventy-plugin-mathjax --save-dev
const mathjaxPlugin = require("eleventy-plugin-mathjax");

module.exports = function (eleventyConfig) {
  eleventyConfig.addPlugin(mathjaxPlugin);
};

Usage

Use $...$ for inline equations, $$...$$ for block equations, and \$ for escaping the dollar sign.

MathJax-style \(...\) and \[...\] are also supported, but see below for caveat.

Caveat

In Markdown files, \(, \[ and \$ need to be written as \\\(, \\\[ and \\$ respectively. This is due to that the plugin operates on the generated HTML, not directly on the source file. Latex commands which start with a symbol (e.g. \_, \,, \{, \<) also need to be escaped.

Alternatively, wrapping the latex code inside a html tag will stop the Markdown engine from processing the text, eliminating the need for extra escaping.

Example

This is a $\TeX$ example.
$$ 1 + 1 = 2 $$

Equivalent to:

This is a \\\( \TeX \\\) example.
\\\[ 1 + 1 = 2 \\\]

Alternatively, write

<p>
This is a \( \TeX \) example.
\[ 1 + 1 = 2 \]
</p>

This is a dollar sign \\$.

<p>This is also a dollar sign \$.</p>

Options

Optionally pass in an options object as the second argument to addPlugin to further customize this plugin.

For example, to use the CommonHTML output format instead of SVG:

eleventyConfig.addPlugin(mathjaxPlugin, {
  output: "chtml",
  chtml: {
    fontURL:
      "https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2",
  },
});

Supported Fields

output

Output format for math equations. Supports "svg" and "chtml". Defaults to "svg".

tex

Options for MathJaX's TeX input processor.

Defaults to:

{
  packages: /* all packages */,
  inlineMath: [
    ["$", "$"],
    ["\\(", "\\)"],
  ],
}

See here for full options.

svg

Options for MathJaX's SVG output processor.

Defaults to:

{
  fontCache: "global",
}

See here for full options.

chtml

Options for MathJaX's CommonHTML output processor. Defaults to {}.

See here for full options.

liteAdaptor

Options for MathJaX's lite DOM adaptor. Useful for passing size hints to MathJaX, e.g. { fontSize: 18 }. Defaults to {}.

See here for full options.

Dependents (0)

Package Sidebar

Install

npm i eleventy-plugin-mathjax

Weekly Downloads

100

Version

2.0.4

License

Apache-2.0

Unpacked Size

18 kB

Total Files

4

Last publish

Collaborators

  • tsung-ju