Skip to content

Paperist/remark-math

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jul 21, 2019
4364630 · Jul 21, 2019

History

12 Commits
Jul 21, 2019
Jul 21, 2019
Aug 8, 2017
Aug 8, 2017
Jul 21, 2019
Jul 21, 2019
Jul 21, 2019
Jul 21, 2019

Repository files navigation

@paperist/remark-math

LICENSE NPM standard-readme compliant

wooorm/remark plugin for math likes KaTeX / MathJax

Table of Contents

Install

npm i remark @paperist/remark-math

Usage

const unified = require('unified');
const parser = require('remark-parse');
const math = require('@paperist/remark-math');

const markdown = `
In an x-y Cartesian coordinate system,
the circle with centre coordinates \\((a, b)\\) and
radius \\(r\\) is the set of all points \\((x, y)\\) such that

\\[
(x - a)^2 + (y - b)^2 = r^2
\\]

> https://en.wikipedia.org/wiki/Circle
`;

const processor = unified()
  .use(parser)
  .use(math);
const ast = processor.parse(markdown);

processor.run(ast).then((ast) => {
  console.dir(ast, { depth: null });
});

AST

See also mdast, unist.

Math

Math extends Literal.

interface Math extends Literal {
  type: 'math';
  math: string;
}

For example, the following markdown:

\[
x^2 + y^2 = r^2
\]

Yields:

{
  "type": "math",
  "value": "\\[\nx^2 + y^2 = r^2\n\\]",
  "math": "\nx^2 + y^2 = r^2\n"
}

InlineMath

InlineMath extends Literal.

interface InlineMath extends Literal {
  type: 'inlineMath';
  math: string;
}

For example, the following markdown:

\(E = mc^2\)

Yields:

{
  "type": "inlineMath",
  "value": "\\(E = mc^2\\)",
  "math": "E = mc^2"
}

Contribute

PRs accepted.

License

MIT (c) 3846masa

About

wooorm/remark plugin for mathjax

Resources

License

Stars

Watchers

Forks

Packages

No packages published