mathpix-markdown-it 1.2.11 → 1.2.12

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.
@@ -0,0 +1,3 @@
1
+ import { RuleInline } from 'markdown-it';
2
+ export declare const textUnderline: RuleInline;
3
+ export declare const textOut: RuleInline;
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.textOut = exports.textUnderline = void 0;
4
+ var isSpace = require('markdown-it/lib/common/utils').isSpace;
5
+ var common_1 = require("../common");
6
+ var textUnderline = function (state) {
7
+ var _a;
8
+ var startPos = state.pos;
9
+ if (state.src.charCodeAt(startPos) !== 0x5c /* \ */) {
10
+ return false;
11
+ }
12
+ var match = state.src
13
+ .slice(++startPos)
14
+ .match(/^(?:underline|uline|uuline|uwave|dashuline|dotuline)/); // eslint-disable-line
15
+ if (!match) {
16
+ return false;
17
+ }
18
+ startPos += match[0].length;
19
+ var type = 'underline';
20
+ var currentPadding = 0;
21
+ switch (match[0]) {
22
+ case "underline":
23
+ type = "underline";
24
+ currentPadding = 3;
25
+ break;
26
+ case "uline":
27
+ type = "underline";
28
+ currentPadding = 3;
29
+ break;
30
+ case "uuline":
31
+ type = "uuline";
32
+ currentPadding = 6;
33
+ break;
34
+ case "uwave":
35
+ type = "uwave";
36
+ break;
37
+ case "dashuline":
38
+ type = "dashuline";
39
+ currentPadding = 4;
40
+ break;
41
+ case "dotuline":
42
+ type = "dotuline";
43
+ currentPadding = 5;
44
+ break;
45
+ default:
46
+ break;
47
+ }
48
+ if (!type || type === '') {
49
+ return false;
50
+ }
51
+ //skipping spaces in begin
52
+ for (; startPos < state.src.length; startPos++) {
53
+ var code = state.src.charCodeAt(startPos);
54
+ if (!isSpace(code) && code !== 0x0A) {
55
+ break;
56
+ }
57
+ }
58
+ var _b = (0, common_1.findEndMarker)(state.src, startPos), _c = _b.res, res = _c === void 0 ? false : _c, _d = _b.content, content = _d === void 0 ? '' : _d, _e = _b.nextPos, nextPos = _e === void 0 ? 0 : _e, _f = _b.endPos, endPos = _f === void 0 ? 0 : _f;
59
+ if (!res) {
60
+ return false;
61
+ }
62
+ var children = [];
63
+ state.md.inline.parse(content.trim(), state.md, state.env, children);
64
+ var underlineLevel;
65
+ var underlinePadding = 0;
66
+ if (children === null || children === void 0 ? void 0 : children.find(function (item) { return item.type === "underline"; })) {
67
+ var childLevel_1 = 0;
68
+ children.map(function (item) {
69
+ if (item.type === "underline_open" || item.type === "underline_close") {
70
+ item.isSubUnderline = true;
71
+ }
72
+ if (item.type === "underline") {
73
+ if (!item.underlineLevel) {
74
+ item.underlineLevel = 1;
75
+ }
76
+ if (item.underlineLevel > childLevel_1) {
77
+ childLevel_1 = item.underlineLevel;
78
+ underlinePadding = item.underlinePadding ? item.underlinePadding : 0;
79
+ }
80
+ }
81
+ });
82
+ underlineLevel = childLevel_1 + 1;
83
+ if (underlineLevel >= 2) {
84
+ underlinePadding += currentPadding;
85
+ }
86
+ }
87
+ else {
88
+ underlineLevel = 1;
89
+ if (type === 'uuline') {
90
+ underlinePadding = 3;
91
+ }
92
+ }
93
+ var token = state.push('underline_open', "", 0);
94
+ token.inlinePos = {
95
+ start: state.pos,
96
+ end: startPos + 1
97
+ };
98
+ token.nextPos = startPos + 1;
99
+ token.attrSet('data-underline-level', underlineLevel);
100
+ token.attrSet('data-underline-type', type);
101
+ token.underlineLevel = underlineLevel;
102
+ token.isSubUnderline = false;
103
+ token.underlineType = type;
104
+ token.underlinePadding = underlinePadding;
105
+ token.latex = match[0];
106
+ token = state.push('underline', "", 0);
107
+ if ((_a = state.md.options) === null || _a === void 0 ? void 0 : _a.forDocx) {
108
+ token.attrSet('data-underline-level', underlineLevel);
109
+ token.attrSet('data-underline-type', type);
110
+ }
111
+ token.content = content;
112
+ token.inlinePos = {
113
+ start: startPos + 1,
114
+ end: endPos,
115
+ };
116
+ token.nextPos = endPos;
117
+ token.children = children;
118
+ token.underlineLevel = underlineLevel;
119
+ token.underlineType = type;
120
+ token.underlinePadding = underlinePadding;
121
+ token = state.push('underline_close', "", 0);
122
+ token.underlineLevel = underlineLevel;
123
+ token.isSubUnderline = false;
124
+ token.underlineType = type;
125
+ token.underlinePadding = underlinePadding;
126
+ state.pos = nextPos;
127
+ state.nextPos = nextPos;
128
+ return true;
129
+ };
130
+ exports.textUnderline = textUnderline;
131
+ var textOut = function (state) {
132
+ var _a;
133
+ var startPos = state.pos;
134
+ if (state.src.charCodeAt(startPos) !== 0x5c /* \ */) {
135
+ return false;
136
+ }
137
+ var match = state.src
138
+ .slice(++startPos)
139
+ .match(/^(?:sout|xout)/); // eslint-disable-line
140
+ if (!match) {
141
+ return false;
142
+ }
143
+ startPos += match[0].length;
144
+ var type = 'out';
145
+ switch (match[0]) {
146
+ case "sout":
147
+ type = "sout";
148
+ break;
149
+ case "xout":
150
+ type = "xout";
151
+ break;
152
+ default:
153
+ break;
154
+ }
155
+ if (!type || type === '') {
156
+ return false;
157
+ }
158
+ //skipping spaces in begin
159
+ for (; startPos < state.src.length; startPos++) {
160
+ var code = state.src.charCodeAt(startPos);
161
+ if (!isSpace(code) && code !== 0x0A) {
162
+ break;
163
+ }
164
+ }
165
+ var _b = (0, common_1.findEndMarker)(state.src, startPos), _c = _b.res, res = _c === void 0 ? false : _c, _d = _b.content, content = _d === void 0 ? '' : _d, _e = _b.nextPos, nextPos = _e === void 0 ? 0 : _e, _f = _b.endPos, endPos = _f === void 0 ? 0 : _f;
166
+ if (!res) {
167
+ return false;
168
+ }
169
+ var token = state.push('out_open', "", 0);
170
+ token.inlinePos = {
171
+ start: state.pos,
172
+ end: startPos + 1
173
+ };
174
+ token.nextPos = startPos + 1;
175
+ token.attrSet('data-out-type', type);
176
+ token.underlineType = type;
177
+ token.latex = match[0];
178
+ token = state.push('out', "", 0);
179
+ if ((_a = state.md.options) === null || _a === void 0 ? void 0 : _a.forDocx) {
180
+ token.attrSet('data-out-type', type);
181
+ }
182
+ token.content = content;
183
+ token.inlinePos = {
184
+ start: startPos + 1,
185
+ end: endPos,
186
+ };
187
+ token.nextPos = endPos;
188
+ token.children = [];
189
+ var children = [];
190
+ state.md.inline.parse(token.content.trim(), state.md, state.env, children);
191
+ token.children = children;
192
+ token.underlineType = type;
193
+ token = state.push('out_close', "", 0);
194
+ token.underlineType = type;
195
+ state.pos = nextPos;
196
+ state.nextPos = nextPos;
197
+ return true;
198
+ };
199
+ exports.textOut = textOut;
200
+ //# sourceMappingURL=underline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"underline.js","sourceRoot":"","sources":["../../../src/markdown/md-inline-rule/underline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const renderUnderlineText: (tokens: any, idx: any, options: any, env: any, slf: any) => string;
2
+ export declare const renderUnderlineOpen: (tokens: any, idx: any, options: any, env: any, slf: any) => string;
3
+ export declare const renderUnderlineClose: (tokens: any, idx: any, options: any, env: any, slf: any) => string;
4
+ export declare const renderOutOpen: (tokens: any, idx: any, options: any, env: any, slf: any) => string;
5
+ export declare const renderOutText: (tokens: any, idx: any, options: any, env: any, slf: any) => any;
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderOutText = exports.renderOutOpen = exports.renderUnderlineClose = exports.renderUnderlineOpen = exports.renderUnderlineText = void 0;
4
+ var render_tabular_1 = require("./render-tabular");
5
+ var mdPluginText_1 = require("../mdPluginText");
6
+ var htmlUnderlineOpen = function (underlineLevel, underlineType, underlinePadding) {
7
+ if (underlineType === void 0) { underlineType = 'underline'; }
8
+ if (underlinePadding === void 0) { underlinePadding = 0; }
9
+ if (underlineType === 'uwave') {
10
+ var html_1 = "<span data-underline-level=\"".concat(underlineLevel, "\" ");
11
+ html_1 += "data-underline-type=\"".concat(underlineType, "\" ");
12
+ html_1 += 'style="';
13
+ html_1 += 'text-decoration: underline; text-decoration-style: wavy;';
14
+ html_1 += '">';
15
+ return html_1;
16
+ }
17
+ var cssBackground = "border-bottom: 1px solid;";
18
+ switch (underlineType) {
19
+ case 'dashuline':
20
+ cssBackground = "background-position: bottom; " +
21
+ "background-size: 12px 1px; " +
22
+ "background-repeat: repeat-x; " +
23
+ "background-image: radial-gradient(circle, currentcolor 3px, transparent 1px);";
24
+ break;
25
+ case 'dotuline':
26
+ cssBackground = "background-position: bottom; " +
27
+ "background-size: 10px 2px; " +
28
+ "background-repeat: repeat-x; " +
29
+ "background-image: radial-gradient(circle, currentcolor 1px, transparent 1px);";
30
+ break;
31
+ }
32
+ var cssLineHeight = "";
33
+ var cssBackgroundPosition = '';
34
+ var cssPaddingBottom = '';
35
+ if (underlineLevel >= 1) {
36
+ switch (underlineLevel) {
37
+ case 1:
38
+ cssBackgroundPosition = underlineType !== 'dotuline' && underlineType !== 'dashuline'
39
+ ? "background-position: 0 -1px;" : '';
40
+ break;
41
+ case 2:
42
+ cssPaddingBottom = "padding-bottom: ".concat(underlinePadding, "px;");
43
+ break;
44
+ default:
45
+ var lineHeight = underlineLevel >= 3 ? (underlineLevel - 2) * 4 + 1 : 5;
46
+ cssPaddingBottom = "padding-bottom: ".concat(underlinePadding, "px;");
47
+ cssLineHeight = "line-height: ".concat(28 + lineHeight, "px;");
48
+ break;
49
+ }
50
+ }
51
+ else {
52
+ cssBackgroundPosition = "background-position: 0 -1px;";
53
+ }
54
+ var html = '<span ';
55
+ html += "data-underline-level=\"".concat(underlineLevel, "\" ");
56
+ html += "data-underline-type=\"".concat(underlineType, "\" ");
57
+ html += "style=\"";
58
+ html += cssBackground ? cssBackground : '';
59
+ html += cssBackgroundPosition ? cssBackgroundPosition : '';
60
+ html += cssPaddingBottom ? cssPaddingBottom : '';
61
+ html += cssLineHeight ? cssLineHeight : '';
62
+ html += '">';
63
+ return html;
64
+ };
65
+ var renderUnderlineText = function (tokens, idx, options, env, slf) {
66
+ var token = tokens[idx];
67
+ var sContent = '';
68
+ var content = '';
69
+ token.underlineParentLevel = token.underlineParentLevel
70
+ ? token.underlineParentLevel + 1 : 1;
71
+ if (token.children && token.children.length) {
72
+ for (var i = 0; i < token.children.length; i++) {
73
+ var tok = token.children[i];
74
+ if (tok.type === 'underline') {
75
+ tok.underlineParentLevel = token.underlineParentLevel;
76
+ content = slf.renderInline([tok], options, env);
77
+ }
78
+ else {
79
+ if (tok.children && tok.children.length > 1) {
80
+ if (tok.type === "tabular_inline") {
81
+ content = (0, render_tabular_1.renderTabularInline)(token.children, tok, options, env, slf);
82
+ }
83
+ else {
84
+ content = slf.renderInline(tok.children, options, env);
85
+ }
86
+ }
87
+ else {
88
+ content = slf.renderInline([tok], options, env);
89
+ }
90
+ }
91
+ sContent += content;
92
+ }
93
+ }
94
+ else {
95
+ sContent = token.content;
96
+ }
97
+ ;
98
+ return sContent;
99
+ };
100
+ exports.renderUnderlineText = renderUnderlineText;
101
+ var renderUnderlineOpen = function (tokens, idx, options, env, slf) {
102
+ var token = tokens[idx];
103
+ if (token.underlineType === 'uuline') {
104
+ return htmlUnderlineOpen(token.underlineLevel + 1, token.underlineType, token.underlinePadding)
105
+ + htmlUnderlineOpen(token.underlineLevel, token.underlineType, token.underlinePadding > 3 ? token.underlinePadding - 3 : token.underlinePadding);
106
+ }
107
+ return htmlUnderlineOpen(token.underlineLevel, token.underlineType, token.underlinePadding);
108
+ };
109
+ exports.renderUnderlineOpen = renderUnderlineOpen;
110
+ var renderUnderlineClose = function (tokens, idx, options, env, slf) {
111
+ var token = tokens[idx];
112
+ var html = '</span>';
113
+ if (token.underlineType === 'uuline') {
114
+ html += '</span>';
115
+ }
116
+ if (!token.isSubUnderline && token.underlineLevel >= 3) {
117
+ var lineHeight = token.underlineLevel >= 3 ? (token.underlineLevel - 2) * 4 + 1 : 5;
118
+ /** zero-width space */
119
+ return html + "<span style=\"height: ".concat(28 + lineHeight, "px; display: inline-block;\">&#8203;</span>");
120
+ }
121
+ return html;
122
+ };
123
+ exports.renderUnderlineClose = renderUnderlineClose;
124
+ var renderOutOpen = function (tokens, idx, options, env, slf) {
125
+ var token = tokens[idx];
126
+ var html = "<span ";
127
+ html += "data-out-type=\"".concat(token.underlineType, "\" ");
128
+ html += 'style="';
129
+ html += token.underlineType === 'xout'
130
+ ? 'background: repeating-linear-gradient(-60deg, currentcolor, currentcolor, transparent 1px, transparent 6px);'
131
+ : 'text-decoration: line-through; text-decoration-thickness: from-font;';
132
+ html += '">';
133
+ return html;
134
+ };
135
+ exports.renderOutOpen = renderOutOpen;
136
+ var renderOutText = function (tokens, idx, options, env, slf) {
137
+ var token = tokens[idx];
138
+ return (0, mdPluginText_1.renderInlineContent)(token, options, env, slf);
139
+ };
140
+ exports.renderOutText = renderOutText;
141
+ //# sourceMappingURL=underline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"underline.js","sourceRoot":"","sources":["../../../src/markdown/md-renderer-rules/underline.ts"],"names":[],"mappings":";;;AAAA,mDAAuD;AACvD,gDAAsD;AAEtD,IAAM,iBAAiB,GAAG,UAAC,cAAc,EAAE,aAA2B,EAAE,gBAAoB;IAAjD,8BAAA,EAAA,2BAA2B;IAAE,iCAAA,EAAA,oBAAoB;IAC1F,IAAI,aAAa,KAAK,OAAO,EAAE;QAC7B,IAAI,MAAI,GAAG,uCAA+B,cAAc,QAAI,CAAC;QAC7D,MAAI,IAAI,gCAAwB,aAAa,QAAI,CAAC;QAClD,MAAI,IAAI,SAAS,CAAC;QAClB,MAAI,IAAI,0DAA0D,CAAC;QACnE,MAAI,IAAI,IAAI,CAAC;QACb,OAAO,MAAI,CAAC;KACb;IACD,IAAI,aAAa,GAAG,2BAA2B,CAAC;IAChD,QAAQ,aAAa,EAAE;QACrB,KAAK,WAAW;YACd,aAAa,GAAG,+BAA+B;gBAC7C,6BAA6B;gBAC7B,+BAA+B;gBAC/B,+EAA+E,CAAC;YAClF,MAAM;QACR,KAAK,UAAU;YACb,aAAa,GAAG,+BAA+B;gBAC7C,6BAA6B;gBAC7B,+BAA+B;gBAC/B,+EAA+E,CAAC;YAClF,MAAM;KACT;IACD,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,qBAAqB,GAAG,EAAE,CAAC;IAC/B,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,IAAI,cAAc,IAAI,CAAC,EAAE;QACvB,QAAQ,cAAc,EAAE;YACtB,KAAK,CAAC;gBACJ,qBAAqB,GAAG,aAAa,KAAK,UAAU,IAAI,aAAa,KAAK,WAAW;oBACnF,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,MAAM;YACR,KAAK,CAAC;gBACJ,gBAAgB,GAAG,0BAAmB,gBAAgB,QAAK,CAAC;gBAC5D,MAAM;YACR;gBACE,IAAI,UAAU,GAAG,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,gBAAgB,GAAG,0BAAmB,gBAAgB,QAAK,CAAC;gBAC5D,aAAa,GAAG,uBAAgB,EAAE,GAAG,UAAU,QAAK,CAAC;gBACrD,MAAM;SACT;KACF;SAAM;QACL,qBAAqB,GAAG,8BAA8B,CAAC;KACxD;IACD,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,IAAI,iCAAyB,cAAc,QAAI,CAAC;IACpD,IAAI,IAAI,gCAAwB,aAAa,QAAI,CAAC;IAClD,IAAI,IAAI,UAAS,CAAC;IAClB,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,IAAI,IAAI,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEK,IAAM,mBAAmB,GAAG,UAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG;IAChE,IAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB;QACrD,CAAC,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE;gBAC5B,GAAG,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAC;gBACtD,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;aACjD;iBAAM;gBACL,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,EAAE;wBACjC,OAAO,GAAG,IAAA,oCAAmB,EAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;qBACtE;yBAAM;wBACL,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;qBACxD;iBACF;qBAAM;oBACL,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;iBACjD;aACF;YACD,QAAQ,IAAI,OAAO,CAAA;SACpB;KACF;SAAM;QACL,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;KAC1B;IAAA,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AA7BW,QAAA,mBAAmB,uBA6B9B;AAEK,IAAM,mBAAmB,GAAG,UAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG;IAChE,IAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,KAAK,CAAC,aAAa,KAAK,QAAQ,EAAC;QACnC,OAAO,iBAAiB,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC;cAC3F,iBAAiB,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAC3D,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;KACtF;IACD,OAAO,iBAAiB,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAC9F,CAAC,CAAC;AARW,QAAA,mBAAmB,uBAQ9B;AAEK,IAAM,oBAAoB,GAAG,UAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG;IACjE,IAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,IAAI,GAAG,SAAS,CAAC;IACrB,IAAI,KAAK,CAAC,aAAa,KAAK,QAAQ,EAAE;QACpC,IAAI,IAAI,SAAS,CAAC;KACnB;IACD,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,EAAE;QACtD,IAAI,UAAU,GAAG,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,uBAAuB;QACvB,OAAO,IAAI,GAAG,gCAAwB,EAAE,GAAG,UAAU,gDAA4C,CAAC;KACnG;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAZW,QAAA,oBAAoB,wBAY/B;AAEK,IAAM,aAAa,GAAG,UAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG;IAC1D,IAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,IAAI,0BAAkB,KAAK,CAAC,aAAa,QAAI,CAAC;IAClD,IAAI,IAAI,SAAS,CAAC;IAClB,IAAI,IAAI,KAAK,CAAC,aAAa,KAAK,MAAM;QACpC,CAAC,CAAC,8GAA8G;QAChH,CAAC,CAAC,sEAAsE,CAAC;IAC3E,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,aAAa,iBAUxB;AAEK,IAAM,aAAa,GAAG,UAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG;IAC1D,IAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,IAAA,kCAAmB,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC,CAAC;AAHW,QAAA,aAAa,iBAGxB"}
@@ -4,6 +4,8 @@ exports.renderInlineContent = exports.headingSection = exports.setTextCounterSec
4
4
  var tslib_1 = require("tslib");
5
5
  var isSpace = require('markdown-it/lib/common/utils').isSpace;
6
6
  var render_tabular_1 = require("./md-renderer-rules/render-tabular");
7
+ var underline_1 = require("./md-inline-rule/underline");
8
+ var underline_2 = require("./md-renderer-rules/underline");
7
9
  var consts_1 = require("./common/consts");
8
10
  var common_1 = require("./common");
9
11
  var utils_1 = require("./utils");
@@ -772,7 +774,7 @@ var textTypes = function (state) {
772
774
  }
773
775
  var match = state.src
774
776
  .slice(++startPos)
775
- .match(/^(?:textit|textbf|texttt)/); // eslint-disable-line
777
+ .match(/^(?:textit|textbf|texttt|text)/); // eslint-disable-line
776
778
  if (!match) {
777
779
  return false;
778
780
  }
@@ -787,12 +789,22 @@ var textTypes = function (state) {
787
789
  case "texttt":
788
790
  type = "texttt";
789
791
  break;
792
+ case "text":
793
+ type = "text_latex";
794
+ break;
790
795
  default:
791
796
  break;
792
797
  }
793
798
  if (!type || type === '') {
794
799
  return false;
795
800
  }
801
+ //skipping spaces in begin
802
+ for (; startPos < state.src.length; startPos++) {
803
+ var code = state.src.charCodeAt(startPos);
804
+ if (!isSpace(code) && code !== 0x0A) {
805
+ break;
806
+ }
807
+ }
796
808
  var _b = (0, common_1.findEndMarker)(state.src, startPos), _c = _b.res, res = _c === void 0 ? false : _c, _d = _b.content, content = _d === void 0 ? '' : _d, _e = _b.nextPos, nextPos = _e === void 0 ? 0 : _e, _f = _b.endPos, endPos = _f === void 0 ? 0 : _f;
797
809
  if (!res) {
798
810
  return false;
@@ -1128,6 +1140,11 @@ var renderItalicText = function (tokens, idx, options, env, slf) {
1128
1140
  var content = (0, exports.renderInlineContent)(token, options, env, slf);
1129
1141
  return content;
1130
1142
  };
1143
+ var renderTextLatex = function (tokens, idx, options, env, slf) {
1144
+ var token = tokens[idx];
1145
+ var content = (0, exports.renderInlineContent)(token, options, env, slf);
1146
+ return content;
1147
+ };
1131
1148
  var renderCodeInlineOpen = function (tokens, idx, options, env, slf) {
1132
1149
  var token = tokens[idx];
1133
1150
  return '<code' + slf.renderAttrs(token) + '>';
@@ -1168,6 +1185,15 @@ var mappingTextStyles = {
1168
1185
  texttt: "texttt",
1169
1186
  texttt_open: "texttt_open",
1170
1187
  texttt_close: "texttt_close",
1188
+ text_latex: "TextLatex",
1189
+ text_latex_open: "TextLatexOpen",
1190
+ text_latex_close: "TextLatexClose",
1191
+ underline: "underline",
1192
+ underline_open: "underline_open",
1193
+ underline_close: "underline_close",
1194
+ out: "out",
1195
+ out_open: "out_open",
1196
+ out_close: "out_close",
1171
1197
  };
1172
1198
  var mapping = {
1173
1199
  section: "Section",
@@ -1194,6 +1220,8 @@ exports.default = (function () {
1194
1220
  md.inline.ruler.before('textTypes', 'linkifyURL', linkifyURL);
1195
1221
  md.inline.ruler.before('textTypes', 'pageBreaks', pageBreaks);
1196
1222
  md.inline.ruler.before('textTypes', 'doubleSlashToSoftBreak', doubleSlashToSoftBreak);
1223
+ md.inline.ruler.before('textTypes', 'textUnderline', underline_1.textUnderline);
1224
+ md.inline.ruler.before('textTypes', 'textOut', underline_1.textOut);
1197
1225
  md.inline.ruler.before('newline', 'newlineToSpace', new_line_to_space_1.newlineToSpace);
1198
1226
  /** ParserInline#ruler2 -> Ruler
1199
1227
  *[[Ruler]] instance. Second ruler used for post-processing **/
@@ -1213,6 +1241,23 @@ exports.default = (function () {
1213
1241
  return '<em>';
1214
1242
  case "textit_close":
1215
1243
  return '</em>';
1244
+ case "text_latex_open":
1245
+ case "text_latex_close":
1246
+ return '';
1247
+ case "text_latex":
1248
+ return renderTextLatex(tokens, idx, options, env, slf);
1249
+ case "underline":
1250
+ return (0, underline_2.renderUnderlineText)(tokens, idx, options, env, slf);
1251
+ case "underline_open":
1252
+ return (0, underline_2.renderUnderlineOpen)(tokens, idx, options, env, slf);
1253
+ case "underline_close":
1254
+ return (0, underline_2.renderUnderlineClose)(tokens, idx, options, env, slf);
1255
+ case "out":
1256
+ return (0, underline_2.renderOutText)(tokens, idx, options, env, slf);
1257
+ case "out_open":
1258
+ return (0, underline_2.renderOutOpen)(tokens, idx, options, env, slf);
1259
+ case "out_close":
1260
+ return '</span>';
1216
1261
  case "texttt":
1217
1262
  return renderCodeInline(tokens, idx, options, env, slf);
1218
1263
  case "texttt_open":