Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 22 additions & 11 deletions katex.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,7 @@ let render = function(
options: SettingsOptions,
) {
utils.clearNode(baseNode);

const settings = new Settings(options);

const tree = parseTree(expression, settings);
const node = buildTree(tree, expression, settings).toNode();

const node = generateBuildTree(expression, options).toNode();
baseNode.appendChild(node);
};

Expand All @@ -51,18 +46,15 @@ if (typeof document !== "undefined") {
}
}


/**
* Parse and build an expression, and return the markup for that.
*/
const renderToString = function(
expression: string,
options: SettingsOptions,
): string {
const settings = new Settings(options);

const tree = parseTree(expression, settings);
return buildTree(tree, expression, settings).toMarkup();
const markup = generateBuildTree(expression, options).toMarkup();
return markup;
};

/**
Expand All @@ -77,6 +69,19 @@ const generateParseTree = function(
};


/**
* Generates and returns the katex build tree. This is used for advanced
* use cases (like rendering to custom output).
*/
const generateBuildTree = function(
expression: string,
options: SettingsOptions,
) {
const settings = new Settings(options);
const tree = parseTree(expression, settings);
return buildTree(tree, expression, settings);
};

module.exports = {
render,
renderToString,
Expand All @@ -86,5 +91,11 @@ module.exports = {
* to change. Use at your own risk.
*/
__parse: generateParseTree,
/**
* 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.
*/
__getBuildTree: generateBuildTree,
ParseError,
};