mathpix-markdown-it
Version:
Mathpix-markdown-it is an open source implementation of the mathpix-markdown spec written in Typescript. It relies on the following open source libraries: MathJax v3 (to render math with SVGs), markdown-it (for standard Markdown parsing)
55 lines • 1.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var Base64 = {
characters: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',
encode: function (input) {
var output = '';
var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
var i = 0;
input = Base64.utf8Encode(input);
while (i < input.length) {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
}
else if (isNaN(chr3)) {
enc4 = 64;
}
output =
output +
this.characters.charAt(enc1) +
this.characters.charAt(enc2) +
this.characters.charAt(enc3) +
this.characters.charAt(enc4);
}
return output;
},
utf8Encode: function (string) {
string = string.replace(/\r\n/g, '\n');
var parts = [];
for (var n = 0; n < string.length; n++) {
var c = string.charCodeAt(n);
if (c < 128) {
parts.push(String.fromCharCode(c));
}
else if (c > 127 && c < 2048) {
parts.push(String.fromCharCode((c >> 6) | 192));
parts.push(String.fromCharCode((c & 63) | 128));
}
else {
parts.push(String.fromCharCode((c >> 12) | 224));
parts.push(String.fromCharCode(((c >> 6) & 63) | 128));
parts.push(String.fromCharCode((c & 63) | 128));
}
}
return parts.join('');
}
};
exports.default = Base64;
//# sourceMappingURL=base64.js.map