mathpix-markdown-it 2.0.31 → 2.0.33

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 (86) hide show
  1. package/doc/changelog.md +32 -0
  2. package/es5/bundle.js +1 -1
  3. package/es5/context-menu.js +1 -1
  4. package/es5/index.js +1 -1
  5. package/lib/helpers/parse-mmd-element.js +28 -12
  6. package/lib/helpers/parse-mmd-element.js.map +1 -1
  7. package/lib/markdown/common/consts.d.ts +8 -2
  8. package/lib/markdown/common/consts.js +13 -7
  9. package/lib/markdown/common/consts.js.map +1 -1
  10. package/lib/markdown/common/list-markers.d.ts +25 -0
  11. package/lib/markdown/common/list-markers.js +134 -0
  12. package/lib/markdown/common/list-markers.js.map +1 -0
  13. package/lib/markdown/common/mmdRules.js +5 -0
  14. package/lib/markdown/common/mmdRules.js.map +1 -1
  15. package/lib/markdown/common/render-table-cell-content.d.ts +21 -1
  16. package/lib/markdown/common/render-table-cell-content.js +38 -3
  17. package/lib/markdown/common/render-table-cell-content.js.map +1 -1
  18. package/lib/markdown/md-block-rule/begin-tabular/common.d.ts +14 -0
  19. package/lib/markdown/md-block-rule/begin-tabular/common.js +49 -8
  20. package/lib/markdown/md-block-rule/begin-tabular/common.js.map +1 -1
  21. package/lib/markdown/md-block-rule/begin-tabular/index.d.ts +3 -0
  22. package/lib/markdown/md-block-rule/begin-tabular/index.js +22 -3
  23. package/lib/markdown/md-block-rule/begin-tabular/index.js.map +1 -1
  24. package/lib/markdown/md-block-rule/begin-tabular/multi-column-row.js +7 -2
  25. package/lib/markdown/md-block-rule/begin-tabular/multi-column-row.js.map +1 -1
  26. package/lib/markdown/md-block-rule/begin-tabular/parse-tabular.d.ts +1 -1
  27. package/lib/markdown/md-block-rule/begin-tabular/parse-tabular.js +83 -11
  28. package/lib/markdown/md-block-rule/begin-tabular/parse-tabular.js.map +1 -1
  29. package/lib/markdown/md-block-rule/begin-tabular/placeholder-utils.d.ts +22 -0
  30. package/lib/markdown/md-block-rule/begin-tabular/placeholder-utils.js +76 -0
  31. package/lib/markdown/md-block-rule/begin-tabular/placeholder-utils.js.map +1 -0
  32. package/lib/markdown/md-block-rule/begin-tabular/sub-code.d.ts +3 -5
  33. package/lib/markdown/md-block-rule/begin-tabular/sub-code.js +27 -19
  34. package/lib/markdown/md-block-rule/begin-tabular/sub-code.js.map +1 -1
  35. package/lib/markdown/md-block-rule/begin-tabular/sub-math.js +1 -1
  36. package/lib/markdown/md-block-rule/begin-tabular/sub-math.js.map +1 -1
  37. package/lib/markdown/md-block-rule/begin-tabular/sub-tabular.d.ts +5 -0
  38. package/lib/markdown/md-block-rule/begin-tabular/sub-tabular.js +114 -83
  39. package/lib/markdown/md-block-rule/begin-tabular/sub-tabular.js.map +1 -1
  40. package/lib/markdown/md-block-rule/begin-tabular/tabular-td.js +2 -1
  41. package/lib/markdown/md-block-rule/begin-tabular/tabular-td.js.map +1 -1
  42. package/lib/markdown/md-block-rule/helper.d.ts +15 -0
  43. package/lib/markdown/md-block-rule/helper.js +86 -5
  44. package/lib/markdown/md-block-rule/helper.js.map +1 -1
  45. package/lib/markdown/md-inline-rule/core-inline.js +88 -63
  46. package/lib/markdown/md-inline-rule/core-inline.js.map +1 -1
  47. package/lib/markdown/md-inline-rule/tabular.js +12 -12
  48. package/lib/markdown/md-inline-rule/tabular.js.map +1 -1
  49. package/lib/markdown/md-latex-lists-env/index.js +8 -4
  50. package/lib/markdown/md-latex-lists-env/index.js.map +1 -1
  51. package/lib/markdown/md-latex-lists-env/latex-list-common.js +6 -2
  52. package/lib/markdown/md-latex-lists-env/latex-list-common.js.map +1 -1
  53. package/lib/markdown/md-latex-lists-env/latex-list-env-block.d.ts +11 -0
  54. package/lib/markdown/md-latex-lists-env/latex-list-env-block.js +222 -116
  55. package/lib/markdown/md-latex-lists-env/latex-list-env-block.js.map +1 -1
  56. package/lib/markdown/md-latex-lists-env/latex-list-env-engine.d.ts +48 -0
  57. package/lib/markdown/md-latex-lists-env/latex-list-env-engine.js +247 -0
  58. package/lib/markdown/md-latex-lists-env/latex-list-env-engine.js.map +1 -0
  59. package/lib/markdown/md-latex-lists-env/latex-list-env-inline.d.ts +14 -0
  60. package/lib/markdown/md-latex-lists-env/latex-list-env-inline.js +137 -1
  61. package/lib/markdown/md-latex-lists-env/latex-list-env-inline.js.map +1 -1
  62. package/lib/markdown/md-latex-lists-env/latex-list-items.js +1 -0
  63. package/lib/markdown/md-latex-lists-env/latex-list-items.js.map +1 -1
  64. package/lib/markdown/md-latex-lists-env/latex-list-tokens.js +1 -0
  65. package/lib/markdown/md-latex-lists-env/latex-list-tokens.js.map +1 -1
  66. package/lib/markdown/md-latex-lists-env/latex-list-types.d.ts +38 -2
  67. package/lib/markdown/md-latex-lists-env/latex-list-types.js.map +1 -1
  68. package/lib/markdown/md-latex-lists-env/re-level.d.ts +0 -4
  69. package/lib/markdown/md-latex-lists-env/re-level.js +4 -17
  70. package/lib/markdown/md-latex-lists-env/re-level.js.map +1 -1
  71. package/lib/markdown/md-latex-lists-env/render-latex-list-env.js +60 -6
  72. package/lib/markdown/md-latex-lists-env/render-latex-list-env.js.map +1 -1
  73. package/lib/markdown/md-renderer-rules/render-tabular.d.ts +26 -12
  74. package/lib/markdown/md-renderer-rules/render-tabular.js +288 -18
  75. package/lib/markdown/md-renderer-rules/render-tabular.js.map +1 -1
  76. package/lib/markdown/mdPluginRaw.js +3 -3
  77. package/lib/markdown/mdPluginRaw.js.map +1 -1
  78. package/lib/markdown/utils.d.ts +23 -0
  79. package/lib/markdown/utils.js +108 -1
  80. package/lib/markdown/utils.js.map +1 -1
  81. package/lib/styles/styles-lists.d.ts +1 -1
  82. package/lib/styles/styles-lists.js +1 -1
  83. package/lib/styles/styles-lists.js.map +1 -1
  84. package/package.json +1 -1
  85. package/pr-specs/2026-01-itemize-support-inside-tabular.md +149 -0
  86. package/pr-specs/2026-01-nested-tabular-text-prefix-with-lists.md +135 -0
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEscapedAt = exports.applyAttrToInlineMath = exports.applyAttrToMathml = exports.isMathInText = exports.addAttributesToParentToken = exports.addAttributesToParentTokenByType = exports.getSpacesFromLeft = exports.canonicalMathPositions = exports.canonicalMath = exports.findOpenCloseTagsMathEnvironment = exports.findOpenCloseTags = exports.findBackTick = exports.attrSetToBegin = exports.uid = exports.arrayResortFromElement = exports.arrayDelElement = exports.arraysCompare = exports.includesMultiMathTag = exports.includesMultiMathBeginTag = exports.hasOddSimpleMathTag = exports.includesSimpleMathTag = exports.isNotBackticked = exports.getLatexTextWidth = exports.getWidthFromDocument = exports.beginTag = exports.endTag = void 0;
3
+ exports.skipBackticks = exports.findFirstTagContentWithNesting = exports.isEscapedAt = exports.applyAttrToInlineMath = exports.applyAttrToMathml = exports.isMathInText = exports.addAttributesToParentToken = exports.addAttributesToParentTokenByType = exports.getSpacesFromLeft = exports.canonicalMathPositions = exports.canonicalMath = exports.findOpenCloseTagsMathEnvironment = exports.findOpenCloseTags = exports.findBackTick = exports.attrSetToBegin = exports.uid = exports.arrayResortFromElement = exports.arrayDelElement = exports.arraysCompare = exports.includesMultiMathTag = exports.includesMultiMathBeginTag = exports.hasOddSimpleMathTag = exports.includesSimpleMathTag = exports.isNotBackticked = exports.getLatexTextWidth = exports.getWidthFromDocument = exports.beginTag = exports.endTag = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var consts_1 = require("./common/consts");
6
6
  var endTag = function (arg, shouldBeFirst) {
@@ -162,6 +162,9 @@ var includesMultiMathBeginTag = function (str, tag) {
162
162
  result = /\\\)/;
163
163
  }
164
164
  else if (match[1]) {
165
+ if (consts_1.latexEnvironments.includes(match[1])) {
166
+ return null;
167
+ }
165
168
  result = (0, exports.endTag)(match[1]);
166
169
  }
167
170
  break;
@@ -855,4 +858,108 @@ var isEscapedAt = function (str, pos) {
855
858
  return (slashCount % 2) === 1;
856
859
  };
857
860
  exports.isEscapedAt = isEscapedAt;
861
+ var findFirstTagContentWithNesting = function (str, tagOpen, tagClose, pendingBackTick, noBreakBackTick) {
862
+ if (pendingBackTick === void 0) { pendingBackTick = ''; }
863
+ if (noBreakBackTick === void 0) { noBreakBackTick = false; }
864
+ var max = str.length;
865
+ var stack = [];
866
+ var pending = '';
867
+ var posStart = 0;
868
+ if (pendingBackTick) {
869
+ var index = str.indexOf(pendingBackTick);
870
+ if (index === -1) {
871
+ return { block: null, pending: pendingBackTick };
872
+ }
873
+ posStart = index + pendingBackTick.length;
874
+ pendingBackTick = '';
875
+ }
876
+ for (var pos = posStart; pos < max; pos++) {
877
+ var ch = str.charCodeAt(pos);
878
+ // --- backticks handling ---
879
+ if (ch === 0x60 /* ` */) {
880
+ var data = (0, exports.findBackTick)(pos, str, pendingBackTick);
881
+ if (data) {
882
+ if (data.pending) {
883
+ pending = data.pending;
884
+ if (!noBreakBackTick)
885
+ break;
886
+ }
887
+ pos = noBreakBackTick ? data.posEnd - 1 : data.posEnd;
888
+ continue;
889
+ }
890
+ }
891
+ if (ch !== 0x5c /* \ */)
892
+ continue;
893
+ // --- try open ---
894
+ var openMatch = str.slice(pos).match(tagOpen);
895
+ if (openMatch && openMatch.index === 0) {
896
+ var content = openMatch[0];
897
+ var open_1 = {
898
+ posStart: pos,
899
+ posEnd: pos + content.length,
900
+ content: content
901
+ };
902
+ stack.push({
903
+ open: open_1,
904
+ level: stack.length
905
+ });
906
+ pos = open_1.posEnd - 1;
907
+ continue;
908
+ }
909
+ // --- try close ---
910
+ var closeMatch = tagClose ? str.slice(pos).match(tagClose) : null;
911
+ if (closeMatch && closeMatch.index === 0) {
912
+ var content = closeMatch[0];
913
+ var close_1 = {
914
+ posStart: pos,
915
+ posEnd: pos + content.length,
916
+ content: content
917
+ };
918
+ var top_1 = stack.pop();
919
+ if (top_1) {
920
+ var contentPosStart = top_1.open.posEnd;
921
+ var contentPosEnd = close_1.posStart;
922
+ var block = {
923
+ open: top_1.open,
924
+ close: close_1,
925
+ content: str.slice(contentPosStart, contentPosEnd),
926
+ contentPosStart: contentPosStart,
927
+ contentPosEnd: contentPosEnd,
928
+ level: top_1.level
929
+ };
930
+ // If closed the outermost block, return it immediately and stop searching.
931
+ if (top_1.level === 0) {
932
+ return { block: block, pending: '' };
933
+ }
934
+ }
935
+ pos = close_1.posEnd - 1;
936
+ }
937
+ }
938
+ return { block: null, pending: pending };
939
+ };
940
+ exports.findFirstTagContentWithNesting = findFirstTagContentWithNesting;
941
+ /**
942
+ * Skips Markdown code spans starting at `pos`.
943
+ * Handles escaped backticks: \` does not start a code span (unless the backslash itself is escaped).
944
+ */
945
+ var skipBackticks = function (src, pos) {
946
+ if (src.charCodeAt(pos) !== 0x60 /* ` */) {
947
+ return pos;
948
+ }
949
+ if ((0, exports.isEscapedAt)(src, pos)) {
950
+ return pos;
951
+ }
952
+ var tickCount = 0;
953
+ while (pos + tickCount < src.length && src.charCodeAt(pos + tickCount) === 0x60) {
954
+ tickCount++;
955
+ }
956
+ var open = "`".repeat(tickCount);
957
+ var start = pos + tickCount;
958
+ var end = src.indexOf(open, start);
959
+ if (end === -1) {
960
+ return src.length;
961
+ }
962
+ return end + tickCount;
963
+ };
964
+ exports.skipBackticks = skipBackticks;
858
965
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/markdown/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/markdown/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const listsStyles = "\n ol.enumerate, ul.itemize {\n padding-inline-start: 40px;\n }\n/* It's commented because counter not supporting to change value \n ol.enumerate.lower-alpha {\n counter-reset: item ;\n list-style-type: none !important;\n }\n .enumerate.lower-alpha > li {\n position: relative;\n }\n .enumerate.lower-alpha > li:before { \n content: \"(\"counter(item, lower-alpha)\")\"; \n counter-increment: item; \n position: absolute;\n left: -47px;\n width: 47px;\n display: flex;\n justify-content: flex-end;\n padding-right: 7px;\n flex-wrap: nowrap;\n word-break: keep-all;\n }\n */\n \n .itemize > li {\n position: relative;\n min-height: 1.4em;\n }\n .itemize > li > span.li_level, .li_enumerate.not_number > span.li_level { \n position: absolute;\n right: 100%;\n white-space: nowrap;\n width: max-content;;\n display: flex;\n justify-content: flex-end;\n padding-right: 10px;\n box-sizing: border-box;\n }\n .li_enumerate.not_number {\n position: relative;\n display: inline-block;\n list-style-type: none;\n min-height: 1.4em;\n }\n .itemize > li.li_itemize[data-marker-empty=\"true\"]:not(.block),\n .enumerate > li.li_enumerate[data-marker-empty=\"true\"]:not(.block) {\n text-indent: -20px;\n }\n .itemize > li.li_itemize.block[data-marker-empty=\"true\"] > div:first-of-type,\n .enumerate > li.li_enumerate.block[data-marker-empty=\"true\"] > div:first-of-type {\n text-indent: -20px;\n }\n .itemize > li.li_itemize.block[data-marker-empty=\"true\"] > div:not(:first-of-type),\n .enumerate > li.li_enumerate.block[data-marker-empty=\"true\"] > div:not(:first-of-type) {\n text-indent: 0;\n }\n .itemize > li.li_itemize.block[data-marker-empty=\"true\"] > div:first-of-type *,\n .enumerate > li.li_enumerate.block[data-marker-empty=\"true\"] > div:first-of-type * {\n text-indent: 0;\n }\n .itemize > li > span.li_level .math-inline,\n .enumerate > li > span.li_level .math-inline {\n display: inline-block;\n }\n";
1
+ export declare const listsStyles = "\n ol.enumerate, ul.itemize {\n padding-inline-start: 40px;\n }\n/* It's commented because counter not supporting to change value \n ol.enumerate.lower-alpha {\n counter-reset: item ;\n list-style-type: none !important;\n }\n .enumerate.lower-alpha > li {\n position: relative;\n }\n .enumerate.lower-alpha > li:before { \n content: \"(\"counter(item, lower-alpha)\")\"; \n counter-increment: item; \n position: absolute;\n left: -47px;\n width: 47px;\n display: flex;\n justify-content: flex-end;\n padding-right: 7px;\n flex-wrap: nowrap;\n word-break: keep-all;\n }\n */\n \n .itemize > li {\n position: relative;\n min-height: 1.4em;\n }\n .itemize > li > span.li_level, .li_enumerate.not_number > span.li_level { \n position: absolute;\n right: 100%;\n white-space: nowrap;\n width: max-content;;\n display: flex;\n justify-content: flex-end;\n padding-right: 10px;\n box-sizing: border-box;\n }\n .li_enumerate.not_number {\n position: relative;\n display: inline-block;\n list-style-type: none;\n min-height: 1.4em;\n }\n .itemize > li > span.li_level .math-inline,\n .enumerate > li > span.li_level .math-inline {\n display: inline-block;\n }\n";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.listsStyles = void 0;
4
- exports.listsStyles = "\n ol.enumerate, ul.itemize {\n padding-inline-start: 40px;\n }\n/* It's commented because counter not supporting to change value \n ol.enumerate.lower-alpha {\n counter-reset: item ;\n list-style-type: none !important;\n }\n .enumerate.lower-alpha > li {\n position: relative;\n }\n .enumerate.lower-alpha > li:before { \n content: \"(\"counter(item, lower-alpha)\")\"; \n counter-increment: item; \n position: absolute;\n left: -47px;\n width: 47px;\n display: flex;\n justify-content: flex-end;\n padding-right: 7px;\n flex-wrap: nowrap;\n word-break: keep-all;\n }\n */\n \n .itemize > li {\n position: relative;\n min-height: 1.4em;\n }\n .itemize > li > span.li_level, .li_enumerate.not_number > span.li_level { \n position: absolute;\n right: 100%;\n white-space: nowrap;\n width: max-content;;\n display: flex;\n justify-content: flex-end;\n padding-right: 10px;\n box-sizing: border-box;\n }\n .li_enumerate.not_number {\n position: relative;\n display: inline-block;\n list-style-type: none;\n min-height: 1.4em;\n }\n .itemize > li.li_itemize[data-marker-empty=\"true\"]:not(.block),\n .enumerate > li.li_enumerate[data-marker-empty=\"true\"]:not(.block) {\n text-indent: -20px;\n }\n .itemize > li.li_itemize.block[data-marker-empty=\"true\"] > div:first-of-type,\n .enumerate > li.li_enumerate.block[data-marker-empty=\"true\"] > div:first-of-type {\n text-indent: -20px;\n }\n .itemize > li.li_itemize.block[data-marker-empty=\"true\"] > div:not(:first-of-type),\n .enumerate > li.li_enumerate.block[data-marker-empty=\"true\"] > div:not(:first-of-type) {\n text-indent: 0;\n }\n .itemize > li.li_itemize.block[data-marker-empty=\"true\"] > div:first-of-type *,\n .enumerate > li.li_enumerate.block[data-marker-empty=\"true\"] > div:first-of-type * {\n text-indent: 0;\n }\n .itemize > li > span.li_level .math-inline,\n .enumerate > li > span.li_level .math-inline {\n display: inline-block;\n }\n";
4
+ exports.listsStyles = "\n ol.enumerate, ul.itemize {\n padding-inline-start: 40px;\n }\n/* It's commented because counter not supporting to change value \n ol.enumerate.lower-alpha {\n counter-reset: item ;\n list-style-type: none !important;\n }\n .enumerate.lower-alpha > li {\n position: relative;\n }\n .enumerate.lower-alpha > li:before { \n content: \"(\"counter(item, lower-alpha)\")\"; \n counter-increment: item; \n position: absolute;\n left: -47px;\n width: 47px;\n display: flex;\n justify-content: flex-end;\n padding-right: 7px;\n flex-wrap: nowrap;\n word-break: keep-all;\n }\n */\n \n .itemize > li {\n position: relative;\n min-height: 1.4em;\n }\n .itemize > li > span.li_level, .li_enumerate.not_number > span.li_level { \n position: absolute;\n right: 100%;\n white-space: nowrap;\n width: max-content;;\n display: flex;\n justify-content: flex-end;\n padding-right: 10px;\n box-sizing: border-box;\n }\n .li_enumerate.not_number {\n position: relative;\n display: inline-block;\n list-style-type: none;\n min-height: 1.4em;\n }\n .itemize > li > span.li_level .math-inline,\n .enumerate > li > span.li_level .math-inline {\n display: inline-block;\n }\n";
5
5
  //# sourceMappingURL=styles-lists.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles-lists.js","sourceRoot":"","sources":["../../src/styles/styles-lists.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,4/DAkE1B,CAAC"}
1
+ {"version":3,"file":"styles-lists.js","sourceRoot":"","sources":["../../src/styles/styles-lists.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,4uCAkD1B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mathpix-markdown-it",
3
- "version": "2.0.31",
3
+ "version": "2.0.33",
4
4
  "description": "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)",
5
5
  "keywords": [
6
6
  "MathJax",
@@ -0,0 +1,149 @@
1
+ # PR: Add itemize/enumerate support inside tabular cells
2
+
3
+ Status: Implemented
4
+ Owner: @OlgaRedozubova
5
+ Issue: #17328
6
+
7
+ ---
8
+
9
+ ## Context
10
+
11
+ LaTeX list environments (`\begin{itemize}` / `\begin{enumerate}`) are block-level constructs. The tabular cell parser in mathpix-markdown-it treated cell content as inline-only, causing list environments inside table cells to be ignored or rendered as plain text.
12
+
13
+ **Impact:**
14
+ - Lists in table cells did not render in HTML
15
+ - Export formats (TSV, CSV, Markdown) lost list structure entirely
16
+ - Nested tables were sometimes double-processed during export
17
+
18
+ ## Goal
19
+
20
+ - Render `itemize` and `enumerate` lists correctly inside tabular cells
21
+ - Support nested lists with proper marker styles per level
22
+ - Preserve custom markers (`\item[X]`) and empty markers (`\item[]`)
23
+ - Export list structure to all formats (HTML, Markdown, TSV, CSV)
24
+ - Prevent nested tables from being exported as separate top-level elements
25
+
26
+ ## Non-Goals
27
+
28
+ - Changing list rendering outside tabular context
29
+ - Supporting other LaTeX block environments inside cells (e.g., `figure`, `verbatim`)
30
+ - API or interface changes
31
+
32
+ ## Example
33
+
34
+ ### Input LaTeX
35
+
36
+ ```latex
37
+ \begin{tabular}{l}
38
+ \begin{itemize}
39
+ \item First item
40
+ \item Second item
41
+ \end{itemize}
42
+ \end{tabular}
43
+ ```
44
+
45
+ ### Before (broken)
46
+
47
+ - **HTML**: List content rendered as plain text or dropped
48
+ - **Markdown export**: Empty or malformed cell
49
+ - **TSV/CSV export**: Missing list content
50
+
51
+ ### After (fixed)
52
+
53
+ **HTML output** (conceptual):
54
+ ```html
55
+ <table>
56
+ <tr>
57
+ <td>
58
+ <ul class="itemize">
59
+ <li><span class="li_level">•</span>First item</li>
60
+ <li><span class="li_level">•</span>Second item</li>
61
+ </ul>
62
+ </td>
63
+ </tr>
64
+ </table>
65
+ ```
66
+
67
+ **Markdown export**:
68
+ ```
69
+ | • First item<br>• Second item |
70
+ ```
71
+
72
+ **TSV/CSV export**:
73
+ ```
74
+ "• First item
75
+ • Second item"
76
+ ```
77
+
78
+ ### Nested list markers
79
+
80
+ | Level | Itemize | Enumerate |
81
+ |-------|---------|-----------|
82
+ | 1 | • | 1. 2. 3. |
83
+ | 2 | – | a. b. c. |
84
+ | 3 | * | i. ii. iii. |
85
+ | 4 | · | A. B. C. |
86
+
87
+ ## Why This Approach
88
+
89
+ ### Why conditional block parsing?
90
+
91
+ LaTeX lists are block-level constructs that require the block parser to run. Tabular cells normally use inline-only parsing for performance and simplicity. When a list environment is detected in a cell, we switch to block parsing for that cell only.
92
+
93
+ ### Why placeholder + newline injection?
94
+
95
+ Before parsing a cell, we replace complex nested content (math, sub-tables, code blocks) with UUID placeholders to prevent them from breaking row/column splitting. When re-injecting this content, if it contains block-level LaTeX (like a list), we must ensure it's surrounded by newlines so the block parser recognizes it correctly.
96
+
97
+ ### Why nested table filtering?
98
+
99
+ When exporting via `parseMarkdownByElement()`, nested `.table_tabular` elements were being collected alongside their parents, causing duplicate processing. We now filter out any table that has a `.table_tabular` ancestor.
100
+
101
+ ## Approach
102
+
103
+ 1. **Detect list environments in cells** — scan cell content for `\begin{itemize}` or `\begin{enumerate}`
104
+ 2. **Switch to block parsing** — if detected, parse the cell with block rules enabled
105
+ 3. **Placeholder safety** — inject newlines around block content placeholders before parsing
106
+ 4. **Render lists** — produce proper `<ul>`/`<ol>` HTML with level-appropriate markers
107
+ 5. **Export handling** — format list items with `<br>` (Markdown) or `\n` (TSV/CSV) separators
108
+ 6. **Filter nested tables** — exclude nested `.table_tabular` from top-level export collection
109
+
110
+ ## Bug Fixes Included
111
+
112
+ - `<br>` escaping when preceding text ends with backslash
113
+ - Underline/strikeout formatting inside tabular cells
114
+ - Nested tabular appearing on same line as list content
115
+ - Custom enumerate markers (e.g., `\textbf{1.}`) now preserved
116
+ - Removed problematic `text-indent` CSS for empty markers
117
+
118
+ ## Constraints
119
+
120
+ - List rendering outside tabular must remain unchanged
121
+ - Existing tabular tests must pass
122
+ - Placeholder mechanism must not break table structure
123
+ - Custom markers must be preserved exactly
124
+
125
+ ## Testing
126
+
127
+ **New test coverage:**
128
+ - Lists inside tabular cells (itemize, enumerate, nested)
129
+ - Custom and empty markers
130
+ - Export format validation (TSV, CSV, Markdown)
131
+ - Nested tabular with lists
132
+
133
+ **Commands:**
134
+ ```bash
135
+ npm test
136
+ npm run build
137
+ ```
138
+
139
+ ## Risk / Rollback
140
+
141
+ **Risk**: Medium
142
+ - Modifies cell parsing and placeholder handling
143
+ - May affect edge cases in complex nested tables
144
+
145
+ **Rollback**: Revert PR or pin to version 2.0.31
146
+
147
+ ## Related
148
+
149
+ - Issue: #17328 — [mmd][mmd-converter] Add itemize support inside tabular
@@ -0,0 +1,135 @@
1
+ # PR: Fix line-break handling for nested tabular placeholders with lists
2
+
3
+ Status: Implemented
4
+ Owner: @OlgaRedozubova
5
+ Issue: #17912
6
+
7
+ ---
8
+
9
+ ## Context
10
+
11
+ After adding support for lists inside tabular cells (#17328), a regression was discovered: when a table cell contains content (like a list or text) followed by a nested tabular that itself contains list environments, the rendering would break. The block parsing mode was not properly propagated from nested sub-tabulars to their parent cells.
12
+
13
+ When parsing a tabular cell, nested tabulars are first replaced with UUID placeholders.
14
+ At this stage, child tabulars containing list environments have not yet been expanded.
15
+ Because the parent cell did not yet know that its child placeholders would expand to
16
+ block-level content, the line break before the nested tabular was trimmed.
17
+
18
+ **Impact:**
19
+ - Cells with content followed by nested tabular placeholders rendered incorrectly
20
+ - Line breaks before nested tabulars expanding to lists were removed
21
+ - Tabular environments following such placeholders were not rendered
22
+
23
+ ## Goal
24
+
25
+ - Fix rendering for cells that contain content before a nested tabular with lists
26
+ - Propagate block detection status from child sub-tabulars to parent cells
27
+ - Ensure consistent block parsing for all cells containing lists at any nesting level
28
+
29
+ ## Non-Goals
30
+
31
+ - Changing the general list-in-tabular rendering behavior
32
+ - Modifying the block detection logic for non-nested cases
33
+ - API or interface changes
34
+
35
+ ## Example
36
+
37
+ ### Input LaTeX
38
+
39
+ ```latex
40
+ \begin{tabular}{|l|}
41
+ \hline
42
+ \begin{itemize}
43
+ \item[] - First item
44
+ \end{itemize} \\
45
+ Text
46
+ \begin{tabular}{|l|}
47
+ \hline \begin{tabular}{l}
48
+ \begin{itemize}
49
+ \item[] - Item in sub table 1
50
+ \end{itemize}
51
+ \end{tabular} \\
52
+ \hline \begin{tabular}{l}
53
+ \begin{itemize}
54
+ \item[] - Item in sub table 2
55
+ \end{itemize}
56
+ \end{tabular} \\
57
+ \hline
58
+ \end{tabular}
59
+ \begin{tabular}{|l|l|}
60
+ \hline cell & \begin{itemize}
61
+ \item[] - Item in sub table 3
62
+ \end{itemize} \\
63
+ \hline
64
+ \end{tabular} \\
65
+ \hline
66
+ \end{tabular}
67
+ ```
68
+
69
+ ### Before (broken)
70
+
71
+ - **HTML**: Subtable 3 was not rendered
72
+
73
+ ### After (fixed)
74
+
75
+ - All nested tabulars render correctly
76
+ - Lists inside deeply nested tabulars are properly detected and rendered
77
+ - Block parsing is triggered for all cells containing lists at any depth
78
+
79
+ ## Why This Approach
80
+
81
+ ### Why track block status in sub-tabulars?
82
+
83
+ When a cell is parsed, nested tabulars are replaced with UUID placeholders (e.g., `<<uuid>>`). The block detection was only checking the parent cell's direct content—it would see `Text <<uuid>>` and not detect any list environment, even though the nested tabular (behind the placeholder) contained lists.
84
+
85
+ Because block status was not known at placeholder time, the parent cell was treated as inline content. This caused whitespace and line breaks around placeholders to be trimmed before child tabulars were expanded.
86
+
87
+ ### Why propagate from children to parents?
88
+
89
+ By storing an `isBlock` flag on each sub-tabular and propagating it upward when a parent references a child placeholder, we ensure that block parsing is triggered correctly regardless of nesting depth.
90
+
91
+ ## Approach
92
+
93
+ 1. **Track block status in sub-tabulars** — Add `isBlock` and `children` fields to the `TSubTabular` type to track whether a sub-tabular contains block-level content.
94
+
95
+ 2. **Propagate block status** — When pushing a new sub-tabular, check if any of its child sub-tabulars have `isBlock: true`. If so, mark the parent as `isBlock: true` as well.
96
+
97
+ 3. **Centralize detection** — Extract the block detection logic into a reusable `detectLocalBlock()` function in `common.ts`.
98
+
99
+ 4. **Use propagated status** — In `getSubTabular()`, check the stored `isBlock` flag instead of re-testing the content string.
100
+
101
+ ## Bug Fixes Included
102
+
103
+ - Fixed removal of line breaks before nested tabular placeholders that expand to lists
104
+ - Prevented subsequent tabular environments from being dropped due to placeholder trimming
105
+ - Ensured block context is propagated before placeholder expansion
106
+
107
+ ## Constraints
108
+
109
+ - List rendering outside tabular must remain unchanged
110
+ - Existing tabular tests must pass
111
+ - Parent PR (#17328) functionality must not regress
112
+
113
+ ## Testing
114
+
115
+ **New test coverage:**
116
+ - Complex nested tabular with list, text, and multiple nested sub-tabulars containing lists
117
+ - Deeply nested tabulars with itemize environments
118
+
119
+ **Commands:**
120
+ ```bash
121
+ npm test
122
+ npm run build
123
+ ```
124
+
125
+ ## Risk / Rollback
126
+
127
+ **Risk**: Low
128
+ - Minimal code changes focused on propagating existing block status
129
+ - No changes to parsing logic, only to block detection
130
+
131
+ **Rollback**: Revert PR or pin to version 2.0.32
132
+
133
+ ## Related
134
+
135
+ - Issue: #17912 — [mmd] Rendering breaks when a cell starts with text before a nested tabular with lists