@docusaurus/mdx-loader 2.2.0 → 2.3.1
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/admonitions/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAyB,MAAM,EAAC,MAAM,SAAS,CAAC;AAK5D,oBAAY,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,iBAatC,CAAC;AAgBF,QAAA,MAAM,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/admonitions/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAyB,MAAM,EAAC,MAAM,SAAS,CAAC;AAK5D,oBAAY,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,iBAatC,CAAC;AAgBF,QAAA,MAAM,MAAM,EAAE,MA4Kb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -36,9 +36,13 @@ const admonitionNodeType = 'admonitionHTML';
|
|
|
36
36
|
const plugin = function plugin(optionsInput = {}) {
|
|
37
37
|
const options = normalizeOptions(optionsInput);
|
|
38
38
|
const keywords = Object.values(options.keywords).map(escapeRegExp).join('|');
|
|
39
|
+
const nestingChar = escapeRegExp(options.tag.slice(0, 1));
|
|
39
40
|
const tag = escapeRegExp(options.tag);
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
// resolve th nesting level of an opening tag
|
|
42
|
+
// ::: -> 0, :::: -> 1, ::::: -> 2 ...
|
|
43
|
+
const nestingLevelRegex = new RegExp(`^${tag}(?<nestingLevel>${nestingChar}*)`);
|
|
44
|
+
const regex = new RegExp(`${tag}${nestingChar}*(${keywords})(?: *(.*))?\n`);
|
|
45
|
+
const escapeTag = new RegExp(escapeRegExp(`\\${options.tag}${options.tag.slice(0, 1)}*`), 'g');
|
|
42
46
|
// The tokenizer is called on blocks to determine if there is an admonition
|
|
43
47
|
// present and create tags for it
|
|
44
48
|
function blockTokenizer(eat, value, silent) {
|
|
@@ -55,6 +59,10 @@ const plugin = function plugin(optionsInput = {}) {
|
|
|
55
59
|
const [opening, keyword, title] = match;
|
|
56
60
|
const food = [];
|
|
57
61
|
const content = [];
|
|
62
|
+
// get the nesting level of the opening tag
|
|
63
|
+
const openingLevel = nestingLevelRegex.exec(opening).groups.nestingLevel.length;
|
|
64
|
+
// used as a stack to keep track of nested admonitions
|
|
65
|
+
const nestingLevels = [openingLevel];
|
|
58
66
|
let newValue = value;
|
|
59
67
|
// consume lines until a closing tag
|
|
60
68
|
let idx = newValue.indexOf(NEWLINE);
|
|
@@ -64,12 +72,33 @@ const plugin = function plugin(optionsInput = {}) {
|
|
|
64
72
|
const line = next !== -1 ? newValue.slice(idx + 1, next) : newValue.slice(idx + 1);
|
|
65
73
|
food.push(line);
|
|
66
74
|
newValue = newValue.slice(idx + 1);
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
75
|
+
const nesting = nestingLevelRegex.exec(line);
|
|
76
|
+
idx = newValue.indexOf(NEWLINE);
|
|
77
|
+
if (!nesting) {
|
|
78
|
+
content.push(line);
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
const tagLevel = nesting.groups.nestingLevel.length;
|
|
82
|
+
// first level
|
|
83
|
+
if (nestingLevels.length === 0) {
|
|
84
|
+
nestingLevels.push(tagLevel);
|
|
85
|
+
content.push(line);
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
const currentLevel = nestingLevels[nestingLevels.length - 1];
|
|
89
|
+
if (tagLevel < currentLevel) {
|
|
90
|
+
// entering a nested admonition block
|
|
91
|
+
nestingLevels.push(tagLevel);
|
|
92
|
+
}
|
|
93
|
+
else if (tagLevel === currentLevel) {
|
|
94
|
+
// closing a nested admonition block
|
|
95
|
+
nestingLevels.pop();
|
|
96
|
+
// the closing tag is NOT part of the content
|
|
97
|
+
if (nestingLevels.length === 0) {
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
70
100
|
}
|
|
71
101
|
content.push(line);
|
|
72
|
-
idx = newValue.indexOf(NEWLINE);
|
|
73
102
|
}
|
|
74
103
|
// consume the processed tag and replace escape sequences
|
|
75
104
|
const contentString = content.join(NEWLINE).replace(escapeTag, options.tag);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/admonitions/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,gFAAqC;AAIrC,MAAM,OAAO,GAAG,IAAI,CAAC;AAOR,QAAA,wBAAwB,GAAsB;IACzD,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE;QACR,WAAW;QACX,MAAM;QACN,SAAS;QACT,QAAQ;QACR,MAAM;QACN,KAAK;QACL,SAAS;QACT,WAAW;QACX,SAAS;KACV;CACF,CAAC;AAEF,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAmC;IAEnC,OAAO,EAAC,GAAG,gCAAwB,EAAE,GAAG,OAAO,EAAC,CAAC;AACnD,CAAC;AAED,yCAAyC;AACzC,2EAA2E;AAC3E,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAE5C,MAAM,MAAM,GAAW,SAAS,MAAM,CAEpC,eAA2C,EAAE;IAE7C,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE/C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/admonitions/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/mdx-loader",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.1",
|
|
4
4
|
"description": "Docusaurus Loader for MDX",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@babel/parser": "^7.18.8",
|
|
22
22
|
"@babel/traverse": "^7.18.8",
|
|
23
|
-
"@docusaurus/logger": "2.
|
|
24
|
-
"@docusaurus/utils": "2.
|
|
23
|
+
"@docusaurus/logger": "2.3.1",
|
|
24
|
+
"@docusaurus/utils": "2.3.1",
|
|
25
25
|
"@mdx-js/mdx": "^1.6.22",
|
|
26
26
|
"escape-html": "^1.0.3",
|
|
27
27
|
"file-loader": "^6.2.0",
|
|
@@ -37,10 +37,9 @@
|
|
|
37
37
|
"webpack": "^5.73.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@docusaurus/types": "2.
|
|
40
|
+
"@docusaurus/types": "2.3.1",
|
|
41
41
|
"@types/escape-html": "^1.0.2",
|
|
42
42
|
"@types/mdast": "^3.0.10",
|
|
43
|
-
"@types/mermaid": "^8.2.9",
|
|
44
43
|
"@types/stringify-object": "^3.3.1",
|
|
45
44
|
"@types/unist": "^2.0.6",
|
|
46
45
|
"rehype-stringify": "^8.0.0",
|
|
@@ -58,5 +57,5 @@
|
|
|
58
57
|
"engines": {
|
|
59
58
|
"node": ">=16.14"
|
|
60
59
|
},
|
|
61
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "cf12f21a10f6c5439ff931e61419c4bb03a5a2dc"
|
|
62
61
|
}
|
|
@@ -52,9 +52,20 @@ const plugin: Plugin = function plugin(
|
|
|
52
52
|
const options = normalizeOptions(optionsInput);
|
|
53
53
|
|
|
54
54
|
const keywords = Object.values(options.keywords).map(escapeRegExp).join('|');
|
|
55
|
+
const nestingChar = escapeRegExp(options.tag.slice(0, 1));
|
|
55
56
|
const tag = escapeRegExp(options.tag);
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
|
|
58
|
+
// resolve th nesting level of an opening tag
|
|
59
|
+
// ::: -> 0, :::: -> 1, ::::: -> 2 ...
|
|
60
|
+
const nestingLevelRegex = new RegExp(
|
|
61
|
+
`^${tag}(?<nestingLevel>${nestingChar}*)`,
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
const regex = new RegExp(`${tag}${nestingChar}*(${keywords})(?: *(.*))?\n`);
|
|
65
|
+
const escapeTag = new RegExp(
|
|
66
|
+
escapeRegExp(`\\${options.tag}${options.tag.slice(0, 1)}*`),
|
|
67
|
+
'g',
|
|
68
|
+
);
|
|
58
69
|
|
|
59
70
|
// The tokenizer is called on blocks to determine if there is an admonition
|
|
60
71
|
// present and create tags for it
|
|
@@ -77,6 +88,11 @@ const plugin: Plugin = function plugin(
|
|
|
77
88
|
];
|
|
78
89
|
const food = [];
|
|
79
90
|
const content = [];
|
|
91
|
+
// get the nesting level of the opening tag
|
|
92
|
+
const openingLevel =
|
|
93
|
+
nestingLevelRegex.exec(opening)!.groups!.nestingLevel!.length;
|
|
94
|
+
// used as a stack to keep track of nested admonitions
|
|
95
|
+
const nestingLevels: number[] = [openingLevel];
|
|
80
96
|
|
|
81
97
|
let newValue = value;
|
|
82
98
|
// consume lines until a closing tag
|
|
@@ -88,12 +104,32 @@ const plugin: Plugin = function plugin(
|
|
|
88
104
|
next !== -1 ? newValue.slice(idx + 1, next) : newValue.slice(idx + 1);
|
|
89
105
|
food.push(line);
|
|
90
106
|
newValue = newValue.slice(idx + 1);
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
107
|
+
const nesting = nestingLevelRegex.exec(line);
|
|
108
|
+
idx = newValue.indexOf(NEWLINE);
|
|
109
|
+
if (!nesting) {
|
|
110
|
+
content.push(line);
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
const tagLevel = nesting.groups!.nestingLevel!.length;
|
|
114
|
+
// first level
|
|
115
|
+
if (nestingLevels.length === 0) {
|
|
116
|
+
nestingLevels.push(tagLevel);
|
|
117
|
+
content.push(line);
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
const currentLevel = nestingLevels[nestingLevels.length - 1]!;
|
|
121
|
+
if (tagLevel < currentLevel) {
|
|
122
|
+
// entering a nested admonition block
|
|
123
|
+
nestingLevels.push(tagLevel);
|
|
124
|
+
} else if (tagLevel === currentLevel) {
|
|
125
|
+
// closing a nested admonition block
|
|
126
|
+
nestingLevels.pop();
|
|
127
|
+
// the closing tag is NOT part of the content
|
|
128
|
+
if (nestingLevels.length === 0) {
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
94
131
|
}
|
|
95
132
|
content.push(line);
|
|
96
|
-
idx = newValue.indexOf(NEWLINE);
|
|
97
133
|
}
|
|
98
134
|
|
|
99
135
|
// consume the processed tag and replace escape sequences
|