@docusaurus/mdx-loader 2.4.0 → 3.0.0-alpha.0
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/README.md +13 -0
- package/lib/format.d.ts +12 -0
- package/lib/format.d.ts.map +1 -0
- package/lib/format.js +35 -0
- package/lib/format.js.map +1 -0
- package/lib/frontMatter.d.ts +12 -0
- package/lib/frontMatter.d.ts.map +1 -0
- package/lib/frontMatter.js +25 -0
- package/lib/frontMatter.js.map +1 -0
- package/lib/index.d.ts +5 -7
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/loader.d.ts +5 -14
- package/lib/loader.d.ts.map +1 -1
- package/lib/loader.js +38 -81
- package/lib/loader.js.map +1 -1
- package/lib/preprocessor.d.ts +18 -0
- package/lib/preprocessor.d.ts.map +1 -0
- package/lib/preprocessor.js +34 -0
- package/lib/preprocessor.js.map +1 -0
- package/lib/processor.d.ts +36 -0
- package/lib/processor.d.ts.map +1 -0
- package/lib/processor.js +158 -0
- package/lib/processor.js.map +1 -0
- package/lib/remark/admonitions/index.d.ts +4 -9
- package/lib/remark/admonitions/index.d.ts.map +1 -1
- package/lib/remark/admonitions/index.js +70 -128
- package/lib/remark/admonitions/index.js.map +1 -1
- package/lib/remark/details/index.d.ts +9 -0
- package/lib/remark/details/index.d.ts.map +1 -0
- package/lib/remark/details/index.js +23 -0
- package/lib/remark/details/index.js.map +1 -0
- package/lib/remark/head/index.d.ts +9 -0
- package/lib/remark/head/index.d.ts.map +1 -0
- package/lib/remark/head/index.js +23 -0
- package/lib/remark/head/index.js.map +1 -0
- package/lib/remark/headings/index.d.ts.map +1 -1
- package/lib/remark/headings/index.js +3 -3
- package/lib/remark/headings/index.js.map +1 -1
- package/lib/remark/{unwrapMdxCodeBlocks/index.d.ts → mdx1Compat/codeCompatPlugin.d.ts} +2 -2
- package/lib/remark/mdx1Compat/codeCompatPlugin.d.ts.map +1 -0
- package/lib/remark/mdx1Compat/codeCompatPlugin.js +34 -0
- package/lib/remark/mdx1Compat/codeCompatPlugin.js.map +1 -0
- package/lib/remark/mermaid/index.d.ts.map +1 -1
- package/lib/remark/mermaid/index.js +1 -0
- package/lib/remark/mermaid/index.js.map +1 -1
- package/lib/remark/toc/index.d.ts +8 -2
- package/lib/remark/toc/index.d.ts.map +1 -1
- package/lib/remark/toc/index.js +53 -23
- package/lib/remark/toc/index.js.map +1 -1
- package/lib/remark/transformImage/index.d.ts +2 -1
- package/lib/remark/transformImage/index.d.ts.map +1 -1
- package/lib/remark/transformImage/index.js +42 -15
- package/lib/remark/transformImage/index.js.map +1 -1
- package/lib/remark/transformLinks/index.d.ts +2 -1
- package/lib/remark/transformLinks/index.d.ts.map +1 -1
- package/lib/remark/transformLinks/index.js +30 -11
- package/lib/remark/transformLinks/index.js.map +1 -1
- package/lib/remark/utils/index.d.ts +4 -2
- package/lib/remark/utils/index.d.ts.map +1 -1
- package/lib/remark/utils/index.js +68 -11
- package/lib/remark/utils/index.js.map +1 -1
- package/package.json +26 -18
- package/src/format.ts +40 -0
- package/src/frontMatter.ts +31 -0
- package/src/index.ts +6 -6
- package/src/loader.ts +62 -107
- package/src/preprocessor.ts +47 -0
- package/src/processor.ts +241 -0
- package/src/remark/admonitions/README.md +1 -1
- package/src/remark/admonitions/index.ts +92 -171
- package/src/remark/details/index.ts +25 -0
- package/src/remark/head/index.ts +25 -0
- package/src/remark/headings/index.ts +5 -3
- package/src/remark/mdx1Compat/codeCompatPlugin.ts +36 -0
- package/src/remark/mermaid/index.ts +2 -0
- package/src/remark/toc/index.ts +80 -26
- package/src/remark/transformImage/index.ts +54 -19
- package/src/remark/transformLinks/index.ts +44 -17
- package/src/remark/utils/index.ts +77 -9
- package/lib/remark/unwrapMdxCodeBlocks/index.d.ts.map +0 -1
- package/lib/remark/unwrapMdxCodeBlocks/index.js +0 -29
- package/lib/remark/unwrapMdxCodeBlocks/index.js.map +0 -1
- package/src/deps.d.ts +0 -31
- package/src/remark/unwrapMdxCodeBlocks/index.ts +0 -33
|
@@ -16,6 +16,7 @@ function plugin() {
|
|
|
16
16
|
return (root) => {
|
|
17
17
|
(0, unist_util_visit_1.default)(root, 'code', (node, index, parent) => {
|
|
18
18
|
if (node.lang === 'mermaid') {
|
|
19
|
+
// TODO migrate to mdxJsxFlowElement? cf admonitions
|
|
19
20
|
parent.children.splice(index, 1, {
|
|
20
21
|
type: 'mermaidCodeBlock',
|
|
21
22
|
data: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/mermaid/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,gFAAqC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/mermaid/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,gFAAqC;AAKrC,wDAAwD;AACxD,+DAA+D;AAC/D,+EAA+E;AAC/E,0BAA0B;AAC1B,SAAwB,MAAM;IAC5B,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAA,0BAAK,EAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAChD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC3B,oDAAoD;gBACpD,MAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE;oBAChC,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE;wBACJ,KAAK,EAAE,SAAS;wBAChB,WAAW,EAAE;4BACX,KAAK,EAAE,IAAI,CAAC,KAAK;yBAClB;qBACF;iBACF,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAjBD,yBAiBC"}
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
export
|
|
7
|
+
type Plugin = any;
|
|
8
|
+
export type TOCItem = {
|
|
9
|
+
readonly value: string;
|
|
10
|
+
readonly id: string;
|
|
11
|
+
readonly level: number;
|
|
12
|
+
};
|
|
13
|
+
declare const plugin: Plugin;
|
|
14
|
+
export default plugin;
|
|
9
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/toc/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/toc/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH,KAAK,MAAM,GAAG,GAAG,CAAC;AAElB,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAuDF,QAAA,MAAM,MAAM,EAAE,MA8Bb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/lib/remark/toc/index.js
CHANGED
|
@@ -10,18 +10,16 @@ const tslib_1 = require("tslib");
|
|
|
10
10
|
const parser_1 = require("@babel/parser");
|
|
11
11
|
const traverse_1 = tslib_1.__importDefault(require("@babel/traverse"));
|
|
12
12
|
const stringify_object_1 = tslib_1.__importDefault(require("stringify-object"));
|
|
13
|
-
const mdast_util_to_string_1 = tslib_1.__importDefault(require("mdast-util-to-string"));
|
|
14
13
|
const unist_util_visit_1 = tslib_1.__importDefault(require("unist-util-visit"));
|
|
15
14
|
const utils_1 = require("../utils");
|
|
16
15
|
const parseOptions = {
|
|
17
16
|
plugins: ['jsx'],
|
|
18
17
|
sourceType: 'module',
|
|
19
18
|
};
|
|
20
|
-
const
|
|
21
|
-
const isImport = (child) => child.type === 'import';
|
|
19
|
+
const isImport = (child) => child.type === 'mdxjsEsm' && child.value.startsWith('import');
|
|
22
20
|
const hasImports = (index) => index > -1;
|
|
23
|
-
const isExport = (child) => child.type === 'export';
|
|
24
|
-
const isTarget = (child) => {
|
|
21
|
+
const isExport = (child) => child.type === 'mdxjsEsm' && child.value.startsWith('export');
|
|
22
|
+
const isTarget = (child, name) => {
|
|
25
23
|
let found = false;
|
|
26
24
|
const ast = (0, parser_1.parse)(child.value, parseOptions);
|
|
27
25
|
(0, traverse_1.default)(ast, {
|
|
@@ -33,49 +31,81 @@ const isTarget = (child) => {
|
|
|
33
31
|
});
|
|
34
32
|
return found;
|
|
35
33
|
};
|
|
36
|
-
const getOrCreateExistingTargetIndex = (children) => {
|
|
34
|
+
const getOrCreateExistingTargetIndex = async (children, name) => {
|
|
37
35
|
let importsIndex = -1;
|
|
38
36
|
let targetIndex = -1;
|
|
39
37
|
children.forEach((child, index) => {
|
|
40
38
|
if (isImport(child)) {
|
|
41
39
|
importsIndex = index;
|
|
42
40
|
}
|
|
43
|
-
else if (isExport(child) && isTarget(child)) {
|
|
41
|
+
else if (isExport(child) && isTarget(child, name)) {
|
|
44
42
|
targetIndex = index;
|
|
45
43
|
}
|
|
46
44
|
});
|
|
47
45
|
if (targetIndex === -1) {
|
|
48
|
-
const target =
|
|
49
|
-
default: false,
|
|
50
|
-
type: 'export',
|
|
51
|
-
value: `export const ${name} = [];`,
|
|
52
|
-
};
|
|
46
|
+
const target = await createExportNode(name, []);
|
|
53
47
|
targetIndex = hasImports(importsIndex) ? importsIndex + 1 : 0;
|
|
54
48
|
children.splice(targetIndex, 0, target);
|
|
55
49
|
}
|
|
56
50
|
return targetIndex;
|
|
57
51
|
};
|
|
58
|
-
function plugin() {
|
|
59
|
-
|
|
52
|
+
const plugin = function plugin(options = {}) {
|
|
53
|
+
const name = options.name || 'toc';
|
|
54
|
+
return async (root) => {
|
|
55
|
+
const { toString } = await import('mdast-util-to-string');
|
|
60
56
|
const headings = [];
|
|
61
|
-
(0, unist_util_visit_1.default)(root, 'heading', (child
|
|
62
|
-
const value = (
|
|
63
|
-
// depth:
|
|
64
|
-
if (
|
|
57
|
+
(0, unist_util_visit_1.default)(root, 'heading', (child) => {
|
|
58
|
+
const value = toString(child);
|
|
59
|
+
// depth:1 headings are titles and not included in the TOC
|
|
60
|
+
if (!value || child.depth < 2) {
|
|
65
61
|
return;
|
|
66
62
|
}
|
|
67
63
|
headings.push({
|
|
68
|
-
value: (0, utils_1.toValue)(child),
|
|
64
|
+
value: (0, utils_1.toValue)(child, toString),
|
|
69
65
|
id: child.data.id,
|
|
70
66
|
level: child.depth,
|
|
71
67
|
});
|
|
72
68
|
});
|
|
73
69
|
const { children } = root;
|
|
74
|
-
const targetIndex = getOrCreateExistingTargetIndex(children);
|
|
75
|
-
if (headings
|
|
76
|
-
children[targetIndex]
|
|
70
|
+
const targetIndex = await getOrCreateExistingTargetIndex(children, name);
|
|
71
|
+
if (headings?.length) {
|
|
72
|
+
children[targetIndex] = await createExportNode(name, headings);
|
|
77
73
|
}
|
|
78
74
|
};
|
|
79
|
-
}
|
|
75
|
+
};
|
|
80
76
|
exports.default = plugin;
|
|
77
|
+
async function createExportNode(name, object) {
|
|
78
|
+
const { valueToEstree } = await import('estree-util-value-to-estree');
|
|
79
|
+
return {
|
|
80
|
+
type: 'mdxjsEsm',
|
|
81
|
+
value: `export const ${name} = ${(0, stringify_object_1.default)(object)}`,
|
|
82
|
+
data: {
|
|
83
|
+
estree: {
|
|
84
|
+
type: 'Program',
|
|
85
|
+
body: [
|
|
86
|
+
{
|
|
87
|
+
type: 'ExportNamedDeclaration',
|
|
88
|
+
declaration: {
|
|
89
|
+
type: 'VariableDeclaration',
|
|
90
|
+
declarations: [
|
|
91
|
+
{
|
|
92
|
+
type: 'VariableDeclarator',
|
|
93
|
+
id: {
|
|
94
|
+
type: 'Identifier',
|
|
95
|
+
name,
|
|
96
|
+
},
|
|
97
|
+
init: valueToEstree(object),
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
kind: 'const',
|
|
101
|
+
},
|
|
102
|
+
specifiers: [],
|
|
103
|
+
source: null,
|
|
104
|
+
},
|
|
105
|
+
],
|
|
106
|
+
sourceType: 'module',
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
}
|
|
81
111
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/toc/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,0CAAwD;AACxD,uEAAuC;AACvC,gFAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/toc/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import type { Transformer } from 'unified';
|
|
8
|
-
|
|
8
|
+
type PluginOptions = {
|
|
9
9
|
staticDirs: string[];
|
|
10
10
|
siteDir: string;
|
|
11
11
|
};
|
|
12
12
|
export default function plugin(options: PluginOptions): Transformer;
|
|
13
|
+
export {};
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/transformImage/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/transformImage/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmBH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAUzC,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA6JF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,CAalE"}
|
|
@@ -11,30 +11,57 @@ const path_1 = tslib_1.__importDefault(require("path"));
|
|
|
11
11
|
const url_1 = tslib_1.__importDefault(require("url"));
|
|
12
12
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
13
13
|
const util_1 = require("util");
|
|
14
|
-
const logger_1 = tslib_1.__importDefault(require("@docusaurus/logger"));
|
|
15
14
|
const utils_1 = require("@docusaurus/utils");
|
|
16
15
|
const unist_util_visit_1 = tslib_1.__importDefault(require("unist-util-visit"));
|
|
17
16
|
const escape_html_1 = tslib_1.__importDefault(require("escape-html"));
|
|
18
17
|
const image_size_1 = tslib_1.__importDefault(require("image-size"));
|
|
18
|
+
const logger_1 = tslib_1.__importDefault(require("@docusaurus/logger"));
|
|
19
|
+
const utils_2 = require("../utils");
|
|
19
20
|
const { loaders: { inlineMarkdownImageFileLoader }, } = (0, utils_1.getFileLoaderUtils)();
|
|
20
|
-
async function toImageRequireNode([node
|
|
21
|
+
async function toImageRequireNode([node], imagePath, filePath) {
|
|
22
|
+
// MdxJsxTextElement => see https://github.com/facebook/docusaurus/pull/8288#discussion_r1125871405
|
|
23
|
+
const jsxNode = node;
|
|
24
|
+
const attributes = [];
|
|
21
25
|
let relativeImagePath = (0, utils_1.posixPath)(path_1.default.relative(path_1.default.dirname(filePath), imagePath));
|
|
22
26
|
relativeImagePath = `./${relativeImagePath}`;
|
|
23
27
|
const parsedUrl = url_1.default.parse(node.url);
|
|
24
28
|
const hash = parsedUrl.hash ?? '';
|
|
25
29
|
const search = parsedUrl.search ?? '';
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
const requireString = `${inlineMarkdownImageFileLoader}${(0, utils_1.escapePath)(relativeImagePath) + search}`;
|
|
31
|
+
if (node.alt) {
|
|
32
|
+
attributes.push({
|
|
33
|
+
type: 'mdxJsxAttribute',
|
|
34
|
+
name: 'alt',
|
|
35
|
+
value: (0, escape_html_1.default)(node.alt),
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
attributes.push({
|
|
39
|
+
type: 'mdxJsxAttribute',
|
|
40
|
+
name: 'src',
|
|
41
|
+
value: (0, utils_2.assetRequireAttributeValue)(requireString, hash),
|
|
42
|
+
});
|
|
43
|
+
if (node.title) {
|
|
44
|
+
attributes.push({
|
|
45
|
+
type: 'mdxJsxAttribute',
|
|
46
|
+
name: 'title',
|
|
47
|
+
value: (0, escape_html_1.default)(node.title),
|
|
48
|
+
});
|
|
49
|
+
}
|
|
31
50
|
try {
|
|
32
51
|
const size = (await (0, util_1.promisify)(image_size_1.default)(imagePath));
|
|
33
52
|
if (size.width) {
|
|
34
|
-
|
|
53
|
+
attributes.push({
|
|
54
|
+
type: 'mdxJsxAttribute',
|
|
55
|
+
name: 'width',
|
|
56
|
+
value: String(size.width),
|
|
57
|
+
});
|
|
35
58
|
}
|
|
36
59
|
if (size.height) {
|
|
37
|
-
|
|
60
|
+
attributes.push({
|
|
61
|
+
type: 'mdxJsxAttribute',
|
|
62
|
+
name: 'height',
|
|
63
|
+
value: String(size.height),
|
|
64
|
+
});
|
|
38
65
|
}
|
|
39
66
|
}
|
|
40
67
|
catch (err) {
|
|
@@ -45,11 +72,11 @@ async function toImageRequireNode([node, index, parent], imagePath, filePath) {
|
|
|
45
72
|
${err.message}`;
|
|
46
73
|
}
|
|
47
74
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
75
|
+
Object.keys(jsxNode).forEach((key) => delete jsxNode[key]);
|
|
76
|
+
jsxNode.type = 'mdxJsxTextElement';
|
|
77
|
+
jsxNode.name = 'img';
|
|
78
|
+
jsxNode.attributes = attributes;
|
|
79
|
+
jsxNode.children = [];
|
|
53
80
|
}
|
|
54
81
|
async function ensureImageFileExist(imagePath, sourceFilePath) {
|
|
55
82
|
const imageExists = await fs_extra_1.default.pathExists(imagePath);
|
|
@@ -74,7 +101,7 @@ async function getImageAbsolutePath(imagePath, { siteDir, filePath, staticDirs }
|
|
|
74
101
|
}
|
|
75
102
|
return imageFilePath;
|
|
76
103
|
}
|
|
77
|
-
//
|
|
104
|
+
// relative paths are resolved against the source file's folder
|
|
78
105
|
const imageFilePath = path_1.default.join(path_1.default.dirname(filePath), decodeURIComponent(imagePath));
|
|
79
106
|
await ensureImageFileExist(imageFilePath, filePath);
|
|
80
107
|
return imageFilePath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/transformImage/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,wDAAwB;AACxB,sDAAsB;AACtB,gEAA0B;AAC1B,+BAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/transformImage/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import type { Transformer } from 'unified';
|
|
8
|
-
|
|
8
|
+
type PluginOptions = {
|
|
9
9
|
staticDirs: string[];
|
|
10
10
|
siteDir: string;
|
|
11
11
|
};
|
|
12
12
|
export default function plugin(options: PluginOptions): Transformer;
|
|
13
|
+
export {};
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/transformLinks/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/transformLinks/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAUzC,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA+IF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,CAalE"}
|
|
@@ -18,24 +18,43 @@ const { loaders: { inlineMarkdownLinkFileLoader }, } = (0, utils_1.getFileLoader
|
|
|
18
18
|
/**
|
|
19
19
|
* Transforms the link node to a JSX `<a>` element with a `require()` call.
|
|
20
20
|
*/
|
|
21
|
-
function toAssetRequireNode([node
|
|
21
|
+
async function toAssetRequireNode([node], assetPath, filePath) {
|
|
22
|
+
// MdxJsxTextElement => see https://github.com/facebook/docusaurus/pull/8288#discussion_r1125871405
|
|
23
|
+
const jsxNode = node;
|
|
24
|
+
const attributes = [];
|
|
22
25
|
// require("assets/file.pdf") means requiring from a package called assets
|
|
23
26
|
const relativeAssetPath = `./${(0, utils_1.posixPath)(path_1.default.relative(path_1.default.dirname(filePath), assetPath))}`;
|
|
24
27
|
const parsedUrl = url_1.default.parse(node.url);
|
|
25
28
|
const hash = parsedUrl.hash ?? '';
|
|
26
29
|
const search = parsedUrl.search ?? '';
|
|
27
|
-
const
|
|
30
|
+
const requireString = `${
|
|
28
31
|
// A hack to stop Webpack from using its built-in loader to parse JSON
|
|
29
32
|
path_1.default.extname(relativeAssetPath) === '.json'
|
|
30
33
|
? `${relativeAssetPath.replace('.json', '.raw')}!=`
|
|
31
|
-
: ''}${inlineMarkdownLinkFileLoader}${(0, utils_1.escapePath)(relativeAssetPath) + search}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
: ''}${inlineMarkdownLinkFileLoader}${(0, utils_1.escapePath)(relativeAssetPath) + search}`;
|
|
35
|
+
attributes.push({
|
|
36
|
+
type: 'mdxJsxAttribute',
|
|
37
|
+
name: 'target',
|
|
38
|
+
value: '_blank',
|
|
39
|
+
});
|
|
40
|
+
attributes.push({
|
|
41
|
+
type: 'mdxJsxAttribute',
|
|
42
|
+
name: 'href',
|
|
43
|
+
value: (0, utils_2.assetRequireAttributeValue)(requireString, hash),
|
|
44
|
+
});
|
|
45
|
+
if (node.title) {
|
|
46
|
+
attributes.push({
|
|
47
|
+
type: 'mdxJsxAttribute',
|
|
48
|
+
name: 'title',
|
|
49
|
+
value: (0, escape_html_1.default)(node.title),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
const { children } = node;
|
|
53
|
+
Object.keys(jsxNode).forEach((key) => delete jsxNode[key]);
|
|
54
|
+
jsxNode.type = 'mdxJsxTextElement';
|
|
55
|
+
jsxNode.name = 'a';
|
|
56
|
+
jsxNode.attributes = attributes;
|
|
57
|
+
jsxNode.children = children;
|
|
39
58
|
}
|
|
40
59
|
async function ensureAssetFileExist(assetPath, sourceFilePath) {
|
|
41
60
|
const assetExists = await fs_extra_1.default.pathExists(assetPath);
|
|
@@ -87,7 +106,7 @@ async function processLinkNode(target, context) {
|
|
|
87
106
|
}
|
|
88
107
|
const assetPath = await getAssetAbsolutePath(decodeURIComponent(parsedUrl.pathname), context);
|
|
89
108
|
if (assetPath) {
|
|
90
|
-
toAssetRequireNode(target, assetPath, context.filePath);
|
|
109
|
+
await toAssetRequireNode(target, assetPath, context.filePath);
|
|
91
110
|
}
|
|
92
111
|
}
|
|
93
112
|
function plugin(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/transformLinks/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,wDAAwB;AACxB,sDAAsB;AACtB,gEAA0B;AAC1B,6CAM2B;AAC3B,gFAAqC;AACrC,sEAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/transformLinks/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { Parent } from 'unist';
|
|
8
8
|
import type { PhrasingContent, Heading } from 'mdast';
|
|
9
|
-
|
|
10
|
-
export declare function
|
|
9
|
+
import type { MdxJsxAttributeValueExpression } from 'mdast-util-mdx';
|
|
10
|
+
export declare function stringifyContent(node: Parent, toString: (param: unknown) => string): string;
|
|
11
|
+
export declare function toValue(node: PhrasingContent | Heading, toString: (param: unknown) => string): string;
|
|
12
|
+
export declare function assetRequireAttributeValue(requireString: string, hash: string): MdxJsxAttributeValueExpression;
|
|
11
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,EAAC,eAAe,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AAEpD,OAAO,KAAK,EAAC,8BAA8B,EAAC,MAAM,gBAAgB,CAAC;AAEnE,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GACnC,MAAM,CAIR;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,eAAe,GAAG,OAAO,EAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GACnC,MAAM,CAuBR;AAED,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,GACX,8BAA8B,CAkDhC"}
|
|
@@ -6,33 +6,90 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.toValue = exports.stringifyContent = void 0;
|
|
9
|
+
exports.assetRequireAttributeValue = exports.toValue = exports.stringifyContent = void 0;
|
|
10
10
|
const tslib_1 = require("tslib");
|
|
11
11
|
const escape_html_1 = tslib_1.__importDefault(require("escape-html"));
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
function stringifyContent(node, toString) {
|
|
13
|
+
return node.children
|
|
14
|
+
.map((item) => toValue(item, toString))
|
|
15
|
+
.join('');
|
|
15
16
|
}
|
|
16
17
|
exports.stringifyContent = stringifyContent;
|
|
17
|
-
function toValue(node) {
|
|
18
|
+
function toValue(node, toString) {
|
|
18
19
|
switch (node.type) {
|
|
20
|
+
case 'mdxJsxTextElement': {
|
|
21
|
+
const tag = node.name;
|
|
22
|
+
return `<${tag}>${stringifyContent(node, toString)}</${tag}>`;
|
|
23
|
+
}
|
|
19
24
|
case 'text':
|
|
20
25
|
return (0, escape_html_1.default)(node.value);
|
|
21
26
|
case 'heading':
|
|
22
|
-
return stringifyContent(node);
|
|
27
|
+
return stringifyContent(node, toString);
|
|
23
28
|
case 'inlineCode':
|
|
24
29
|
return `<code>${(0, escape_html_1.default)(node.value)}</code>`;
|
|
25
30
|
case 'emphasis':
|
|
26
|
-
return `<em>${stringifyContent(node)}</em>`;
|
|
31
|
+
return `<em>${stringifyContent(node, toString)}</em>`;
|
|
27
32
|
case 'strong':
|
|
28
|
-
return `<strong>${stringifyContent(node)}</strong>`;
|
|
33
|
+
return `<strong>${stringifyContent(node, toString)}</strong>`;
|
|
29
34
|
case 'delete':
|
|
30
|
-
return `<del>${stringifyContent(node)}</del>`;
|
|
35
|
+
return `<del>${stringifyContent(node, toString)}</del>`;
|
|
31
36
|
case 'link':
|
|
32
|
-
return stringifyContent(node);
|
|
37
|
+
return stringifyContent(node, toString);
|
|
33
38
|
default:
|
|
34
|
-
return (
|
|
39
|
+
return toString(node);
|
|
35
40
|
}
|
|
36
41
|
}
|
|
37
42
|
exports.toValue = toValue;
|
|
43
|
+
function assetRequireAttributeValue(requireString, hash) {
|
|
44
|
+
return {
|
|
45
|
+
type: 'mdxJsxAttributeValueExpression',
|
|
46
|
+
value: `require("${requireString}").default${hash && ` + '${hash}'`}`,
|
|
47
|
+
data: {
|
|
48
|
+
estree: {
|
|
49
|
+
type: 'Program',
|
|
50
|
+
body: [
|
|
51
|
+
{
|
|
52
|
+
type: 'ExpressionStatement',
|
|
53
|
+
expression: {
|
|
54
|
+
type: 'BinaryExpression',
|
|
55
|
+
left: {
|
|
56
|
+
type: 'MemberExpression',
|
|
57
|
+
object: {
|
|
58
|
+
type: 'CallExpression',
|
|
59
|
+
callee: {
|
|
60
|
+
type: 'Identifier',
|
|
61
|
+
name: 'require',
|
|
62
|
+
},
|
|
63
|
+
arguments: [
|
|
64
|
+
{
|
|
65
|
+
type: 'Literal',
|
|
66
|
+
value: requireString,
|
|
67
|
+
raw: `"${requireString}"`,
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
optional: false,
|
|
71
|
+
},
|
|
72
|
+
property: {
|
|
73
|
+
type: 'Identifier',
|
|
74
|
+
name: 'default',
|
|
75
|
+
},
|
|
76
|
+
computed: false,
|
|
77
|
+
optional: false,
|
|
78
|
+
},
|
|
79
|
+
operator: '+',
|
|
80
|
+
right: {
|
|
81
|
+
type: 'Literal',
|
|
82
|
+
value: hash,
|
|
83
|
+
raw: `"${hash}"`,
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
sourceType: 'module',
|
|
89
|
+
comments: [],
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
exports.assetRequireAttributeValue = assetRequireAttributeValue;
|
|
38
95
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,sEAAqC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,sEAAqC;AAMrC,SAAgB,gBAAgB,CAC9B,IAAY,EACZ,QAAoC;IAEpC,OAAQ,IAAI,CAAC,QAA8B;SACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SACtC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAPD,4CAOC;AAED,SAAgB,OAAO,CACrB,IAA+B,EAC/B,QAAoC;IAEpC,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,mBAAmB,CAAC,CAAC;YACxB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,OAAO,IAAI,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;SAC/D;QACD,KAAK,MAAM;YACT,OAAO,IAAA,qBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,SAAS;YACZ,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,KAAK,YAAY;YACf,OAAO,SAAS,IAAA,qBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAClD,KAAK,UAAU;YACb,OAAO,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;QACxD,KAAK,QAAQ;YACX,OAAO,WAAW,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC;QAChE,KAAK,QAAQ;YACX,OAAO,QAAQ,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC1D,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C;YACE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;KACzB;AACH,CAAC;AA1BD,0BA0BC;AAED,SAAgB,0BAA0B,CACxC,aAAqB,EACrB,IAAY;IAEZ,OAAO;QACL,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE,YAAY,aAAa,aAAa,IAAI,IAAI,OAAO,IAAI,GAAG,EAAE;QACrE,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE;oBACJ;wBACE,IAAI,EAAE,qBAAqB;wBAC3B,UAAU,EAAE;4BACV,IAAI,EAAE,kBAAkB;4BACxB,IAAI,EAAE;gCACJ,IAAI,EAAE,kBAAkB;gCACxB,MAAM,EAAE;oCACN,IAAI,EAAE,gBAAgB;oCACtB,MAAM,EAAE;wCACN,IAAI,EAAE,YAAY;wCAClB,IAAI,EAAE,SAAS;qCAChB;oCACD,SAAS,EAAE;wCACT;4CACE,IAAI,EAAE,SAAS;4CACf,KAAK,EAAE,aAAa;4CACpB,GAAG,EAAE,IAAI,aAAa,GAAG;yCAC1B;qCACF;oCACD,QAAQ,EAAE,KAAK;iCAChB;gCACD,QAAQ,EAAE;oCACR,IAAI,EAAE,YAAY;oCAClB,IAAI,EAAE,SAAS;iCAChB;gCACD,QAAQ,EAAE,KAAK;gCACf,QAAQ,EAAE,KAAK;6BAChB;4BACD,QAAQ,EAAE,GAAG;4BACb,KAAK,EAAE;gCACL,IAAI,EAAE,SAAS;gCACf,KAAK,EAAE,IAAI;gCACX,GAAG,EAAE,IAAI,IAAI,GAAG;6BACjB;yBACF;qBACF;iBACF;gBACD,UAAU,EAAE,QAAQ;gBACpB,QAAQ,EAAE,EAAE;aACb;SACF;KACF,CAAC;AACJ,CAAC;AArDD,gEAqDC"}
|