A repository for early stages of MathJax v3
Latest commit 1217503 Oct 16, 2018
Permalink
Failed to load latest commit information.
attic Refactors main parsing functionality from maphandler to texparser. Sep 21, 2017
doc Merge branch 'master' into tex_input_typescript Oct 16, 2018
lib Fixes keep problem for tex-lab and keeps ticked packages. Sep 22, 2018
mathjax2 Conflicted files. Sep 21, 2018
mathjax3-ts Adds all tests for internal math parsing. Oct 16, 2018
samples Includes newcommand package in sample files. Jun 13, 2018
tests Fixes duplicate naming in error tests. Oct 16, 2018
tools Renews documentation and class diagrams Oct 17, 2017
.gitignore Rename v3 files to top-level directory. Jul 27, 2017
Mml-lab.html Update samples to use new required adaptors Mar 5, 2018
README.md Update README to point ot beta branch Jun 9, 2018
TeX-lab.html Adds package options to tex-lab. May 15, 2018
load.html Update asynchronous loading to work for any location, and provide a d… Mar 28, 2018
load.js Rename v3 files to top-level directory. Jul 27, 2017
load.mjs Update to work with node 10's esm module to use import/export automat… May 14, 2018
main.js Normalize all the sample files, and move some common functions to lib… May 14, 2018
package-lock.json Update to work with node 10's esm module to use import/export automat… May 14, 2018
package.json Update to work with node 10's esm module to use import/export automat… May 14, 2018
tests.sh Adds all tests for internal math parsing. Oct 16, 2018
tex_interactive.js Cleanup remaining files. Aug 11, 2017
tsconfig.json Rename v3 files to top-level directory. Jul 27, 2017
tslint.json Add Wrapper and WrapperFunction classes, and convert CHTML to use the… Aug 9, 2017

README.md

Development repository for MathJax v3

MathJax v3 is now in beta release; see the beta branch for details. See the https://github.com/mathjax/mj3-demos for examples and webpacked files for the beta release.

The master branch is not the beta release. It is the current development copy, set up for development testing, as described below.


There are two bootstrap files for running the code:

  • load.js for running in node (node load), and
  • load.html for running in a browser.

These allow you to specify a test file to run. For example,

node load samples/filename.js

will run the file samples/filename.js, while entering

load.html?samples/filename.js

in your browser will run the same file in your browser. If you leave off the file to load, then it defaults to main.js.

Additional arguments get passed to the script in the process.argv array. For example

node load samples/tex2html.js 'x+1'

or

load.html?samples/tex2html.js&x+1

would load tex2html.js passing it x+1 in process.argv[3].

Both load.js and load.html use System.js to manage the loading of version 3 files. In some browsers (e.g., Firefox), you get syntax errors for the files as they load, but that seems to be some side-effect of how System.js works. The code is OK and runs properly anyway.

There is a tiny document in the docs directory that gives the basic structures and some sample code, but it is woefully inadequate at the moment, and may be out of date. More to come later.