Awesome
ascii-math
This is an implimentation of asciimath. It lets you write plain text maths and have it be nicely formatted for you before display. Since it's a server side sollution it offers a much nicer user experience than MathJax or the original asciimath did. You can also use this function on the client if you prefer.
Installation
$ npm install ascii-math
Server side usage
On the server you can generate text that can be placed inline straight into an html document.
var parse = require('ascii-math');
var res = parse('e^(i pi)=-1').toString();
// => "<math title="e^(i pi)=-1"><msup><mi>e</mi><mrow><mi>i</mi><mi>π</mi></mrow></msup><mo>=</mo><mo>-</mo><mn>1</mn></math>"
Client side usage
On the client it is recommended that you use .toElement()
but .toString()
still works. You should use it via browserify.
var parse = require('ascii-math');
var resA = parse('e^(i pi)=-1').toString();
// => "<math title="e^(i pi)=-1"><msup><mi>e</mi><mrow><mi>i</mi><mi>π</mi></mrow></msup><mo>=</mo><mo>-</mo><mn>1</mn></math>"
div.innerHTML = resA;
var resB = parse('e^(i pi)=-1').toElement();//this method fails on the server
// => <math title="e^(i pi)=-1"><msup><mi>e</mi><mrow><mi>i</mi><mi>π</mi></mrow></msup><mo>=</mo><mo>-</mo><mn>1</mn></math>
div.appendChild(resB);