@yozora/tokenizer-inline-math 2.3.7 → 2.3.8
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.
- package/CHANGELOG.md +14 -0
- package/README.md +42 -42
- package/lib/cjs/index.cjs +12 -10
- package/lib/esm/index.mjs +12 -10
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,20 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See
|
|
4
4
|
[Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## <small>2.3.8 (2024-12-03)</small>
|
|
7
|
+
|
|
8
|
+
- improve(inlineMath): support more than one dollar sign as delimiter
|
|
9
|
+
([bf17c33](https://github.com/yozorajs/yozora/commit/bf17c33))
|
|
10
|
+
- :bookmark: release: publish v2.3.7 ([ba79410](https://github.com/yozorajs/yozora/commit/ba79410))
|
|
11
|
+
- :bug: fix(inline-math): the inline syntax wihtout backticks could be interruptted by
|
|
12
|
+
emphasis/strong ([c347f97](https://github.com/yozorajs/yozora/commit/c347f97))
|
|
13
|
+
- :white_check_mark: test: fix tests ([dd9c762](https://github.com/yozorajs/yozora/commit/dd9c762))
|
|
14
|
+
|
|
15
|
+
# Change Log
|
|
16
|
+
|
|
17
|
+
All notable changes to this project will be documented in this file. See
|
|
18
|
+
[Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
19
|
+
|
|
6
20
|
## <small>2.3.7 (2024-11-06)</small>
|
|
7
21
|
|
|
8
22
|
- :bug: fix(inline-math): the inline syntax wihtout backticks could be interruptted by
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<header>
|
|
4
4
|
<h1 align="center">
|
|
5
|
-
<a href="https://github.com/yozorajs/yozora/tree/v2.3.
|
|
5
|
+
<a href="https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/inline-math#readme">@yozora/tokenizer-inline-math</a>
|
|
6
6
|
</h1>
|
|
7
7
|
<div align="center">
|
|
8
8
|
<a href="https://www.npmjs.com/package/@yozora/tokenizer-inline-math">
|
|
@@ -181,80 +181,80 @@ parser.parse("`$x^2 + y^2 = z^2, x < 0$`")
|
|
|
181
181
|
|
|
182
182
|
[live-examples]: https://yozora.guanghechen.com/docs/package/tokenizer-inline-math#live-examples
|
|
183
183
|
[docpage]: https://yozora.guanghechen.com/docs/package/tokenizer-inline-math
|
|
184
|
-
[homepage]: https://github.com/yozorajs/yozora/tree/v2.3.
|
|
184
|
+
[homepage]: https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/inline-math#readme
|
|
185
185
|
[gfm-spec]: https://github.github.com/gfm
|
|
186
186
|
[mdast-homepage]: https://github.com/syntax-tree/mdast
|
|
187
|
-
[@yozora/ast]: https://github.com/yozorajs/yozora/tree/v2.3.
|
|
188
|
-
[@yozora/ast-util]: https://github.com/yozorajs/yozora/tree/v2.3.
|
|
189
|
-
[@yozora/character]: https://github.com/yozorajs/yozora/tree/v2.3.
|
|
187
|
+
[@yozora/ast]: https://github.com/yozorajs/yozora/tree/v2.3.8/packages/ast#readme
|
|
188
|
+
[@yozora/ast-util]: https://github.com/yozorajs/yozora/tree/v2.3.8/packages/ast-util#readme
|
|
189
|
+
[@yozora/character]: https://github.com/yozorajs/yozora/tree/v2.3.8/packages/character#readme
|
|
190
190
|
[@yozora/eslint-config]:
|
|
191
191
|
https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/eslint-config#readme
|
|
192
|
-
[@yozora/core-parser]: https://github.com/yozorajs/yozora/tree/v2.3.
|
|
192
|
+
[@yozora/core-parser]: https://github.com/yozorajs/yozora/tree/v2.3.8/packages/core-parser#readme
|
|
193
193
|
[@yozora/core-tokenizer]:
|
|
194
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
195
|
-
[@yozora/invariant]: https://github.com/yozorajs/yozora/tree/v2.3.
|
|
194
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/packages/core-tokenizer#readme
|
|
195
|
+
[@yozora/invariant]: https://github.com/yozorajs/yozora/tree/v2.3.8/packages/invariant#readme
|
|
196
196
|
[@yozora/jest-for-tokenizer]:
|
|
197
197
|
https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/jest-for-tokenizer#readme
|
|
198
|
-
[@yozora/parser]: https://github.com/yozorajs/yozora/tree/v2.3.
|
|
199
|
-
[@yozora/parser-gfm]: https://github.com/yozorajs/yozora/tree/v2.3.
|
|
198
|
+
[@yozora/parser]: https://github.com/yozorajs/yozora/tree/v2.3.8/packages/parser#readme
|
|
199
|
+
[@yozora/parser-gfm]: https://github.com/yozorajs/yozora/tree/v2.3.8/packages/parser-gfm#readme
|
|
200
200
|
[@yozora/parser-gfm-ex]:
|
|
201
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
201
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/packages/parser-gfm-ex#readme
|
|
202
202
|
[@yozora/template-tokenizer]:
|
|
203
203
|
https://github.com/yozorajs/yozora/tree/release-2.x.x/packages/template-tokenizer#readme
|
|
204
204
|
[@yozora/tokenizer-admonition]:
|
|
205
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
205
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/admonition#readme
|
|
206
206
|
[@yozora/tokenizer-autolink]:
|
|
207
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
207
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/autolink#readme
|
|
208
208
|
[@yozora/tokenizer-autolink-extension]:
|
|
209
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
209
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/autolink-extension#readme
|
|
210
210
|
[@yozora/tokenizer-blockquote]:
|
|
211
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
212
|
-
[@yozora/tokenizer-break]: https://github.com/yozorajs/yozora/tree/v2.3.
|
|
211
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/blockquote#readme
|
|
212
|
+
[@yozora/tokenizer-break]: https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/break#readme
|
|
213
213
|
[@yozora/tokenizer-definition]:
|
|
214
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
215
|
-
[@yozora/tokenizer-delete]: https://github.com/yozorajs/yozora/tree/v2.3.
|
|
214
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/definition#readme
|
|
215
|
+
[@yozora/tokenizer-delete]: https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/delete#readme
|
|
216
216
|
[@yozora/tokenizer-ecma-import]:
|
|
217
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
217
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/ecma-import#readme
|
|
218
218
|
[@yozora/tokenizer-emphasis]:
|
|
219
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
219
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/emphasis#readme
|
|
220
220
|
[@yozora/tokenizer-fenced-block]:
|
|
221
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
221
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/fenced-block#readme
|
|
222
222
|
[@yozora/tokenizer-fenced-code]:
|
|
223
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
223
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/fenced-code#readme
|
|
224
224
|
[@yozora/tokenizer-footnote]:
|
|
225
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
225
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/footnote#readme
|
|
226
226
|
[@yozora/tokenizer-footnote-definition]:
|
|
227
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
227
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/footnote-definition#readme
|
|
228
228
|
[@yozora/tokenizer-footnote-reference]:
|
|
229
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
229
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/footnote-reference#readme
|
|
230
230
|
[@yozora/tokenizer-heading]:
|
|
231
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
231
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/heading#readme
|
|
232
232
|
[@yozora/tokenizer-html-block]:
|
|
233
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
233
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/html-block#readme
|
|
234
234
|
[@yozora/tokenizer-html-inline]:
|
|
235
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
236
|
-
[@yozora/tokenizer-image]: https://github.com/yozorajs/yozora/tree/v2.3.
|
|
235
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/html-inline#readme
|
|
236
|
+
[@yozora/tokenizer-image]: https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/image#readme
|
|
237
237
|
[@yozora/tokenizer-image-reference]:
|
|
238
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
238
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/image-reference#readme
|
|
239
239
|
[@yozora/tokenizer-indented-code]:
|
|
240
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
240
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/indented-code#readme
|
|
241
241
|
[@yozora/tokenizer-inline-code]:
|
|
242
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
242
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/inline-code#readme
|
|
243
243
|
[@yozora/tokenizer-inline-math]:
|
|
244
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
245
|
-
[@yozora/tokenizer-link]: https://github.com/yozorajs/yozora/tree/v2.3.
|
|
244
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/inline-math#readme
|
|
245
|
+
[@yozora/tokenizer-link]: https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/link#readme
|
|
246
246
|
[@yozora/tokenizer-link-reference]:
|
|
247
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
248
|
-
[@yozora/tokenizer-list]: https://github.com/yozorajs/yozora/tree/v2.3.
|
|
249
|
-
[@yozora/tokenizer-math]: https://github.com/yozorajs/yozora/tree/v2.3.
|
|
247
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/link-reference#readme
|
|
248
|
+
[@yozora/tokenizer-list]: https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/list#readme
|
|
249
|
+
[@yozora/tokenizer-math]: https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/math#readme
|
|
250
250
|
[@yozora/tokenizer-paragraph]:
|
|
251
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
251
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/paragraph#readme
|
|
252
252
|
[@yozora/tokenizer-setext-heading]:
|
|
253
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
254
|
-
[@yozora/tokenizer-table]: https://github.com/yozorajs/yozora/tree/v2.3.
|
|
255
|
-
[@yozora/tokenizer-text]: https://github.com/yozorajs/yozora/tree/v2.3.
|
|
253
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/setext-heading#readme
|
|
254
|
+
[@yozora/tokenizer-table]: https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/table#readme
|
|
255
|
+
[@yozora/tokenizer-text]: https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/text#readme
|
|
256
256
|
[@yozora/tokenizer-thematic-break]:
|
|
257
|
-
https://github.com/yozorajs/yozora/tree/v2.3.
|
|
257
|
+
https://github.com/yozorajs/yozora/tree/v2.3.8/tokenizers/thematic-break#readme
|
|
258
258
|
[@yozora/react-admonition]:
|
|
259
259
|
https://github.com/yozorajs/yozora-react/tree/main/packages/admonition#readme
|
|
260
260
|
[@yozora/react-blockquote]:
|
package/lib/cjs/index.cjs
CHANGED
|
@@ -24,11 +24,11 @@ const match = function (api) {
|
|
|
24
24
|
break;
|
|
25
25
|
case character.AsciiCodePoint.DOLLAR_SIGN: {
|
|
26
26
|
const leftCodePoint = i === blockStartIndex ? null : nodePoints[i - 1].codePoint;
|
|
27
|
-
const
|
|
27
|
+
const _startIndex = i;
|
|
28
|
+
i = coreTokenizer.eatOptionalCharacters(nodePoints, i + 1, blockEndIndex, character.AsciiCodePoint.DOLLAR_SIGN);
|
|
29
|
+
const rightCodePoint = i === blockEndIndex ? null : nodePoints[i].codePoint;
|
|
28
30
|
const isPotentialOpener = (leftCodePoint === null || character.isWhitespaceCharacter(leftCodePoint)) &&
|
|
29
|
-
(rightCodePoint === null ||
|
|
30
|
-
(rightCodePoint !== character.AsciiCodePoint.DOLLAR_SIGN &&
|
|
31
|
-
!character.isWhitespaceCharacter(rightCodePoint)));
|
|
31
|
+
(rightCodePoint === null || !character.isWhitespaceCharacter(rightCodePoint));
|
|
32
32
|
const isPotentialCloser = (leftCodePoint === null || !character.isWhitespaceCharacter(leftCodePoint)) &&
|
|
33
33
|
(rightCodePoint === null || character.isWhitespaceCharacter(rightCodePoint));
|
|
34
34
|
if (!isPotentialOpener && !isPotentialCloser)
|
|
@@ -40,9 +40,9 @@ const match = function (api) {
|
|
|
40
40
|
: 'closer';
|
|
41
41
|
const delimiter = {
|
|
42
42
|
type: delimiterType,
|
|
43
|
-
startIndex:
|
|
44
|
-
endIndex: i
|
|
45
|
-
thickness:
|
|
43
|
+
startIndex: _startIndex,
|
|
44
|
+
endIndex: i,
|
|
45
|
+
thickness: i - _startIndex,
|
|
46
46
|
};
|
|
47
47
|
return delimiter;
|
|
48
48
|
}
|
|
@@ -50,15 +50,17 @@ const match = function (api) {
|
|
|
50
50
|
}
|
|
51
51
|
return null;
|
|
52
52
|
}
|
|
53
|
-
function isDelimiterPair() {
|
|
54
|
-
|
|
53
|
+
function isDelimiterPair(openerDelimiter, closerDelimiter) {
|
|
54
|
+
if (openerDelimiter.thickness === closerDelimiter.thickness)
|
|
55
|
+
return { paired: true };
|
|
56
|
+
return { paired: false, opener: true, closer: true };
|
|
55
57
|
}
|
|
56
58
|
function processDelimiterPair(openerDelimiter, closerDelimiter) {
|
|
57
59
|
const token = {
|
|
58
60
|
nodeType: ast.InlineMathType,
|
|
59
61
|
startIndex: openerDelimiter.startIndex,
|
|
60
62
|
endIndex: closerDelimiter.endIndex,
|
|
61
|
-
thickness:
|
|
63
|
+
thickness: openerDelimiter.thickness,
|
|
62
64
|
};
|
|
63
65
|
return { tokens: [token] };
|
|
64
66
|
}
|
package/lib/esm/index.mjs
CHANGED
|
@@ -20,11 +20,11 @@ const match = function (api) {
|
|
|
20
20
|
break;
|
|
21
21
|
case AsciiCodePoint.DOLLAR_SIGN: {
|
|
22
22
|
const leftCodePoint = i === blockStartIndex ? null : nodePoints[i - 1].codePoint;
|
|
23
|
-
const
|
|
23
|
+
const _startIndex = i;
|
|
24
|
+
i = eatOptionalCharacters(nodePoints, i + 1, blockEndIndex, AsciiCodePoint.DOLLAR_SIGN);
|
|
25
|
+
const rightCodePoint = i === blockEndIndex ? null : nodePoints[i].codePoint;
|
|
24
26
|
const isPotentialOpener = (leftCodePoint === null || isWhitespaceCharacter(leftCodePoint)) &&
|
|
25
|
-
(rightCodePoint === null ||
|
|
26
|
-
(rightCodePoint !== AsciiCodePoint.DOLLAR_SIGN &&
|
|
27
|
-
!isWhitespaceCharacter(rightCodePoint)));
|
|
27
|
+
(rightCodePoint === null || !isWhitespaceCharacter(rightCodePoint));
|
|
28
28
|
const isPotentialCloser = (leftCodePoint === null || !isWhitespaceCharacter(leftCodePoint)) &&
|
|
29
29
|
(rightCodePoint === null || isWhitespaceCharacter(rightCodePoint));
|
|
30
30
|
if (!isPotentialOpener && !isPotentialCloser)
|
|
@@ -36,9 +36,9 @@ const match = function (api) {
|
|
|
36
36
|
: 'closer';
|
|
37
37
|
const delimiter = {
|
|
38
38
|
type: delimiterType,
|
|
39
|
-
startIndex:
|
|
40
|
-
endIndex: i
|
|
41
|
-
thickness:
|
|
39
|
+
startIndex: _startIndex,
|
|
40
|
+
endIndex: i,
|
|
41
|
+
thickness: i - _startIndex,
|
|
42
42
|
};
|
|
43
43
|
return delimiter;
|
|
44
44
|
}
|
|
@@ -46,15 +46,17 @@ const match = function (api) {
|
|
|
46
46
|
}
|
|
47
47
|
return null;
|
|
48
48
|
}
|
|
49
|
-
function isDelimiterPair() {
|
|
50
|
-
|
|
49
|
+
function isDelimiterPair(openerDelimiter, closerDelimiter) {
|
|
50
|
+
if (openerDelimiter.thickness === closerDelimiter.thickness)
|
|
51
|
+
return { paired: true };
|
|
52
|
+
return { paired: false, opener: true, closer: true };
|
|
51
53
|
}
|
|
52
54
|
function processDelimiterPair(openerDelimiter, closerDelimiter) {
|
|
53
55
|
const token = {
|
|
54
56
|
nodeType: InlineMathType,
|
|
55
57
|
startIndex: openerDelimiter.startIndex,
|
|
56
58
|
endIndex: closerDelimiter.endIndex,
|
|
57
|
-
thickness:
|
|
59
|
+
thickness: openerDelimiter.thickness,
|
|
58
60
|
};
|
|
59
61
|
return { tokens: [token] };
|
|
60
62
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yozora/tokenizer-inline-math",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.8",
|
|
4
4
|
"description": "Tokenizer for processing inline math (formulas)",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "guanghechen",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"url": "https://github.com/yozorajs/yozora.git",
|
|
12
12
|
"directory": "tokenizers/inline-math"
|
|
13
13
|
},
|
|
14
|
-
"homepage": "https://github.com/yozorajs/yozora/tree/v2.3.
|
|
14
|
+
"homepage": "https://github.com/yozorajs/yozora/tree/v2.3.7/tokenizers/inline-math",
|
|
15
15
|
"keywords": [
|
|
16
16
|
"yozora",
|
|
17
17
|
"markdown",
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
"README.md"
|
|
45
45
|
],
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@yozora/ast": "^2.3.
|
|
48
|
-
"@yozora/character": "^2.3.
|
|
49
|
-
"@yozora/core-tokenizer": "^2.3.
|
|
47
|
+
"@yozora/ast": "^2.3.8",
|
|
48
|
+
"@yozora/character": "^2.3.8",
|
|
49
|
+
"@yozora/core-tokenizer": "^2.3.8"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "c4ddb8bfb317b74d481be80ce545d7dbe3add3f2"
|
|
52
52
|
}
|