scribble-math/static
Martin von Gagern 8c55aed39a Allow macro definitions in settings (#493)
* Introduce MacroExpander

The job of the MacroExpander is turning a stream of possibly expandable
tokens, as obtained from the Lexer, into a stream of non-expandable tokens
(in KaTeX, even though they may well be expandable in TeX) which can be
processed by the Parser.  The challenge here is that we don't have
mode-specific lexer implementations any more, so we need to do everything on
the token level, including reassembly of sizes and colors.

* Make macros available in development server

Now one can specify macro definitions like \foo=bar as part of the query
string and use these macros in the formula being typeset.

* Add tests for macro expansions

* Handle end of input in special groups

This avoids an infinite loop if input ends prematurely.

* Simplify parseSpecialGroup

The parseSpecialGroup methos now returns a single token spanning the whole
special group, and leaves matching that string against a suitable regular
expression to whoever is calling the method.  Suggested by @cbreeden.

* Incorporate review suggestions

Add improvements suggested by Kevin Barabash during review.

* Input range sanity checks

Ensure that both tokens of a token range come from the same lexer,
and that the range has a non-negative length.

* Improved wording of two comments
2016-07-08 12:24:31 -07:00
..
fonts Update Dockerfile for ttfautohint, update metrics 2015-07-16 12:01:26 -07:00
fonts.less Adds font metrics to support font commands. 2015-07-10 21:50:04 -06:00
index.html Add basic auto-render extension 2015-04-01 15:57:10 -07:00
katex.less Add \underline support (#456) 2016-04-10 20:32:24 -07:00
main.css Add permalink button to test page 2014-07-23 20:24:09 -07:00
main.js Allow macro definitions in settings (#493) 2016-07-08 12:24:31 -07:00