|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var ParseError = require("./src/ParseError"); |
|
var Settings = require("./src/Settings"); |
|
|
|
var buildTree = require("./src/buildTree"); |
|
var parseTree = require("./src/parseTree"); |
|
var utils = require("./src/utils"); |
|
|
|
|
|
|
|
|
|
|
|
var render = function(expression, baseNode, options) { |
|
utils.clearNode(baseNode); |
|
|
|
var settings = new Settings(options); |
|
|
|
var tree = parseTree(expression, settings); |
|
var node = buildTree(tree, expression, settings).toNode(); |
|
|
|
baseNode.appendChild(node); |
|
}; |
|
|
|
|
|
|
|
if (typeof document !== "undefined") { |
|
if (document.compatMode !== "CSS1Compat") { |
|
typeof console !== "undefined" && console.warn( |
|
"Warning: KaTeX doesn't work in quirks mode. Make sure your " + |
|
"website has a suitable doctype."); |
|
|
|
render = function() { |
|
throw new ParseError("KaTeX doesn't work in quirks mode."); |
|
}; |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
var renderToString = function(expression, options) { |
|
var settings = new Settings(options); |
|
|
|
var tree = parseTree(expression, settings); |
|
return buildTree(tree, expression, settings).toMarkup(); |
|
}; |
|
|
|
|
|
|
|
|
|
var generateParseTree = function(expression, options) { |
|
var settings = new Settings(options); |
|
return parseTree(expression, settings); |
|
}; |
|
|
|
module.exports = { |
|
render: render, |
|
renderToString: renderToString, |
|
|
|
|
|
|
|
|
|
|
|
__parse: generateParseTree, |
|
ParseError: ParseError, |
|
}; |
|
|