|
var buildHTML = require("./buildHTML"); |
|
var buildMathML = require("./buildMathML"); |
|
var buildCommon = require("./buildCommon"); |
|
var Options = require("./Options"); |
|
var Settings = require("./Settings"); |
|
var Style = require("./Style"); |
|
|
|
var makeSpan = buildCommon.makeSpan; |
|
|
|
var buildTree = function(tree, expression, settings) { |
|
settings = settings || new Settings({}); |
|
|
|
var startStyle = Style.TEXT; |
|
if (settings.displayMode) { |
|
startStyle = Style.DISPLAY; |
|
} |
|
|
|
|
|
var options = new Options({ |
|
style: startStyle, |
|
size: "size5", |
|
}); |
|
|
|
|
|
|
|
var mathMLNode = buildMathML(tree, expression, options); |
|
var htmlNode = buildHTML(tree, options); |
|
|
|
var katexNode = makeSpan(["katex"], [ |
|
mathMLNode, htmlNode, |
|
]); |
|
|
|
if (settings.displayMode) { |
|
return makeSpan(["katex-display"], [katexNode]); |
|
} else { |
|
return katexNode; |
|
} |
|
}; |
|
|
|
module.exports = buildTree; |
|
|