mathpix-markdown-it 1.0.91 → 1.0.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/.idea/workspace.xml +253 -351
  2. package/es5/bundle.js +1 -1
  3. package/es5/index.js +1 -1
  4. package/lib/index.d.ts +2 -1
  5. package/lib/index.js +6 -1
  6. package/lib/index.js.map +1 -1
  7. package/lib/markdown/common/consts.d.ts +53 -0
  8. package/lib/markdown/common/consts.js +54 -1
  9. package/lib/markdown/common/consts.js.map +1 -1
  10. package/lib/markdown/common/labels.d.ts +38 -0
  11. package/lib/markdown/common/labels.js +84 -0
  12. package/lib/markdown/common/labels.js.map +1 -0
  13. package/lib/markdown/common.d.ts +1 -0
  14. package/lib/markdown/common.js +9 -1
  15. package/lib/markdown/common.js.map +1 -1
  16. package/lib/markdown/mathpix-markdown-plugins.js +2 -0
  17. package/lib/markdown/mathpix-markdown-plugins.js.map +1 -1
  18. package/lib/markdown/md-block-rule/begin-align.js +5 -1
  19. package/lib/markdown/md-block-rule/begin-align.js.map +1 -1
  20. package/lib/markdown/md-block-rule/begin-table.js +60 -86
  21. package/lib/markdown/md-block-rule/begin-table.js.map +1 -1
  22. package/lib/markdown/md-block-rule/begin-tabular/index.js +6 -1
  23. package/lib/markdown/md-block-rule/begin-tabular/index.js.map +1 -1
  24. package/lib/markdown/md-inline-rule/core-inline.d.ts +8 -0
  25. package/lib/markdown/md-inline-rule/core-inline.js +29 -0
  26. package/lib/markdown/md-inline-rule/core-inline.js.map +1 -0
  27. package/lib/markdown/md-inline-rule/includegraphics.js +3 -2
  28. package/lib/markdown/md-inline-rule/includegraphics.js.map +1 -1
  29. package/lib/markdown/md-renderer-rules/breaks.d.ts +6 -0
  30. package/lib/markdown/md-renderer-rules/breaks.js +22 -0
  31. package/lib/markdown/md-renderer-rules/breaks.js.map +1 -0
  32. package/lib/markdown/md-theorem/block-rule.js +39 -45
  33. package/lib/markdown/md-theorem/block-rule.js.map +1 -1
  34. package/lib/markdown/md-theorem/helper.d.ts +0 -13
  35. package/lib/markdown/md-theorem/helper.js +1 -23
  36. package/lib/markdown/md-theorem/helper.js.map +1 -1
  37. package/lib/markdown/md-theorem/index.js +5 -4
  38. package/lib/markdown/md-theorem/index.js.map +1 -1
  39. package/lib/markdown/md-theorem/inline-rule.d.ts +2 -0
  40. package/lib/markdown/md-theorem/inline-rule.js +72 -8
  41. package/lib/markdown/md-theorem/inline-rule.js.map +1 -1
  42. package/lib/markdown/mdPluginRaw.js +125 -69
  43. package/lib/markdown/mdPluginRaw.js.map +1 -1
  44. package/lib/markdown/mdPluginTableTabular.js +6 -5
  45. package/lib/markdown/mdPluginTableTabular.js.map +1 -1
  46. package/lib/markdown/mdPluginText.js +53 -14
  47. package/lib/markdown/mdPluginText.js.map +1 -1
  48. package/lib/markdown/rules.d.ts +1 -0
  49. package/lib/markdown/rules.js +29 -1
  50. package/lib/markdown/rules.js.map +1 -1
  51. package/lib/markdown/utils.d.ts +2 -0
  52. package/lib/markdown/utils.js +12 -1
  53. package/lib/markdown/utils.js.map +1 -1
  54. package/lib/mathjax/index.d.ts +29 -20
  55. package/lib/mathjax/index.js +15 -3
  56. package/lib/mathjax/index.js.map +1 -1
  57. package/lib/mathpix-markdown-model/index.js +7 -24
  58. package/lib/mathpix-markdown-model/index.js.map +1 -1
  59. package/package.json +1 -1
@@ -14,9 +14,12 @@ var md_theorem_1 = require("./md-theorem");
14
14
  var helper_1 = require("./md-theorem/helper");
15
15
  var block_rule_1 = require("./md-theorem/block-rule");
16
16
  var inline_rule_1 = require("./md-theorem/inline-rule");
17
+ var core_inline_1 = require("./md-inline-rule/core-inline");
18
+ var breaks_1 = require("./md-renderer-rules/breaks");
19
+ var labels_1 = require("./common/labels");
17
20
  var isSpace = require('markdown-it/lib/common/utils').isSpace;
18
21
  var consts_2 = require("../helpers/consts");
19
- var mathNumber = [];
22
+ var common_1 = require("./common");
20
23
  function MathML(state, silent, pos, endMarker, type) {
21
24
  if (endMarker === void 0) { endMarker = ''; }
22
25
  if (type === void 0) { type = "inline_mathML"; }
@@ -55,6 +58,8 @@ function MathML(state, silent, pos, endMarker, type) {
55
58
  token = state.push(type, "", 0);
56
59
  token.content = content.trim();
57
60
  }
61
+ /** Perform math to conversion to html and get additional data from MathJax to pass it to render rules */
62
+ convertMathToHtml(state, token, state.md.options);
58
63
  state.pos = nextPos;
59
64
  return true;
60
65
  }
@@ -66,9 +71,9 @@ function inlineMathML(state, silent) {
66
71
  return MathML(state, silent, startMathPos);
67
72
  }
68
73
  // BLOCK
69
- function mathMLBlock(state, startLine /*, endLine*/) {
74
+ function mathMLBlock(state, startLine, endLine, silent) {
70
75
  var markerBegin = RegExp('^</?(math)(?=(\\s|>|$))', 'i');
71
- var content, terminate, i, l, token, oldParentType, lineText, mml, nextLine = startLine + 1, terminatorRules = state.md.block.ruler.getRules('paragraph'), endLine = state.lineMax, pos = state.bMarks[startLine] + state.tShift[startLine], max = state.eMarks[startLine];
76
+ var content, terminate, i, l, token, oldParentType, lineText, mml, nextLine = startLine + 1, terminatorRules = [].concat(state.md.block.ruler.getRules('paragraph'), state.md.block.ruler.getRules('mathMLBlock')), pos = state.bMarks[startLine] + state.tShift[startLine], max = state.eMarks[startLine];
72
77
  oldParentType = state.parentType;
73
78
  state.parentType = 'paragraph';
74
79
  if (!state.md.options.html) {
@@ -82,6 +87,10 @@ function mathMLBlock(state, startLine /*, endLine*/) {
82
87
  if (!markerBegin.test(lineText)) {
83
88
  return false;
84
89
  }
90
+ /** For validation mode we can terminate immediately */
91
+ if (silent) {
92
+ return true;
93
+ }
85
94
  // jump line-by-line until empty one or EOF
86
95
  for (; nextLine < endLine; nextLine++) {
87
96
  pos = state.bMarks[nextLine] + state.tShift[nextLine];
@@ -235,6 +244,9 @@ function multiMath(state, silent) {
235
244
  }
236
245
  if (!silent) {
237
246
  var token = state.push(type, "", 0);
247
+ if (state.env.subTabular) {
248
+ token.isSubTable = true;
249
+ }
238
250
  if (state.md.options.forLatex) {
239
251
  if (match[1]) {
240
252
  token.markup = match[1];
@@ -264,6 +276,10 @@ function multiMath(state, silent) {
264
276
  if (state.md.options.outMath && state.md.options.outMath.include_table_markdown) {
265
277
  token.latex = '\\' + match.input;
266
278
  }
279
+ if (type !== "reference_note" && !state.md.options.forLatex) {
280
+ /** Perform math to conversion to html and get additional data from MathJax to pass it to render rules */
281
+ convertMathToHtml(state, token, state.md.options);
282
+ }
267
283
  }
268
284
  state.pos = nextPos;
269
285
  return true;
@@ -334,6 +350,9 @@ function refs(state, silent) {
334
350
  }
335
351
  var token = state.push(type, "", 0);
336
352
  token.content = matchRef ? matchRef[1] : "";
353
+ var children = [];
354
+ state.md.inline.parse(token.content.trim(), state.md, state.env, children);
355
+ token.children = children;
337
356
  }
338
357
  state.pos = nextPos;
339
358
  return true;
@@ -403,6 +422,10 @@ function simpleMath(state, silent) {
403
422
  if (state.md.options.outMath && state.md.options.outMath.include_table_markdown) {
404
423
  token.latex = endMarker + token.content + endMarker;
405
424
  }
425
+ /** Perform math to conversion to html and get additional data from MathJax to pass it to render rules */
426
+ if (!state.md.options.forLatex) {
427
+ convertMathToHtml(state, token, state.md.options);
428
+ }
406
429
  }
407
430
  state.pos = nextPos;
408
431
  return true;
@@ -476,18 +499,11 @@ function extend(options, defaults) {
476
499
  return result;
477
500
  }, options);
478
501
  }
479
- var checkReference = function (data) {
480
- var match = data.match(/label\{([^}]*)\}/);
481
- return {
482
- tagId: match ? match[1] : "",
483
- math: data.replace(/\\label\{([^}]*)\}/, "")
484
- };
485
- };
486
- var renderMath = function (a, token, options) {
502
+ /** Perform math to conversion to html and get additional data from MathJax to pass it to render rules */
503
+ var convertMathToHtml = function (state, token, options) {
487
504
  var _a, _b;
488
- var _c = checkReference(token.content), tagId = _c.tagId, math = _c.math;
505
+ var math = token.content;
489
506
  var isBlock = token.type !== 'inline_math';
490
- var mathEquation = null;
491
507
  var begin_number = mathjax_1.MathJax.GetLastEquationNumber() + 1;
492
508
  try {
493
509
  var cwidth = 1200;
@@ -498,7 +514,7 @@ var renderMath = function (a, token, options) {
498
514
  cwidth = utils_1.getWidthFromDocument(cwidth);
499
515
  }
500
516
  if (token.type === 'display_mathML' || token.type === 'inline_mathML') {
501
- mathEquation = mathjax_1.MathJax.TypesetMathML(math, {
517
+ token.mathEquation = mathjax_1.MathJax.TypesetMathML(math, {
502
518
  display: true,
503
519
  metric: { cwidth: cwidth },
504
520
  outMath: options.outMath,
@@ -507,6 +523,7 @@ var renderMath = function (a, token, options) {
507
523
  }
508
524
  else {
509
525
  if (token.return_asciimath) {
526
+ mathjax_1.MathJax.Reset(begin_number);
510
527
  var data = mathjax_1.MathJax.TypesetSvgAndAscii(math, {
511
528
  display: isBlock,
512
529
  metric: { cwidth: cwidth },
@@ -524,66 +541,80 @@ var renderMath = function (a, token, options) {
524
541
  mathJax: options.mathJax,
525
542
  accessibility: options.accessibility
526
543
  });
527
- mathEquation = data.html;
544
+ token.mathEquation = data.html;
528
545
  token.ascii = data.ascii;
529
546
  token.ascii_tsv = data.ascii_tsv;
530
547
  token.ascii_csv = data.ascii_csv;
548
+ token.labels = data.labels;
531
549
  }
532
550
  else {
533
- mathEquation = mathjax_1.MathJax.Typeset(math, { display: isBlock, metric: { cwidth: cwidth },
551
+ mathjax_1.MathJax.Reset(begin_number);
552
+ var data = mathjax_1.MathJax.Typeset(math, { display: isBlock, metric: { cwidth: cwidth },
534
553
  outMath: options.outMath, mathJax: options.mathJax, forDocx: options.forDocx,
535
554
  accessibility: options.accessibility,
536
555
  nonumbers: options.nonumbers
537
556
  });
557
+ token.mathEquation = data.html;
558
+ token.ascii = data.ascii;
559
+ token.ascii_tsv = data.ascii_tsv;
560
+ token.ascii_csv = data.ascii_csv;
561
+ token.labels = data.labels;
562
+ }
563
+ }
564
+ var number = mathjax_1.MathJax.GetLastEquationNumber();
565
+ var idLabels = '';
566
+ if (token.labels) {
567
+ /** generate parenID - needs to multiple labels */
568
+ var labelsKeys = token.labels ? Object.keys(token.labels) : [];
569
+ idLabels = (labelsKeys === null || labelsKeys === void 0 ? void 0 : labelsKeys.length) ? encodeURIComponent(labelsKeys.join('_')) : '';
570
+ for (var key in token.labels) {
571
+ var tagContent = token.labels[key].tag;
572
+ var tagChildrenTokens = [];
573
+ state.md.inline.parse(tagContent, state.md, state.env, tagChildrenTokens);
574
+ labels_1.addIntoLabelsList({
575
+ key: key,
576
+ id: idLabels,
577
+ tag: tagContent,
578
+ tagId: token.labels[key].id,
579
+ tagChildrenTokens: tagChildrenTokens,
580
+ type: labels_1.eLabelType.equation
581
+ });
538
582
  }
539
583
  }
584
+ token.idLabels = idLabels;
585
+ token.number = number;
586
+ token.begin_number = begin_number;
587
+ token.attrNumber = begin_number >= number
588
+ ? number.toString()
589
+ : begin_number.toString() + ',' + number.toString();
590
+ return token;
540
591
  }
541
592
  catch (e) {
542
593
  console.error('ERROR MathJax =>', e.message, e);
543
- if (options.outMath && options.outMath.not_catch_errors) {
544
- throw ({
545
- message: e.message,
546
- error: e
547
- });
548
- }
549
- if (token.type === 'display_mathML' || token.type === 'inline_mathML') {
550
- mathEquation = "<span class=\"math-error\">" + math + "</span>";
551
- }
552
- else {
553
- mathEquation = math;
554
- return "<p class=\"math-error\">" + mathEquation + "</p>";
555
- }
556
- }
557
- if (token.type === "equation_math_not_number") {
558
- if (tagId) {
559
- mathNumber[tagId] = "" + 0;
560
- }
561
- }
562
- else {
563
- if (token.type === "equation_math") {
564
- if (tagId) {
565
- mathNumber[tagId] = "" + begin_number;
566
- }
567
- }
594
+ token.error = {
595
+ message: e.message,
596
+ error: e
597
+ };
598
+ return token;
568
599
  }
569
- var tagRef = (tagId && (tagId) !== '') ? "id=" + encodeURIComponent(tagId) : '';
600
+ };
601
+ var renderMath = function (a, token, options) {
602
+ var mathEquation = token.mathEquation;
603
+ var attrNumber = token.attrNumber;
604
+ var idLabels = token.idLabels;
570
605
  if (token.type === "equation_math") {
571
- var number = mathjax_1.MathJax.GetLastEquationNumber();
572
- if (begin_number === number) {
573
- return "<span " + tagRef + " class=\"math-block equation-number " + tagRef + "\" number=\"" + number + "\">" + mathEquation + "</span>";
574
- }
575
- else {
576
- return "<span " + tagRef + " class=\"math-block equation-number " + tagRef + "\" number=\"" + begin_number + "," + number + "\">" + mathEquation + "</span>";
577
- }
606
+ return idLabels
607
+ ? "<span id=\"" + idLabels + "\" class=\"math-block equation-number id=" + idLabels + "\" number=\"" + attrNumber + "\">" + mathEquation + "</span>"
608
+ : "<span class=\"math-block equation-number \" number=\"" + attrNumber + "\">" + mathEquation + "</span>";
578
609
  }
579
610
  else {
580
611
  return token.type === "inline_math" || token.type === "inline_mathML"
581
- ? tagRef
582
- ? "<span " + tagRef + " class=\"math-inline " + tagRef + "\">" + mathEquation + "</span>"
583
- : "<span class=\"math-inline " + tagRef + "\">" + mathEquation + "</span>"
584
- : tagRef
585
- ? "<span " + tagRef + " class=\"math-block " + tagRef + "\">" + mathEquation + "</span>"
586
- : "<span class=\"math-block " + tagRef + "\">" + mathEquation + "</span>";
612
+ ? idLabels
613
+ ? "<span id=\"" + idLabels + "\" class=\"math-inline id=" + idLabels + "\">" + mathEquation + "</span>"
614
+ : "<span class=\"math-inline " + idLabels + "\">" + mathEquation + "</span>"
615
+ : idLabels
616
+ ? "<span id=\"" + idLabels + "\" class=\"math-block id=" + idLabels + "\">" + mathEquation + "</span>"
617
+ : "<span class=\"math-block " + idLabels + "\">" + mathEquation + "</span>";
587
618
  }
588
619
  };
589
620
  var setStyle = function (str) {
@@ -638,20 +669,33 @@ var renderUsepackage = function (token, options) {
638
669
  return '';
639
670
  }
640
671
  };
641
- var renderReference = function (token) {
642
- var id = encodeURIComponent(token.content);
643
- var theoremNumber = helper_1.getTheoremNumberByLabel(token.content);
672
+ var renderReference = function (token, options, env, slf) {
673
+ var _a;
674
+ var id = '';
675
+ var reference = '';
676
+ /** This attribute indicates that the reference should be enclosed in parentheses (the reference was declared as \eqref{}) */
644
677
  var dataParentheses = token.attrGet("data-parentheses");
645
- var reference = mathNumber[token.content] || theoremNumber;
678
+ var label = labels_1.getLabelByKeyFromLabelsList(token.content);
679
+ if (label) {
680
+ id = label.id;
681
+ reference = ((_a = label.tagChildrenTokens) === null || _a === void 0 ? void 0 : _a.length) ? slf.renderInline(label.tagChildrenTokens, options)
682
+ : label.tag;
683
+ }
646
684
  if (dataParentheses === "true" && reference) {
647
685
  reference = '(' + reference + ')';
648
686
  }
649
- if (token.type === "reference_note_block") {
650
- return "<div class=\"math-block\"><a href=\"#" + id + "\"\n style=\"cursor: pointer; text-decoration: none;\"\n class=\"clickable-link\"\n value=" + id + "\n data-parentheses=\"" + dataParentheses + "\"\n >" + (reference || '[' + token.content + ']') + " </a></div>";
651
- }
652
- else {
653
- return "<a href=\"#" + id + "\"\n style=\"cursor: pointer; text-decoration: none;\"\n class=\"clickable-link\"\n value=" + id + "\n data-parentheses=\"" + dataParentheses + "\"\n >" + (reference || '[' + token.content + ']') + " </a>";
654
- }
687
+ if (!reference) {
688
+ /** If the label could not be found in the list, then we display the content of this label */
689
+ reference = '[' + token.content + ']';
690
+ }
691
+ var html = token.type === "reference_note_block"
692
+ ? "<div class=\"math-block\">"
693
+ : '';
694
+ html += "<a href=\"#" + id + "\" style=\"cursor: pointer; text-decoration: none;\" class=\"clickable-link\" value=\"" + id + "\" data-parentheses=\"" + dataParentheses + "\">";
695
+ html += reference;
696
+ html += '</a>';
697
+ html += token.type === "reference_note_block" ? '</div>' : '';
698
+ return html;
655
699
  };
656
700
  var getCoutOpenCloseBranches = function (str, beginMarker, endMarker) {
657
701
  if (beginMarker === void 0) { beginMarker = '{'; }
@@ -888,19 +932,23 @@ exports.default = (function (options) {
888
932
  * and not all content is being rerendered */
889
933
  if (!isRenderElement) {
890
934
  helper_1.resetTheoremEnvironments();
935
+ /** TODO: check it in vscode */
936
+ labels_1.clearLabelsList(); /** Clean up the global list of all labels */
891
937
  }
892
938
  md.block.ruler.before("paragraph", "paragraphDiv", paragraphDiv);
893
939
  if (!md.options.enableCodeBlockRuleForLatexCommands) {
894
940
  md.block.ruler.at("code", codeBlock);
895
941
  }
896
- md.block.ruler.before("ReNewCommand", "newTheoremBlock", block_rule_1.newTheoremBlock);
942
+ md.block.ruler.before("ReNewCommand", "newTheoremBlock", block_rule_1.newTheoremBlock, { alt: common_1.getTerminatedRules("newTheoremBlock") });
897
943
  md.inline.ruler.before("escape", "usepackage", usepackage);
898
- md.block.ruler.before("html_block", "mathMLBlock", mathMLBlock);
944
+ md.block.ruler.before("html_block", "mathMLBlock", mathMLBlock, { alt: common_1.getTerminatedRules("mathMLBlock") });
899
945
  md.inline.ruler.before("html_inline", "mathML", inlineMathML);
900
946
  md.inline.ruler.before("escape", "refs", refs);
901
947
  md.inline.ruler.before("escape", "multiMath", multiMath);
902
948
  md.inline.ruler.before("multiMath", "inlineTabular", tabular_1.inlineTabular);
903
949
  md.inline.ruler.before("multiMath", "labelLatex", inline_rule_1.labelLatex);
950
+ md.inline.ruler.before("multiMath", "captionLatex", inline_rule_1.captionLatex);
951
+ md.inline.ruler.before("multiMath", "centeringLatex", inline_rule_1.centeringLatex);
904
952
  md.inline.ruler.before("multiMath", "theoremStyle", inline_rule_1.theoremStyle); /** Parse \theoremstyle */
905
953
  md.inline.ruler.before("multiMath", "newTheorem", inline_rule_1.newTheorem); /** Parse \newtheorem */
906
954
  md.inline.ruler.before("multiMath", "setCounterTheorem", inline_rule_1.setCounterTheorem); /** Parse \newtheorem */
@@ -911,6 +959,8 @@ exports.default = (function (options) {
911
959
  md.inline.ruler.before("asciiMath", "backtickAsAsciiMath", md_ascii_1.backtickAsAsciiMath);
912
960
  /** Replace image inline rule */
913
961
  md.inline.ruler.at('image', image_1.imageWithSize);
962
+ /** Replace inline core rule */
963
+ md.core.ruler.at('inline', core_inline_1.coreInline);
914
964
  Object.keys(mapping).forEach(function (key) {
915
965
  md.renderer.rules[key] = function (tokens, idx, options, env, slf) {
916
966
  switch (tokens[idx].type) {
@@ -921,9 +971,9 @@ exports.default = (function (options) {
921
971
  // case "tsv":
922
972
  // return renderTSV(tokens, tokens[idx], options);
923
973
  case "reference_note":
924
- return renderReference(tokens[idx]);
974
+ return renderReference(tokens[idx], options, env, slf);
925
975
  case "reference_note_block":
926
- return renderReference(tokens[idx]);
976
+ return renderReference(tokens[idx], options, env, slf);
927
977
  case "usepackage_geometry":
928
978
  return renderUsepackage(tokens[idx], options);
929
979
  case "ascii_math":
@@ -933,6 +983,12 @@ exports.default = (function (options) {
933
983
  }
934
984
  };
935
985
  });
986
+ /**
987
+ * Replacing the default renderer rules(softbreak and hardbreak) to ignore insertion of line breaks after hidden tokens.
988
+ * Hidden tokens do not participate in rendering
989
+ * */
990
+ md.renderer.rules.softbreak = breaks_1.softBreak;
991
+ md.renderer.rules.hardbreak = breaks_1.hardBreak;
936
992
  md.renderer.rules.image = function (tokens, idx, options, env, slf) { return image_1.renderRuleImage(tokens, idx, options, env, slf); };
937
993
  md_theorem_1.renderTheorems(md);
938
994
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mdPluginRaw.js","sourceRoot":"","sources":["../../src/markdown/mdPluginRaw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mdPluginRaw.js","sourceRoot":"","sources":["../../src/markdown/mdPluginRaw.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ var sub_tabular_1 = require("./md-block-rule/begin-tabular/sub-tabular");
9
9
  var sub_math_1 = require("./md-block-rule/begin-tabular/sub-math");
10
10
  var parse_error_1 = require("./md-block-rule/parse-error");
11
11
  var block_rule_1 = require("./md-theorem/block-rule");
12
+ var common_1 = require("./common");
12
13
  exports.default = (function (md, options) {
13
14
  begin_table_1.ClearTableNumbers();
14
15
  begin_table_1.ClearFigureNumbers();
@@ -17,11 +18,11 @@ exports.default = (function (md, options) {
17
18
  parse_error_1.ClearParseError();
18
19
  Object.assign(md.options, options);
19
20
  var width = md.options.width;
20
- md.block.ruler.after("fence", "BeginTabular", begin_tabular_1.BeginTabular, md.options);
21
- md.block.ruler.before("BeginTabular", "BeginAlign", begin_align_1.BeginAlign);
22
- md.block.ruler.before("BeginAlign", "BeginTable", begin_table_1.BeginTable);
23
- md.block.ruler.after("BeginTabular", "BeginTheorem", block_rule_1.BeginTheorem);
24
- md.block.ruler.before("BeginTheorem", "BeginProof", block_rule_1.BeginProof);
21
+ md.block.ruler.after("fence", "BeginTabular", begin_tabular_1.BeginTabular, Object.assign({}, md.options, { alt: common_1.getTerminatedRules('BeginTabular') }));
22
+ md.block.ruler.before("BeginTabular", "BeginAlign", begin_align_1.BeginAlign, { alt: common_1.getTerminatedRules('BeginAlign') });
23
+ md.block.ruler.before("BeginAlign", "BeginTable", begin_table_1.BeginTable, { alt: common_1.getTerminatedRules('BeginTable') });
24
+ md.block.ruler.after("BeginTabular", "BeginTheorem", block_rule_1.BeginTheorem, { alt: common_1.getTerminatedRules('BeginTheorem') });
25
+ md.block.ruler.before("BeginTheorem", "BeginProof", block_rule_1.BeginProof, { alt: common_1.getTerminatedRules('BeginProof') });
25
26
  md.inline.ruler.before("escape", "InlineIncludeGraphics", includegraphics_1.InlineIncludeGraphics);
26
27
  md.renderer.rules.caption_table = function (tokens, idx) {
27
28
  return md_renderer_rules_1.CaptionTable(tokens, tokens[idx]);
@@ -1 +1 @@
1
- {"version":3,"file":"mdPluginTableTabular.js","sourceRoot":"","sources":["../../src/markdown/mdPluginTableTabular.ts"],"names":[],"mappings":";;AAEA,+DAA4D;AAC5D,2DAAyD;AACzD,2DAAgG;AAChG,oEAAyE;AACzE,yDAAmF;AACnF,yEAA+E;AAC/E,mEAA2E;AAC3E,2DAA4D;AAC5D,sDAAmE;AAEnE,mBAAe,UAAC,EAAc,EAAE,OAAO;IACrC,+BAAiB,EAAE,CAAC;IACpB,gCAAkB,EAAE,CAAC;IACrB,gCAAkB,EAAE,CAAC;IACrB,4BAAiB,EAAE,CAAC;IACpB,6BAAe,EAAE,CAAC;IAClB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnC,IAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAE/B,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAC,cAAc,EAAE,4BAAY,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACvE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,wBAAU,CAAC,CAAC;IAChE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,wBAAU,CAAC,CAAC;IAC9D,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,EAAE,yBAAY,CAAC,CAAC;IACnE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,uBAAU,CAAC,CAAC;IAChE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,uBAAuB,EAAE,uCAAqB,CAAC,CAAC;IAEjF,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,GAAG,UAAC,MAAM,EAAE,GAAG;QACxC,OAAO,gCAAY,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC;IACF,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,GAAG,UAAC,MAAM,EAAE,GAAG;QAC7C,OAAO,iCAAa,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC;IACF,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,GAAG,UAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG;QACjE,OAAO,mCAAe,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC,CAAA;AAEH,CAAC,EAAA"}
1
+ {"version":3,"file":"mdPluginTableTabular.js","sourceRoot":"","sources":["../../src/markdown/mdPluginTableTabular.ts"],"names":[],"mappings":";;AAEA,+DAA4D;AAC5D,2DAAyD;AACzD,2DAAgG;AAChG,oEAAyE;AACzE,yDAAmF;AACnF,yEAA+E;AAC/E,mEAA2E;AAC3E,2DAA4D;AAC5D,sDAAmE;AACnE,mCAA8C;AAE9C,mBAAe,UAAC,EAAc,EAAE,OAAO;IACrC,+BAAiB,EAAE,CAAC;IACpB,gCAAkB,EAAE,CAAC;IACrB,gCAAkB,EAAE,CAAC;IACrB,4BAAiB,EAAE,CAAC;IACpB,6BAAe,EAAE,CAAC;IAClB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnC,IAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAE/B,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,4BAAY,EACxD,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,EAAC,GAAG,EAAE,2BAAkB,CAAC,cAAc,CAAC,EAAC,CAAC,CAAC,CAAC;IAC5E,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,wBAAU,EAC5D,EAAC,GAAG,EAAE,2BAAkB,CAAC,YAAY,CAAC,EAAC,CAAC,CAAC;IAC3C,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,wBAAU,EAC1D,EAAC,GAAG,EAAE,2BAAkB,CAAC,YAAY,CAAC,EAAC,CAAC,CAAC;IAC3C,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,EAAE,yBAAY,EAC/D,EAAC,GAAG,EAAE,2BAAkB,CAAC,cAAc,CAAC,EAAC,CAAC,CAAC;IAC7C,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,uBAAU,EAC5D,EAAC,GAAG,EAAE,2BAAkB,CAAC,YAAY,CAAC,EAAC,CAAC,CAAC;IAC3C,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,uBAAuB,EAAE,uCAAqB,CAAC,CAAC;IAEjF,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,GAAG,UAAC,MAAM,EAAE,GAAG;QACxC,OAAO,gCAAY,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC;IACF,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,GAAG,UAAC,MAAM,EAAE,GAAG;QAC7C,OAAO,iCAAa,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC;IACF,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,GAAG,UAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG;QACjE,OAAO,mCAAe,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC,CAAA;AAEH,CAAC,EAAA"}