Skip to content

Commit e846cb6

Browse files
committed
Move to MathJax 3 and PrismJS
1 parent c1352da commit e846cb6

File tree

6 files changed

+316
-1136
lines changed

6 files changed

+316
-1136
lines changed

dist/internal/highlight-renderer.js

+34-37
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@ var highlight = exports.highlight = function () {
1818
while (1) {
1919
switch (_context.prev = _context.next) {
2020
case 0:
21+
if (languageMap[language]) language = languageMap[language];
22+
2123
cacheKey = void 0;
2224

2325
if (!cache) {
24-
_context.next = 8;
26+
_context.next = 9;
2527
break;
2628
}
2729

@@ -34,20 +36,20 @@ var highlight = exports.highlight = function () {
3436
}
3537
});
3638

37-
_context.next = 5;
39+
_context.next = 6;
3840
return cache.get(cacheKey);
3941

40-
case 5:
42+
case 6:
4143
cachedResult = _context.sent;
4244

4345
if (!cachedResult) {
44-
_context.next = 8;
46+
_context.next = 9;
4547
break;
4648
}
4749

4850
return _context.abrupt('return', cachedResult);
4951

50-
case 8:
52+
case 9:
5153

5254
options = (0, _objectAssignDeep2.default)({
5355
pygments: {
@@ -63,41 +65,33 @@ var highlight = exports.highlight = function () {
6365
}, options);
6466

6567
result = void 0;
66-
_context.prev = 10;
68+
_context.prev = 11;
6769

6870
if (!(typeof options.highlighter === 'function')) {
69-
_context.next = 17;
71+
_context.next = 18;
7072
break;
7173
}
7274

73-
_context.next = 14;
75+
_context.next = 15;
7476
return options.highlighter(code, language);
7577

76-
case 14:
78+
case 15:
7779
result = _context.sent;
78-
_context.next = 20;
80+
_context.next = 19;
7981
break;
8082

81-
case 17:
82-
_context.next = 19;
83-
return queue.add(function () {
84-
return _pygmentsPromise2.default.pygmentize(code, (0, _objectAssignDeep2.default)({
85-
lexer: language
86-
}, options.pygments));
87-
});
83+
case 18:
84+
result = _prismjs2.default.highlight(code, _prismjs2.default.languages[language], language);
8885

8986
case 19:
90-
result = _context.sent;
91-
92-
case 20:
93-
_context.next = 24;
87+
_context.next = 23;
9488
break;
9589

96-
case 22:
97-
_context.prev = 22;
98-
_context.t0 = _context['catch'](10);
90+
case 21:
91+
_context.prev = 21;
92+
_context.t0 = _context['catch'](11);
9993

100-
case 24:
94+
case 23:
10195

10296
// May error rendering.
10397
if (typeof result !== 'string' || result.length === 0) {
@@ -116,32 +110,36 @@ var highlight = exports.highlight = function () {
116110
}
117111

118112
if (!cache) {
119-
_context.next = 32;
113+
_context.next = 31;
120114
break;
121115
}
122116

123-
_context.next = 32;
117+
_context.next = 31;
124118
return cache.set(cacheKey, result);
125119

126-
case 32:
120+
case 31:
127121
return _context.abrupt('return', result);
128122

129-
case 33:
123+
case 32:
130124
case 'end':
131125
return _context.stop();
132126
}
133127
}
134-
}, _callee, this, [[10, 22]]);
128+
}, _callee, this, [[11, 21]]);
135129
}));
136130

137131
return function highlight(_x, _x2, _x3, _x4) {
138132
return _ref.apply(this, arguments);
139133
};
140134
}();
141135

142-
var _pygmentsPromise = require('pygments-promise');
136+
var _prismjs = require('prismjs');
137+
138+
var _prismjs2 = _interopRequireDefault(_prismjs);
143139

144-
var _pygmentsPromise2 = _interopRequireDefault(_pygmentsPromise);
140+
var _components = require('prismjs/components/');
141+
142+
var _components2 = _interopRequireDefault(_components);
145143

146144
var _escapeHtml = require('escape-html');
147145

@@ -155,10 +153,6 @@ var _objectAssignDeep = require('object-assign-deep');
155153

156154
var _objectAssignDeep2 = _interopRequireDefault(_objectAssignDeep);
157155

158-
var _promiseQueue = require('promise-queue');
159-
160-
var _promiseQueue2 = _interopRequireDefault(_promiseQueue);
161-
162156
var _asyncRenderer = require('./async-renderer');
163157

164158
var _asyncRenderer2 = _interopRequireDefault(_asyncRenderer);
@@ -173,7 +167,10 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
173167

174168
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
175169

176-
var queue = new _promiseQueue2.default(5);
170+
(0, _components2.default)();
171+
var languageMap = {
172+
'c++': 'cpp'
173+
};
177174

178175
var HighlightRenderer = function (_AsyncRenderer) {
179176
_inherits(HighlightRenderer, _AsyncRenderer);

0 commit comments

Comments
 (0)