Spaces:
Running
on
T4
Running
on
T4
/* eslint no-console:0 */ | |
/** | |
* This is the main entry point for KaTeX. Here, we expose functions for | |
* rendering expressions either to DOM nodes or to markup strings. | |
* | |
* We also expose the ParseError class to check if errors thrown from KaTeX are | |
* errors in the expression, or errors in javascript handling. | |
*/ | |
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"); | |
/** | |
* Parse and build an expression, and place that expression in the DOM node | |
* given. | |
*/ | |
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); | |
}; | |
// KaTeX's styles don't work properly in quirks mode. Print out an error, and | |
// disable rendering. | |
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."); | |
}; | |
} | |
} | |
/** | |
* Parse and build an expression, and return the markup for that. | |
*/ | |
var renderToString = function(expression, options) { | |
var settings = new Settings(options); | |
var tree = parseTree(expression, settings); | |
return buildTree(tree, expression, settings).toMarkup(); | |
}; | |
/** | |
* Parse an expression and return the parse tree. | |
*/ | |
var generateParseTree = function(expression, options) { | |
var settings = new Settings(options); | |
return parseTree(expression, settings); | |
}; | |
module.exports = { | |
render: render, | |
renderToString: renderToString, | |
/** | |
* NOTE: This method is not currently recommended for public use. | |
* The internal tree representation is unstable and is very likely | |
* to change. Use at your own risk. | |
*/ | |
__parse: generateParseTree, | |
ParseError: ParseError, | |
}; | |