Remove dependency on underscore
Summary: Remove all uses of underscore. For the things we actually need, make a "util" file and put them in there. Test Plan: Make sure the test still succeed, and that the main page still works. Reviewers: alpert Reviewed By: alpert Differential Revision: http://phabricator.khanacademy.org/D3043
This commit is contained in:
parent
0da85483c4
commit
a831e94a51
|
@ -1,4 +1,5 @@
|
||||||
var Lexer = require("./Lexer");
|
var Lexer = require("./Lexer");
|
||||||
|
var utils = require("./utils");
|
||||||
|
|
||||||
// Main Parser class
|
// Main Parser class
|
||||||
function Parser() {
|
function Parser() {
|
||||||
|
@ -164,10 +165,6 @@ Parser.prototype.parseGroup = function(pos) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Tests whether an element is in a list
|
|
||||||
function contains(list, elem) {
|
|
||||||
return list.indexOf(elem) !== -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// A list of 1-argument color functions
|
// A list of 1-argument color functions
|
||||||
var colorFuncs = [
|
var colorFuncs = [
|
||||||
|
@ -211,7 +208,7 @@ for (var type in copyFuncs) {
|
||||||
Parser.prototype.parseNucleus = function(pos) {
|
Parser.prototype.parseNucleus = function(pos) {
|
||||||
var nucleus = this.lexer.lex(pos);
|
var nucleus = this.lexer.lex(pos);
|
||||||
|
|
||||||
if (contains(colorFuncs, nucleus.type)) {
|
if (utils.contains(colorFuncs, nucleus.type)) {
|
||||||
// If this is a color function, parse its argument and return
|
// If this is a color function, parse its argument and return
|
||||||
var group = this.parseGroup(nucleus.position);
|
var group = this.parseGroup(nucleus.position);
|
||||||
if (group) {
|
if (group) {
|
||||||
|
|
13
katex.js
13
katex.js
|
@ -1,11 +1,16 @@
|
||||||
var parseTree = require("./parseTree");
|
var parseTree = require("./parseTree");
|
||||||
|
|
||||||
|
var utils = require("./utils");
|
||||||
|
|
||||||
var buildExpression = function(expression) {
|
var buildExpression = function(expression) {
|
||||||
return _.map(expression, function(ex, i) {
|
var groups = [];
|
||||||
|
for (var i = 0; i < expression.length; i++) {
|
||||||
|
var group = expression[i];
|
||||||
var prev = i > 0 ? expression[i-1] : null;
|
var prev = i > 0 ? expression[i-1] : null;
|
||||||
|
|
||||||
return buildGroup(ex, prev);
|
groups.push(buildGroup(group, prev));
|
||||||
});
|
};
|
||||||
|
return groups;
|
||||||
};
|
};
|
||||||
|
|
||||||
var makeSpan = function(className, children) {
|
var makeSpan = function(className, children) {
|
||||||
|
@ -28,7 +33,7 @@ var buildGroup = function(group, prev) {
|
||||||
return makeSpan("mord", [textit(group.value)]);
|
return makeSpan("mord", [textit(group.value)]);
|
||||||
} else if (group.type === "bin") {
|
} else if (group.type === "bin") {
|
||||||
var className = "mbin";
|
var className = "mbin";
|
||||||
if (prev == null || _.contains(["bin", "open", "rel"], prev.type)) {
|
if (prev == null || utils.contains(["bin", "open", "rel"], prev.type)) {
|
||||||
group.type = "ord";
|
group.type = "ord";
|
||||||
className = "mord";
|
className = "mord";
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>KaTeX Test</title>
|
<title>KaTeX Test</title>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js" type="text/javascript"></script>
|
|
||||||
<script src="katex.js" type="text/javascript"></script>
|
<script src="katex.js" type="text/javascript"></script>
|
||||||
<script src="main.js" type="text/javascript"></script>
|
<script src="main.js" type="text/javascript"></script>
|
||||||
<link href="katex.css" rel="stylesheet" type="text/css">
|
<link href="katex.css" rel="stylesheet" type="text/css">
|
||||||
|
|
Loading…
Reference in New Issue
Block a user