@docusaurus/mdx-loader 0.0.0-5553 → 0.0.0-5556
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/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 +2 -5
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/loader.d.ts +3 -5
- package/lib/loader.d.ts.map +1 -1
- package/lib/loader.js +90 -22
- 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/remark/admonitions/index.d.ts +2 -8
- package/lib/remark/admonitions/index.d.ts.map +1 -1
- package/lib/remark/admonitions/index.js +61 -129
- 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 +17 -10
- package/src/frontMatter.ts +31 -0
- package/src/index.ts +3 -5
- package/src/loader.ts +137 -33
- package/src/preprocessor.ts +47 -0
- package/src/remark/admonitions/index.ts +80 -176
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/admonitions/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/admonitions/index.ts"],"names":[],"mappings":";;;;AAAA;;;;;GAKG;AACH,gFAAqC;AAmBxB,QAAA,wBAAwB,GAAsB;IACzD,QAAQ,EAAE;QACR,WAAW;QACX,MAAM;QACN,SAAS;QACT,QAAQ;QACR,MAAM;QACN,KAAK;QACL,SAAS;QACT,WAAW;QACX,SAAS;KACV;IACD,cAAc,EAAE,IAAI;CACrB,CAAC;AAEF,SAAgB,0BAA0B,CACxC,eAAkD;IAElD,IAAI,eAAe,KAAK,IAAI,EAAE;QAC5B,OAAO,gCAAwB,CAAC;KACjC;IAED,MAAM,OAAO,GAAG,EAAC,GAAG,gCAAwB,EAAE,GAAG,eAAe,EAAC,CAAC;IAElE,wEAAwE;IACxE,qEAAqE;IACrE,IAAI,OAAO,CAAC,cAAc,EAAE;QAC1B,OAAO,CAAC,QAAQ,GAAG;YACjB,GAAG,gCAAwB,CAAC,QAAQ;YACpC,GAAG,OAAO,CAAC,QAAQ;SACpB,CAAC;KACH;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAnBD,gEAmBC;AAKD,SAAS,cAAc,CAAC,SAA6B;IAInD,MAAM,iBAAiB,GACrB,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACzD,IAAI,iBAAiB,EAAE;QACrB,MAAM,CAAC,cAAc,EAAE,GAAG,YAAY,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC;QAC7D,OAAO,EAAC,cAAc,EAAE,cAAgC,EAAE,YAAY,EAAC,CAAC;KACzE;IACD,OAAO,EAAC,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,QAAQ,EAAC,CAAC;AACvE,CAAC;AAED,SAAS,gBAAgB,CAAC,cAA8B;IACtD,MAAM,eAAe,GACnB,cAAc,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;QACtC,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC;IACjD,OAAO,eAAe;QACpB,CAAC,CAAC,8BAA8B;YAC7B,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,KAAgB;QACjD,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,MAAM,GAAW,SAAS,MAAM,CAEpC,eAA2C,EAAE;IAE7C,MAAM,EAAC,QAAQ,EAAC,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAE5D,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,IAAA,0BAAK,EAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE;gBACtC,MAAM,SAAS,GAAG,IAA0B,CAAC;gBAC7C,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAEvD,IAAI,CAAC,YAAY,EAAE;oBACjB,OAAO;iBACR;gBAED,MAAM,EAAC,cAAc,EAAE,YAAY,EAAC,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;gBAEjE,MAAM,aAAa,GACjB,SAAS,CAAC,UAAU,EAAE,KAAK;oBAC3B,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAElE,+DAA+D;gBAC/D,wEAAwE;gBACxE,4DAA4D;gBAC5D,0CAA0C;gBAC1C,SAAS,CAAC,IAAI,GAAG;oBACf,KAAK,EAAE,YAAY;oBACnB,WAAW,EAAE;wBACX,GAAG,CAAC,aAAa,IAAI,EAAC,KAAK,EAAE,aAAa,EAAC,CAAC;wBAC5C,IAAI,EAAE,SAAS,CAAC,IAAI;qBACrB;iBACF,CAAC;gBACF,SAAS,CAAC,QAAQ,GAAG,YAAY,CAAC;gBAElC,qDAAqD;gBACrD,2DAA2D;gBAC3D,oDAAoD;gBACpD,IAAI,cAAc,IAAI,CAAC,aAAa,EAAE;oBACpC,MAAM,gBAAgB,GAAG;wBACvB,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE;4BACJ,KAAK,EAAE,oBAAoB;4BAC3B,WAAW,EAAE,EAAE;yBAChB;wBACD,QAAQ,EAAE,cAAc,CAAC,QAAQ;qBAClC,CAAC;oBACF,uCAAuC;oBACvC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;iBAC9C;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import type { Transformer } from 'unified';
|
|
8
|
+
export default function plugin(): Transformer;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/details/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAOzC,MAAM,CAAC,OAAO,UAAU,MAAM,IAAI,WAAW,CAQ5C"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const tslib_1 = require("tslib");
|
|
10
|
+
const unist_util_visit_1 = tslib_1.__importDefault(require("unist-util-visit"));
|
|
11
|
+
// Transform <details> to <Details>
|
|
12
|
+
// MDX 2 doesn't allow to substitute html elements with the provider anymore
|
|
13
|
+
function plugin() {
|
|
14
|
+
return (root) => {
|
|
15
|
+
(0, unist_util_visit_1.default)(root, 'mdxJsxFlowElement', (node) => {
|
|
16
|
+
if (node.name === 'details') {
|
|
17
|
+
node.name = 'Details';
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
exports.default = plugin;
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/details/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,gFAAqC;AAOrC,mCAAmC;AACnC,4EAA4E;AAC5E,SAAwB,MAAM;IAC5B,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAA,0BAAK,EAAC,IAAI,EAAE,mBAAmB,EAAE,CAAC,IAAuB,EAAE,EAAE;YAC3D,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC3B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AARD,yBAQC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import type { Transformer } from 'unified';
|
|
8
|
+
export default function plugin(): Transformer;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/head/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAOzC,MAAM,CAAC,OAAO,UAAU,MAAM,IAAI,WAAW,CAQ5C"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const tslib_1 = require("tslib");
|
|
10
|
+
const unist_util_visit_1 = tslib_1.__importDefault(require("unist-util-visit"));
|
|
11
|
+
// Transform <head> to <Head>
|
|
12
|
+
// MDX 2 doesn't allow to substitute html elements with the provider anymore
|
|
13
|
+
function plugin() {
|
|
14
|
+
return (root) => {
|
|
15
|
+
(0, unist_util_visit_1.default)(root, 'mdxJsxFlowElement', (node) => {
|
|
16
|
+
if (node.name === 'head') {
|
|
17
|
+
node.name = 'Head';
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
exports.default = plugin;
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/head/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,gFAAqC;AAOrC,6BAA6B;AAC7B,4EAA4E;AAC5E,SAAwB,MAAM;IAC5B,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAA,0BAAK,EAAC,IAAI,EAAE,mBAAmB,EAAE,CAAC,IAAuB,EAAE,EAAE;YAC3D,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;aACpB;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AARD,yBAQC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/headings/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAGzC,MAAM,CAAC,OAAO,UAAU,MAAM,IAAI,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/headings/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAGzC,MAAM,CAAC,OAAO,UAAU,MAAM,IAAI,WAAW,CAwD5C"}
|
|
@@ -10,9 +10,9 @@ const tslib_1 = require("tslib");
|
|
|
10
10
|
/* Based on remark-slug (https://github.com/remarkjs/remark-slug) and gatsby-remark-autolink-headers (https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-remark-autolink-headers) */
|
|
11
11
|
const utils_1 = require("@docusaurus/utils");
|
|
12
12
|
const unist_util_visit_1 = tslib_1.__importDefault(require("unist-util-visit"));
|
|
13
|
-
const mdast_util_to_string_1 = tslib_1.__importDefault(require("mdast-util-to-string"));
|
|
14
13
|
function plugin() {
|
|
15
|
-
return (root) => {
|
|
14
|
+
return async (root) => {
|
|
15
|
+
const { toString } = await import('mdast-util-to-string');
|
|
16
16
|
const slugs = (0, utils_1.createSlugger)();
|
|
17
17
|
(0, unist_util_visit_1.default)(root, 'heading', (headingNode) => {
|
|
18
18
|
const data = headingNode.data ?? (headingNode.data = {});
|
|
@@ -23,7 +23,7 @@ function plugin() {
|
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
25
|
const headingTextNodes = headingNode.children.filter(({ type }) => !['html', 'jsx'].includes(type));
|
|
26
|
-
const heading = (
|
|
26
|
+
const heading = toString(headingTextNodes.length > 0 ? headingTextNodes : headingNode);
|
|
27
27
|
// Support explicit heading IDs
|
|
28
28
|
const parsedHeading = (0, utils_1.parseMarkdownHeadingId)(heading);
|
|
29
29
|
id = parsedHeading.id ?? slugs.slug(heading);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/headings/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,gMAAgM;AAEhM,6CAAwE;AACxE,gFAAqC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/headings/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,gMAAgM;AAEhM,6CAAwE;AACxE,gFAAqC;AAKrC,SAAwB,MAAM;IAC5B,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,MAAM,EAAC,QAAQ,EAAC,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,IAAA,qBAAa,GAAE,CAAC;QAC9B,IAAA,0BAAK,EAAC,IAAI,EAAE,SAAS,EAAE,CAAC,WAAoB,EAAE,EAAE;YAC9C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAE9D,CAAC;YACF,IAAI,EAAC,EAAE,EAAC,GAAG,UAAU,CAAC;YAEtB,IAAI,EAAE,EAAE;gBACN,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC,YAAY,EAAE,IAAI,EAAC,CAAC,CAAC;aAC3C;iBAAM;gBACL,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAClD,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC5C,CAAC;gBACF,MAAM,OAAO,GAAG,QAAQ,CACtB,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAC7D,CAAC;gBAEF,+BAA+B;gBAC/B,MAAM,aAAa,GAAG,IAAA,8BAAsB,EAAC,OAAO,CAAC,CAAC;gBAEtD,EAAE,GAAG,aAAa,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAE7C,IAAI,aAAa,CAAC,EAAE,EAAE;oBACpB,0DAA0D;oBAC1D,sEAAsE;oBACtE,SAAS;oBACT,+BAA+B;oBAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CACnC,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CACxB,CAAC;oBAEV,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;wBACnC,MAAM,YAAY,GAAG,IAAA,8BAAsB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;wBACjE,iDAAiD;wBACjD,IAAI,YAAY,EAAE;4BAChB,QAAQ,CAAC,KAAK,GAAG,YAAY,CAAC;yBAC/B;wBACD,mEAAmE;6BAC9D;4BACH,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;yBAC5B;qBACF;yBAAM;wBACL,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC;qBACrC;iBACF;aACF;YAED,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAxDD,yBAwDC"}
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import type { Transformer, Processor } from 'unified';
|
|
8
|
-
export default function
|
|
9
|
-
//# sourceMappingURL=
|
|
8
|
+
export default function codeCompatPlugin(this: Processor): Transformer;
|
|
9
|
+
//# sourceMappingURL=codeCompatPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codeCompatPlugin.d.ts","sourceRoot":"","sources":["../../../src/remark/mdx1Compat/codeCompatPlugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAC,WAAW,EAAE,SAAS,EAAC,MAAM,SAAS,CAAC;AAUpD,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,CAgBrE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const tslib_1 = require("tslib");
|
|
10
|
+
const unist_util_visit_1 = tslib_1.__importDefault(require("unist-util-visit"));
|
|
11
|
+
// Solution inspired by https://github.com/pomber/docusaurus-mdx-2/blob/main/packages/mdx-loader/src/remark/codeCompat/index.ts
|
|
12
|
+
// TODO after MDX 2 we probably don't need this - remove soon?
|
|
13
|
+
// Only fenced code blocks are swapped by pre/code MDX components
|
|
14
|
+
// Using <pre><code> in JSX shouldn't use our MDX components anymore
|
|
15
|
+
// To make theme-classic/src/theme/MDXComponents/Pre work
|
|
16
|
+
// we need to fill two properties that mdx v2 doesn't provide anymore
|
|
17
|
+
function codeCompatPlugin() {
|
|
18
|
+
return (root) => {
|
|
19
|
+
(0, unist_util_visit_1.default)(root, 'code', (node) => {
|
|
20
|
+
node.data = node.data || {};
|
|
21
|
+
node.data.hProperties = node.data.hProperties || {};
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
23
|
+
node.data.hProperties.metastring = node.meta;
|
|
24
|
+
// Retrocompatible support for live codeblock metastring
|
|
25
|
+
// Not really the appropriate place to handle that :s
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
27
|
+
node.data.hProperties.live = node.meta
|
|
28
|
+
?.split(' ')
|
|
29
|
+
.includes('live');
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
exports.default = codeCompatPlugin;
|
|
34
|
+
//# sourceMappingURL=codeCompatPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codeCompatPlugin.js","sourceRoot":"","sources":["../../../src/remark/mdx1Compat/codeCompatPlugin.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,gFAAqC;AAKrC,+HAA+H;AAC/H,8DAA8D;AAC9D,iEAAiE;AACjE,oEAAoE;AAEpE,yDAAyD;AACzD,qEAAqE;AACrE,SAAwB,gBAAgB;IACtC,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAA,0BAAK,EAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAU,EAAE,EAAE;YACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;YACpD,8DAA8D;YAC7D,IAAI,CAAC,IAAI,CAAC,WAAmB,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;YAEtD,wDAAwD;YACxD,qDAAqD;YACrD,8DAA8D;YAC7D,IAAI,CAAC,IAAI,CAAC,WAAmB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;gBAC7C,EAAE,KAAK,CAAC,GAAG,CAAC;iBACX,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAhBD,mCAgBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/mermaid/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/mermaid/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAOzC,MAAM,CAAC,OAAO,UAAU,MAAM,IAAI,WAAW,CAiB5C"}
|
|
@@ -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) {
|