fumadocs-core 16.4.0 → 16.4.2
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/dist/advanced-BRT5Ij43.js +80 -0
- package/dist/advanced-BRT5Ij43.js.map +1 -0
- package/dist/algolia-CBBN8R6-.d.ts +68 -0
- package/dist/algolia-CBBN8R6-.d.ts.map +1 -0
- package/dist/algolia-CQPXCnjV.js +49 -0
- package/dist/algolia-CQPXCnjV.js.map +1 -0
- package/dist/breadcrumb.d.ts +29 -27
- package/dist/breadcrumb.d.ts.map +1 -0
- package/dist/breadcrumb.js +55 -72
- package/dist/breadcrumb.js.map +1 -0
- package/dist/chunk-B-ezknvj.js +42 -0
- package/dist/codeblock-utils-lld8UiQo.d.ts +37 -0
- package/dist/codeblock-utils-lld8UiQo.d.ts.map +1 -0
- package/dist/content/github.d.ts +43 -32
- package/dist/content/github.d.ts.map +1 -0
- package/dist/content/github.js +29 -43
- package/dist/content/github.js.map +1 -0
- package/dist/content/index.d.ts +20 -13
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +17 -23
- package/dist/content/index.js.map +1 -0
- package/dist/content/mdx/preset-bundler.d.ts +22 -24
- package/dist/content/mdx/preset-bundler.d.ts.map +1 -0
- package/dist/content/mdx/preset-bundler.js +38 -69
- package/dist/content/mdx/preset-bundler.js.map +1 -0
- package/dist/content/mdx/preset-runtime.d.ts +22 -24
- package/dist/content/mdx/preset-runtime.d.ts.map +1 -0
- package/dist/content/mdx/preset-runtime.js +36 -68
- package/dist/content/mdx/preset-runtime.js.map +1 -0
- package/dist/content/toc.d.ts +7 -6
- package/dist/content/toc.d.ts.map +1 -0
- package/dist/content/toc.js +15 -19
- package/dist/content/toc.js.map +1 -0
- package/dist/definitions-DuxDer_c.d.ts +62 -0
- package/dist/definitions-DuxDer_c.d.ts.map +1 -0
- package/dist/dynamic-link.d.ts +7 -5
- package/dist/dynamic-link.d.ts.map +1 -0
- package/dist/dynamic-link.js +29 -27
- package/dist/dynamic-link.js.map +1 -0
- package/dist/fetch-B5e9CFfN.js +20 -0
- package/dist/fetch-B5e9CFfN.js.map +1 -0
- package/dist/framework/index.d.ts +38 -29
- package/dist/framework/index.d.ts.map +1 -0
- package/dist/framework/index.js +68 -17
- package/dist/framework/index.js.map +1 -0
- package/dist/framework/next.d.ts +15 -10
- package/dist/framework/next.d.ts.map +1 -0
- package/dist/framework/next.js +18 -26
- package/dist/framework/next.js.map +1 -0
- package/dist/framework/react-router.d.ts +15 -10
- package/dist/framework/react-router.d.ts.map +1 -0
- package/dist/framework/react-router.js +42 -55
- package/dist/framework/react-router.js.map +1 -0
- package/dist/framework/tanstack.d.ts +15 -10
- package/dist/framework/tanstack.d.ts.map +1 -0
- package/dist/framework/tanstack.js +54 -69
- package/dist/framework/tanstack.js.map +1 -0
- package/dist/framework/waku.d.ts +15 -10
- package/dist/framework/waku.d.ts.map +1 -0
- package/dist/framework/waku.js +47 -58
- package/dist/framework/waku.js.map +1 -0
- package/dist/highlight/client.d.ts +6 -7
- package/dist/highlight/client.d.ts.map +1 -0
- package/dist/highlight/client.js +22 -14
- package/dist/highlight/client.js.map +1 -0
- package/dist/highlight/index.d.ts +2 -30
- package/dist/highlight/index.js +3 -13
- package/dist/i18n/index.d.ts +2 -39
- package/dist/i18n/index.js +6 -7
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/middleware.d.ts +36 -28
- package/dist/i18n/middleware.d.ts.map +1 -0
- package/dist/i18n/middleware.js +55 -73
- package/dist/i18n/middleware.js.map +1 -0
- package/dist/icon-Dt7IObrc.js +19 -0
- package/dist/icon-Dt7IObrc.js.map +1 -0
- package/dist/index-2U6Tl4--.d.ts +379 -0
- package/dist/index-2U6Tl4--.d.ts.map +1 -0
- package/dist/index-Bw-DCOra.d.ts +41 -0
- package/dist/index-Bw-DCOra.d.ts.map +1 -0
- package/dist/link.d.ts +17 -15
- package/dist/link.d.ts.map +1 -0
- package/dist/link.js +29 -9
- package/dist/link.js.map +1 -0
- package/dist/mdast-utils-mc9-X-PK.js +40 -0
- package/dist/mdast-utils-mc9-X-PK.js.map +1 -0
- package/dist/mdx-plugins/codeblock-utils.d.ts +2 -29
- package/dist/mdx-plugins/codeblock-utils.js +71 -9
- package/dist/mdx-plugins/codeblock-utils.js.map +1 -0
- package/dist/mdx-plugins/index.d.ts +15 -20
- package/dist/mdx-plugins/index.js +18 -73
- package/dist/mdx-plugins/rehype-code.d.ts +2 -55
- package/dist/mdx-plugins/rehype-code.js +5 -15
- package/dist/mdx-plugins/rehype-toc.d.ts +2 -14
- package/dist/mdx-plugins/rehype-toc.js +3 -7
- package/dist/mdx-plugins/remark-admonition.d.ts +2 -20
- package/dist/mdx-plugins/remark-admonition.js +74 -8
- package/dist/mdx-plugins/remark-admonition.js.map +1 -0
- package/dist/mdx-plugins/remark-code-tab.d.ts +2 -30
- package/dist/mdx-plugins/remark-code-tab.js +183 -7
- package/dist/mdx-plugins/remark-code-tab.js.map +1 -0
- package/dist/mdx-plugins/remark-directive-admonition.d.ts +2 -27
- package/dist/mdx-plugins/remark-directive-admonition.js +60 -7
- package/dist/mdx-plugins/remark-directive-admonition.js.map +1 -0
- package/dist/mdx-plugins/remark-gfm.d.ts +2 -1
- package/dist/mdx-plugins/remark-gfm.js +3 -7
- package/dist/mdx-plugins/remark-heading.d.ts +2 -31
- package/dist/mdx-plugins/remark-heading.js +45 -8
- package/dist/mdx-plugins/remark-heading.js.map +1 -0
- package/dist/mdx-plugins/remark-image.d.ts +2 -57
- package/dist/mdx-plugins/remark-image.js +192 -7
- package/dist/mdx-plugins/remark-image.js.map +1 -0
- package/dist/mdx-plugins/remark-mdx-files.d.ts +2 -40
- package/dist/mdx-plugins/remark-mdx-files.js +187 -7
- package/dist/mdx-plugins/remark-mdx-files.js.map +1 -0
- package/dist/mdx-plugins/remark-mdx-mermaid.d.ts +2 -15
- package/dist/mdx-plugins/remark-mdx-mermaid.js +31 -7
- package/dist/mdx-plugins/remark-mdx-mermaid.js.map +1 -0
- package/dist/mdx-plugins/remark-npm.d.ts +2 -31
- package/dist/mdx-plugins/remark-npm.js +68 -8
- package/dist/mdx-plugins/remark-npm.js.map +1 -0
- package/dist/mdx-plugins/remark-steps.d.ts +2 -23
- package/dist/mdx-plugins/remark-steps.js +77 -7
- package/dist/mdx-plugins/remark-steps.js.map +1 -0
- package/dist/mdx-plugins/remark-structure.d.ts +2 -71
- package/dist/mdx-plugins/remark-structure.js +105 -11
- package/dist/mdx-plugins/remark-structure.js.map +1 -0
- package/dist/mixedbread-DlByNYSd.js +88 -0
- package/dist/mixedbread-DlByNYSd.js.map +1 -0
- package/dist/negotiation/index.d.ts +6 -4
- package/dist/negotiation/index.d.ts.map +1 -0
- package/dist/negotiation/index.js +41 -11
- package/dist/negotiation/index.js.map +1 -0
- package/dist/normalize-url-DP9-1I-S.js +16 -0
- package/dist/normalize-url-DP9-1I-S.js.map +1 -0
- package/dist/orama-cloud-DH3g37zc.js +84 -0
- package/dist/orama-cloud-DH3g37zc.js.map +1 -0
- package/dist/page-tree/index.d.ts +23 -11
- package/dist/page-tree/index.d.ts.map +1 -0
- package/dist/page-tree/index.js +3 -17
- package/dist/path-DHIjrDBP.js +60 -0
- package/dist/path-DHIjrDBP.js.map +1 -0
- package/dist/rehype-code-CdiZ1Y6P.js +241 -0
- package/dist/rehype-code-CdiZ1Y6P.js.map +1 -0
- package/dist/rehype-code-vVWG4-ej.d.ts +58 -0
- package/dist/rehype-code-vVWG4-ej.d.ts.map +1 -0
- package/dist/rehype-toc-DJvSyE0o.d.ts +18 -0
- package/dist/rehype-toc-DJvSyE0o.d.ts.map +1 -0
- package/dist/rehype-toc-DVwJcwvA.js +143 -0
- package/dist/rehype-toc-DVwJcwvA.js.map +1 -0
- package/dist/remark-admonition-DOwBWzsH.d.ts +22 -0
- package/dist/remark-admonition-DOwBWzsH.d.ts.map +1 -0
- package/dist/remark-code-tab-CXsYlims.d.ts +32 -0
- package/dist/remark-code-tab-CXsYlims.d.ts.map +1 -0
- package/dist/remark-directive-admonition-BCm_yiU9.d.ts +36 -0
- package/dist/remark-directive-admonition-BCm_yiU9.d.ts.map +1 -0
- package/dist/remark-gfm-CeWpMwyk.d.ts +2 -0
- package/dist/remark-heading-CXvCY0go.d.ts +37 -0
- package/dist/remark-heading-CXvCY0go.d.ts.map +1 -0
- package/dist/remark-image-CvUis4R1.d.ts +65 -0
- package/dist/remark-image-CvUis4R1.d.ts.map +1 -0
- package/dist/remark-mdx-files-B31xFFG4.d.ts +56 -0
- package/dist/remark-mdx-files-B31xFFG4.d.ts.map +1 -0
- package/dist/remark-mdx-mermaid-BdSUUiCG.d.ts +17 -0
- package/dist/remark-mdx-mermaid-BdSUUiCG.d.ts.map +1 -0
- package/dist/remark-npm-BIvIEKT2.d.ts +36 -0
- package/dist/remark-npm-BIvIEKT2.d.ts.map +1 -0
- package/dist/remark-steps-CHJN-rtm.d.ts +28 -0
- package/dist/remark-steps-CHJN-rtm.d.ts.map +1 -0
- package/dist/remark-structure-RZD2gGKp.d.ts +77 -0
- package/dist/remark-structure-RZD2gGKp.d.ts.map +1 -0
- package/dist/remove-undefined-Cfs4o_mM.js +19 -0
- package/dist/remove-undefined-Cfs4o_mM.js.map +1 -0
- package/dist/search/algolia.d.ts +3 -69
- package/dist/search/algolia.js +69 -63
- package/dist/search/algolia.js.map +1 -0
- package/dist/search/client.d.ts +120 -114
- package/dist/search/client.d.ts.map +1 -0
- package/dist/search/client.js +92 -91
- package/dist/search/client.js.map +1 -0
- package/dist/search/index.d.ts +20 -18
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +3 -7
- package/dist/search/orama-cloud.d.ts +70 -68
- package/dist/search/orama-cloud.d.ts.map +1 -0
- package/dist/search/orama-cloud.js +46 -54
- package/dist/search/orama-cloud.js.map +1 -0
- package/dist/search/server.d.ts +6 -136
- package/dist/search/server.js +292 -369
- package/dist/search/server.js.map +1 -0
- package/dist/search-D6ChCLhY.js +44 -0
- package/dist/search-D6ChCLhY.js.map +1 -0
- package/dist/server-CPR_fgkH.d.ts +133 -0
- package/dist/server-CPR_fgkH.d.ts.map +1 -0
- package/dist/shiki-4oMYwHED.js +80 -0
- package/dist/shiki-4oMYwHED.js.map +1 -0
- package/dist/shiki-CIBQys54.d.ts +33 -0
- package/dist/shiki-CIBQys54.d.ts.map +1 -0
- package/dist/source/client/index.d.ts +7 -5
- package/dist/source/client/index.d.ts.map +1 -0
- package/dist/source/client/index.js +24 -35
- package/dist/source/client/index.js.map +1 -0
- package/dist/source/index.d.ts +3 -42
- package/dist/source/index.js +599 -752
- package/dist/source/index.js.map +1 -0
- package/dist/source/plugins/lucide-icons.d.ts +7 -7
- package/dist/source/plugins/lucide-icons.d.ts.map +1 -0
- package/dist/source/plugins/lucide-icons.js +21 -20
- package/dist/source/plugins/lucide-icons.js.map +1 -0
- package/dist/source/plugins/slugs.d.ts +3 -0
- package/dist/source/plugins/slugs.js +65 -0
- package/dist/source/plugins/slugs.js.map +1 -0
- package/dist/source/schema.d.ts +17 -14
- package/dist/source/schema.d.ts.map +1 -0
- package/dist/source/schema.js +26 -22
- package/dist/source/schema.js.map +1 -0
- package/dist/static-Dq8pA8Ay.js +51 -0
- package/dist/static-Dq8pA8Ay.js.map +1 -0
- package/dist/toc.d.ts +38 -25
- package/dist/toc.d.ts.map +1 -0
- package/dist/toc.js +123 -136
- package/dist/toc.js.map +1 -0
- package/dist/util-CK2ykiif.d.ts +8 -0
- package/dist/util-CK2ykiif.d.ts.map +1 -0
- package/dist/util-s9piKHsk.js +10 -0
- package/dist/util-s9piKHsk.js.map +1 -0
- package/dist/utils/use-effect-event.d.ts +3 -1
- package/dist/utils/use-effect-event.d.ts.map +1 -0
- package/dist/utils/use-effect-event.js +16 -13
- package/dist/utils/use-effect-event.js.map +1 -0
- package/dist/utils/use-media-query.d.ts +3 -1
- package/dist/utils/use-media-query.d.ts.map +1 -0
- package/dist/utils/use-media-query.js +20 -20
- package/dist/utils/use-media-query.js.map +1 -0
- package/dist/utils/use-on-change.d.ts +3 -1
- package/dist/utils/use-on-change.d.ts.map +1 -0
- package/dist/utils/use-on-change.js +23 -7
- package/dist/utils/use-on-change.js.map +1 -0
- package/dist/utils-DUvi2WkD.js +134 -0
- package/dist/utils-DUvi2WkD.js.map +1 -0
- package/package.json +60 -58
- package/dist/algolia-IZEDLPHE.js +0 -58
- package/dist/chunk-5PMI7QDD.js +0 -220
- package/dist/chunk-ADBHPKXG.js +0 -78
- package/dist/chunk-APKPSBSB.js +0 -74
- package/dist/chunk-CH7YHH7V.js +0 -222
- package/dist/chunk-EFVXL2PP.js +0 -144
- package/dist/chunk-EMWGTXSW.js +0 -19
- package/dist/chunk-FAEPKD7U.js +0 -20
- package/dist/chunk-FUUVPEA5.js +0 -29
- package/dist/chunk-GINBKBVQ.js +0 -12
- package/dist/chunk-GLRQBLGN.js +0 -59
- package/dist/chunk-JUF4WZ6G.js +0 -117
- package/dist/chunk-K4WNLOVQ.js +0 -75
- package/dist/chunk-L4JKQWCM.js +0 -131
- package/dist/chunk-MA6O2UUE.js +0 -50
- package/dist/chunk-ONG4RVCR.js +0 -8
- package/dist/chunk-OTD7MV33.js +0 -53
- package/dist/chunk-PFNP6PEB.js +0 -11
- package/dist/chunk-SH7BNTG7.js +0 -38
- package/dist/chunk-TWIDBWFG.js +0 -84
- package/dist/chunk-U67V476Y.js +0 -35
- package/dist/chunk-VLSDGCJE.js +0 -47
- package/dist/chunk-W6WTLKRA.js +0 -73
- package/dist/chunk-X2HFD5QJ.js +0 -275
- package/dist/chunk-XJ6ZQNEX.js +0 -91
- package/dist/chunk-XN2LKXFZ.js +0 -101
- package/dist/chunk-XOFXGHS4.js +0 -93
- package/dist/chunk-XZSI7AHE.js +0 -67
- package/dist/chunk-YVVDKJ2H.js +0 -34
- package/dist/chunk-ZMWYLUDP.js +0 -21
- package/dist/definitions-pJ7PybYY.d.ts +0 -60
- package/dist/fetch-IBTWQCJR.js +0 -22
- package/dist/loader-_E2HOdV0.d.ts +0 -333
- package/dist/mixedbread-A3WLENES.js +0 -117
- package/dist/orama-cloud-UZAPMPFV.js +0 -93
- package/dist/static-A2YJ5TXV.js +0 -62
- package/dist/util-bZU2QeJ2.d.ts +0 -6
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { toEstree } from "hast-util-to-estree";
|
|
2
|
+
|
|
3
|
+
//#region src/mdx-plugins/hast-utils.ts
|
|
4
|
+
/**
|
|
5
|
+
* Visit a node with filtered tag names
|
|
6
|
+
*/
|
|
7
|
+
function visit(node, tagNames, handler) {
|
|
8
|
+
if (node.type === "element" && tagNames.includes(node.tagName)) {
|
|
9
|
+
if (handler(node) === "skip") return;
|
|
10
|
+
}
|
|
11
|
+
if ("children" in node) node.children.forEach((n) => {
|
|
12
|
+
visit(n, tagNames, handler);
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/mdx-plugins/rehype-toc.ts
|
|
18
|
+
const TocOnlyTag = "[toc]";
|
|
19
|
+
const NoTocTag = "[!toc]";
|
|
20
|
+
function rehypeToc({ exportToc = true } = {}) {
|
|
21
|
+
return (tree) => {
|
|
22
|
+
const output = [];
|
|
23
|
+
visit(tree, [
|
|
24
|
+
"h1",
|
|
25
|
+
"h2",
|
|
26
|
+
"h3",
|
|
27
|
+
"h4",
|
|
28
|
+
"h5",
|
|
29
|
+
"h6"
|
|
30
|
+
], (element) => {
|
|
31
|
+
const id = element.properties.id;
|
|
32
|
+
if (typeof id !== "string") return "skip";
|
|
33
|
+
let isTocOnly = false;
|
|
34
|
+
const last = element.children.at(-1);
|
|
35
|
+
if (last?.type === "text" && last.value.endsWith(TocOnlyTag)) {
|
|
36
|
+
isTocOnly = true;
|
|
37
|
+
last.value = last.value.substring(0, last.value.length - 5).trimEnd();
|
|
38
|
+
} else if (last?.type === "text" && last.value.endsWith(NoTocTag)) {
|
|
39
|
+
last.value = last.value.substring(0, last.value.length - 6).trimEnd();
|
|
40
|
+
return "skip";
|
|
41
|
+
}
|
|
42
|
+
const estree = toEstree(element, {
|
|
43
|
+
elementAttributeNameCase: "react",
|
|
44
|
+
stylePropertyNameCase: "dom"
|
|
45
|
+
});
|
|
46
|
+
if (estree.body[0].type === "ExpressionStatement") output.push({
|
|
47
|
+
title: estree.body[0].expression,
|
|
48
|
+
depth: Number(element.tagName.slice(1)),
|
|
49
|
+
url: `#${id}`
|
|
50
|
+
});
|
|
51
|
+
if (isTocOnly) Object.assign(element, {
|
|
52
|
+
type: "comment",
|
|
53
|
+
value: ""
|
|
54
|
+
});
|
|
55
|
+
return "skip";
|
|
56
|
+
});
|
|
57
|
+
const declaration = {
|
|
58
|
+
type: "VariableDeclaration",
|
|
59
|
+
kind: "const",
|
|
60
|
+
declarations: [{
|
|
61
|
+
type: "VariableDeclarator",
|
|
62
|
+
id: {
|
|
63
|
+
type: "Identifier",
|
|
64
|
+
name: "toc"
|
|
65
|
+
},
|
|
66
|
+
init: {
|
|
67
|
+
type: "ArrayExpression",
|
|
68
|
+
elements: output.map((item) => ({
|
|
69
|
+
type: "ObjectExpression",
|
|
70
|
+
properties: [
|
|
71
|
+
{
|
|
72
|
+
type: "Property",
|
|
73
|
+
method: false,
|
|
74
|
+
shorthand: false,
|
|
75
|
+
computed: false,
|
|
76
|
+
key: {
|
|
77
|
+
type: "Identifier",
|
|
78
|
+
name: "depth"
|
|
79
|
+
},
|
|
80
|
+
value: {
|
|
81
|
+
type: "Literal",
|
|
82
|
+
value: item.depth
|
|
83
|
+
},
|
|
84
|
+
kind: "init"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
type: "Property",
|
|
88
|
+
method: false,
|
|
89
|
+
shorthand: false,
|
|
90
|
+
computed: false,
|
|
91
|
+
key: {
|
|
92
|
+
type: "Identifier",
|
|
93
|
+
name: "url"
|
|
94
|
+
},
|
|
95
|
+
value: {
|
|
96
|
+
type: "Literal",
|
|
97
|
+
value: item.url
|
|
98
|
+
},
|
|
99
|
+
kind: "init"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: "Property",
|
|
103
|
+
method: false,
|
|
104
|
+
shorthand: false,
|
|
105
|
+
computed: false,
|
|
106
|
+
key: {
|
|
107
|
+
type: "Identifier",
|
|
108
|
+
name: "title"
|
|
109
|
+
},
|
|
110
|
+
value: {
|
|
111
|
+
type: "JSXFragment",
|
|
112
|
+
openingFragment: { type: "JSXOpeningFragment" },
|
|
113
|
+
closingFragment: { type: "JSXClosingFragment" },
|
|
114
|
+
children: item.title.children
|
|
115
|
+
},
|
|
116
|
+
kind: "init"
|
|
117
|
+
}
|
|
118
|
+
]
|
|
119
|
+
}))
|
|
120
|
+
}
|
|
121
|
+
}]
|
|
122
|
+
};
|
|
123
|
+
tree.children.push({
|
|
124
|
+
type: "mdxjsEsm",
|
|
125
|
+
value: "",
|
|
126
|
+
data: { estree: {
|
|
127
|
+
type: "Program",
|
|
128
|
+
body: [exportToc ? {
|
|
129
|
+
type: "ExportNamedDeclaration",
|
|
130
|
+
declaration,
|
|
131
|
+
attributes: [],
|
|
132
|
+
specifiers: []
|
|
133
|
+
} : declaration],
|
|
134
|
+
sourceType: "module",
|
|
135
|
+
comments: []
|
|
136
|
+
} }
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
//#endregion
|
|
142
|
+
export { rehypeToc as t };
|
|
143
|
+
//# sourceMappingURL=rehype-toc-DVwJcwvA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rehype-toc-DVwJcwvA.js","names":["output: {\n title: JSXElement;\n url: string;\n depth: number;\n }[]","declaration: Declaration"],"sources":["../src/mdx-plugins/hast-utils.ts","../src/mdx-plugins/rehype-toc.ts"],"sourcesContent":["import type { Element, Root, RootContent } from 'hast';\n\n/**\n * Visit a node with filtered tag names\n */\nexport function visit(\n node: RootContent | Root,\n tagNames: string[],\n handler: (node: Element) => 'skip' | undefined,\n): void {\n if (node.type === 'element' && tagNames.includes(node.tagName)) {\n const result = handler(node);\n if (result === 'skip') return;\n }\n\n if ('children' in node)\n node.children.forEach((n) => {\n visit(n, tagNames, handler);\n });\n}\n","import type { Processor, Transformer } from 'unified';\nimport type { Root, RootContent } from 'hast';\nimport { toEstree } from 'hast-util-to-estree';\nimport type { Declaration, JSXElement } from 'estree-jsx';\nimport { visit } from '@/mdx-plugins/hast-utils';\n\nexport interface RehypeTocOptions {\n /**\n * Export generated toc as a variable\n *\n * @defaultValue true\n */\n exportToc?: boolean;\n}\n\nconst TocOnlyTag = '[toc]';\nconst NoTocTag = '[!toc]';\n\nexport function rehypeToc(\n this: Processor,\n { exportToc = true }: RehypeTocOptions = {},\n): Transformer<Root, Root> {\n return (tree) => {\n const output: {\n title: JSXElement;\n url: string;\n depth: number;\n }[] = [];\n\n visit(tree, ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'], (element) => {\n const id = element.properties.id;\n if (typeof id !== 'string') return 'skip';\n let isTocOnly = false;\n\n const last = element.children.at(-1);\n if (last?.type === 'text' && last.value.endsWith(TocOnlyTag)) {\n isTocOnly = true;\n last.value = last.value.substring(0, last.value.length - TocOnlyTag.length).trimEnd();\n } else if (last?.type === 'text' && last.value.endsWith(NoTocTag)) {\n last.value = last.value.substring(0, last.value.length - NoTocTag.length).trimEnd();\n return 'skip';\n }\n\n const estree = toEstree(element, {\n elementAttributeNameCase: 'react',\n stylePropertyNameCase: 'dom',\n });\n\n if (estree.body[0].type === 'ExpressionStatement')\n output.push({\n title: estree.body[0].expression as unknown as JSXElement,\n depth: Number(element.tagName.slice(1)),\n url: `#${id}`,\n });\n\n if (isTocOnly) {\n Object.assign(element, {\n type: 'comment',\n value: '',\n } satisfies RootContent);\n }\n\n return 'skip';\n });\n\n const declaration: Declaration = {\n type: 'VariableDeclaration',\n kind: 'const',\n declarations: [\n {\n type: 'VariableDeclarator',\n id: {\n type: 'Identifier',\n name: 'toc',\n },\n init: {\n type: 'ArrayExpression',\n elements: output.map((item) => ({\n type: 'ObjectExpression',\n properties: [\n {\n type: 'Property',\n method: false,\n shorthand: false,\n computed: false,\n key: {\n type: 'Identifier',\n name: 'depth',\n },\n value: {\n type: 'Literal',\n value: item.depth,\n },\n kind: 'init',\n },\n {\n type: 'Property',\n method: false,\n shorthand: false,\n computed: false,\n key: {\n type: 'Identifier',\n name: 'url',\n },\n value: {\n type: 'Literal',\n value: item.url,\n },\n kind: 'init',\n },\n {\n type: 'Property',\n method: false,\n shorthand: false,\n computed: false,\n key: {\n type: 'Identifier',\n name: 'title',\n },\n value: {\n type: 'JSXFragment',\n openingFragment: { type: 'JSXOpeningFragment' },\n closingFragment: { type: 'JSXClosingFragment' },\n children: item.title.children,\n },\n kind: 'init',\n },\n ],\n })),\n },\n },\n ],\n };\n\n tree.children.push({\n type: 'mdxjsEsm',\n value: '',\n data: {\n estree: {\n type: 'Program',\n body: [\n exportToc\n ? {\n type: 'ExportNamedDeclaration',\n declaration,\n attributes: [],\n specifiers: [],\n }\n : declaration,\n ],\n sourceType: 'module',\n comments: [],\n },\n },\n } satisfies RootContent);\n };\n}\n"],"mappings":";;;;;;AAKA,SAAgB,MACd,MACA,UACA,SACM;AACN,KAAI,KAAK,SAAS,aAAa,SAAS,SAAS,KAAK,QAAQ,EAE5D;MADe,QAAQ,KAAK,KACb,OAAQ;;AAGzB,KAAI,cAAc,KAChB,MAAK,SAAS,SAAS,MAAM;AAC3B,QAAM,GAAG,UAAU,QAAQ;GAC3B;;;;;ACHN,MAAM,aAAa;AACnB,MAAM,WAAW;AAEjB,SAAgB,UAEd,EAAE,YAAY,SAA2B,EAAE,EAClB;AACzB,SAAQ,SAAS;EACf,MAAMA,SAIA,EAAE;AAER,QAAM,MAAM;GAAC;GAAM;GAAM;GAAM;GAAM;GAAM;GAAK,GAAG,YAAY;GAC7D,MAAM,KAAK,QAAQ,WAAW;AAC9B,OAAI,OAAO,OAAO,SAAU,QAAO;GACnC,IAAI,YAAY;GAEhB,MAAM,OAAO,QAAQ,SAAS,GAAG,GAAG;AACpC,OAAI,MAAM,SAAS,UAAU,KAAK,MAAM,SAAS,WAAW,EAAE;AAC5D,gBAAY;AACZ,SAAK,QAAQ,KAAK,MAAM,UAAU,GAAG,KAAK,MAAM,SAAS,EAAkB,CAAC,SAAS;cAC5E,MAAM,SAAS,UAAU,KAAK,MAAM,SAAS,SAAS,EAAE;AACjE,SAAK,QAAQ,KAAK,MAAM,UAAU,GAAG,KAAK,MAAM,SAAS,EAAgB,CAAC,SAAS;AACnF,WAAO;;GAGT,MAAM,SAAS,SAAS,SAAS;IAC/B,0BAA0B;IAC1B,uBAAuB;IACxB,CAAC;AAEF,OAAI,OAAO,KAAK,GAAG,SAAS,sBAC1B,QAAO,KAAK;IACV,OAAO,OAAO,KAAK,GAAG;IACtB,OAAO,OAAO,QAAQ,QAAQ,MAAM,EAAE,CAAC;IACvC,KAAK,IAAI;IACV,CAAC;AAEJ,OAAI,UACF,QAAO,OAAO,SAAS;IACrB,MAAM;IACN,OAAO;IACR,CAAuB;AAG1B,UAAO;IACP;EAEF,MAAMC,cAA2B;GAC/B,MAAM;GACN,MAAM;GACN,cAAc,CACZ;IACE,MAAM;IACN,IAAI;KACF,MAAM;KACN,MAAM;KACP;IACD,MAAM;KACJ,MAAM;KACN,UAAU,OAAO,KAAK,UAAU;MAC9B,MAAM;MACN,YAAY;OACV;QACE,MAAM;QACN,QAAQ;QACR,WAAW;QACX,UAAU;QACV,KAAK;SACH,MAAM;SACN,MAAM;SACP;QACD,OAAO;SACL,MAAM;SACN,OAAO,KAAK;SACb;QACD,MAAM;QACP;OACD;QACE,MAAM;QACN,QAAQ;QACR,WAAW;QACX,UAAU;QACV,KAAK;SACH,MAAM;SACN,MAAM;SACP;QACD,OAAO;SACL,MAAM;SACN,OAAO,KAAK;SACb;QACD,MAAM;QACP;OACD;QACE,MAAM;QACN,QAAQ;QACR,WAAW;QACX,UAAU;QACV,KAAK;SACH,MAAM;SACN,MAAM;SACP;QACD,OAAO;SACL,MAAM;SACN,iBAAiB,EAAE,MAAM,sBAAsB;SAC/C,iBAAiB,EAAE,MAAM,sBAAsB;SAC/C,UAAU,KAAK,MAAM;SACtB;QACD,MAAM;QACP;OACF;MACF,EAAE;KACJ;IACF,CACF;GACF;AAED,OAAK,SAAS,KAAK;GACjB,MAAM;GACN,OAAO;GACP,MAAM,EACJ,QAAQ;IACN,MAAM;IACN,MAAM,CACJ,YACI;KACE,MAAM;KACN;KACA,YAAY,EAAE;KACd,YAAY,EAAE;KACf,GACD,YACL;IACD,YAAY;IACZ,UAAU,EAAE;IACb,EACF;GACF,CAAuB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Transformer } from "unified";
|
|
2
|
+
import { Root } from "mdast";
|
|
3
|
+
|
|
4
|
+
//#region src/mdx-plugins/remark-admonition.d.ts
|
|
5
|
+
interface RemarkAdmonitionOptions {
|
|
6
|
+
tag?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Map type to another type
|
|
9
|
+
*/
|
|
10
|
+
typeMap?: Record<string, string>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Remark Plugin to support Admonition syntax
|
|
14
|
+
*
|
|
15
|
+
* Useful when Migrating from Docusaurus
|
|
16
|
+
*
|
|
17
|
+
* @deprecated Use `remarkDirectiveAdmonition` with `remark-directive` configured instead.
|
|
18
|
+
*/
|
|
19
|
+
declare function remarkAdmonition(options?: RemarkAdmonitionOptions): Transformer<Root, Root>;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { remarkAdmonition as n, RemarkAdmonitionOptions as t };
|
|
22
|
+
//# sourceMappingURL=remark-admonition-DOwBWzsH.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remark-admonition-DOwBWzsH.d.ts","names":[],"sources":["../src/mdx-plugins/remark-admonition.ts"],"sourcesContent":[],"mappings":";;;;UAKiB,uBAAA;;EAAA;AAgBjB;;EAAqF,OAAA,CAAA,EAVzE,MAUyE,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;iBAArE,gBAAA,WAA0B,0BAA+B,YAAY,MAAM"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Processor, Transformer } from "unified";
|
|
2
|
+
import { Code, Root } from "mdast";
|
|
3
|
+
import { MdxJsxFlowElement } from "mdast-util-mdx-jsx";
|
|
4
|
+
|
|
5
|
+
//#region src/mdx-plugins/remark-code-tab.d.ts
|
|
6
|
+
type TabType = keyof typeof Types;
|
|
7
|
+
interface RemarkCodeTabOptions {
|
|
8
|
+
Tabs?: TabType;
|
|
9
|
+
/**
|
|
10
|
+
* Parse MDX in tab values
|
|
11
|
+
*
|
|
12
|
+
* @defaultValue false
|
|
13
|
+
*/
|
|
14
|
+
parseMdx?: boolean;
|
|
15
|
+
}
|
|
16
|
+
declare module 'mdast' {
|
|
17
|
+
interface CodeData {
|
|
18
|
+
tab?: string;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
declare const Types: {
|
|
22
|
+
CodeBlockTabs: {
|
|
23
|
+
convert(processor: Processor, nodes: Code[], withMdx?: boolean, withParent?: boolean): MdxJsxFlowElement;
|
|
24
|
+
};
|
|
25
|
+
Tabs: {
|
|
26
|
+
convert(processor: Processor, nodes: Code[], withMdx?: boolean, withParent?: boolean): MdxJsxFlowElement;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
declare function remarkCodeTab(this: Processor, options?: RemarkCodeTabOptions): Transformer<Root, Root>;
|
|
30
|
+
//#endregion
|
|
31
|
+
export { remarkCodeTab as n, RemarkCodeTabOptions as t };
|
|
32
|
+
//# sourceMappingURL=remark-code-tab-CXsYlims.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remark-code-tab-CXsYlims.d.ts","names":[],"sources":["../src/mdx-plugins/remark-code-tab.ts"],"sourcesContent":[],"mappings":";;;;;KAMK,OAAA,gBAAuB;UACX,oBAAA;EADZ,IAAA,CAAA,EAEI,OAFG;EACK;AAShB;;;;EAAA,QAAA,CAAA,EAAA,OAAA;AAAA;eA6Hc,OAAA,CAAA;EACJ,UAAA,QAAA,CAAA;IAGN,GAAA,CAAA,EAAA,MAAA;EAvHU;;cAkJT,KA9ID,EAAA;EAAiB,aAAA,EAAA;IAmJN,OAAA,CAAA,SAAa,EApCd,SAoCc,EAAA,KAAA,EAnClB,IAmCkB,EAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,OAAA,CAAA,EAhCxB,iBAgCwB;EACrB,CAAA;EACG,IAAA,EAAA;IACI,OAAA,CAAA,SAAA,EA1JA,SA0JA,EAAA,KAAA,EAzJJ,IAyJI,EAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,OAAA,CAAA,EAtJV,iBAsJU;EAAM,CAAA;CAAlB;AAAW,iBAHE,aAAA,CAGF,IAAA,EAFN,SAEM,EAAA,OAAA,CAAA,EADH,oBACG,CAAA,EAAX,WAAW,CAAC,IAAD,EAAO,IAAP,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Transformer } from "unified";
|
|
2
|
+
import { Root } from "mdast";
|
|
3
|
+
|
|
4
|
+
//#region src/mdx-plugins/remark-directive-admonition.d.ts
|
|
5
|
+
interface RemarkDirectiveAdmonitionOptions {
|
|
6
|
+
/**
|
|
7
|
+
* the tag names of Callout component.
|
|
8
|
+
*/
|
|
9
|
+
tags?: {
|
|
10
|
+
CalloutContainer?: string;
|
|
11
|
+
CalloutTitle?: string;
|
|
12
|
+
CalloutDescription?: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* All supported admonition types and their linked Callout type.
|
|
16
|
+
*
|
|
17
|
+
* When specified, all defaults will be cleared.
|
|
18
|
+
*/
|
|
19
|
+
types?: Record<string, string>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Remark Plugin to support Admonition syntax in Docusaurus, useful for migrating from Docusaurus.
|
|
23
|
+
*
|
|
24
|
+
* Requires [`remark-directive`](https://github.com/remarkjs/remark-directive) to be configured.
|
|
25
|
+
*/
|
|
26
|
+
declare function remarkDirectiveAdmonition({
|
|
27
|
+
tags: {
|
|
28
|
+
CalloutContainer,
|
|
29
|
+
CalloutTitle,
|
|
30
|
+
CalloutDescription
|
|
31
|
+
},
|
|
32
|
+
types
|
|
33
|
+
}?: RemarkDirectiveAdmonitionOptions): Transformer<Root, Root>;
|
|
34
|
+
//#endregion
|
|
35
|
+
export { remarkDirectiveAdmonition as n, RemarkDirectiveAdmonitionOptions as t };
|
|
36
|
+
//# sourceMappingURL=remark-directive-admonition-BCm_yiU9.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remark-directive-admonition-BCm_yiU9.d.ts","names":[],"sources":["../src/mdx-plugins/remark-directive-admonition.ts"],"sourcesContent":[],"mappings":";;;;UAKiB,gCAAA;;AAAjB;AAuBA;EAEI,IAAA,CAAA,EAAA;IACA,gBAAA,CAAA,EAAA,MAAA;IACA,YAAA,CAAA,EAAA,MAAA;IAEF,kBAAA,CAAA,EAAA,MAAA;EASC,CAAA;EAAoD;;;;;UAvB7C;;;;;;;iBAQM,yBAAA;;;;;;;IAeb,mCAAwC,YAAY,MAAM"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Transformer } from "unified";
|
|
2
|
+
import { Heading, Root } from "mdast";
|
|
3
|
+
|
|
4
|
+
//#region src/mdx-plugins/remark-heading.d.ts
|
|
5
|
+
declare module 'mdast' {
|
|
6
|
+
interface HeadingData extends Data {
|
|
7
|
+
hProperties?: {
|
|
8
|
+
id?: string;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
interface RemarkHeadingOptions {
|
|
13
|
+
slug?: (root: Root, heading: Heading, text: string) => string;
|
|
14
|
+
/**
|
|
15
|
+
* Allow custom headings ids
|
|
16
|
+
*
|
|
17
|
+
* @defaultValue true
|
|
18
|
+
*/
|
|
19
|
+
customId?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Attach an array of `TOCItemType` to `file.data.toc`
|
|
22
|
+
*
|
|
23
|
+
* @defaultValue true
|
|
24
|
+
*/
|
|
25
|
+
generateToc?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Add heading ids and extract TOC
|
|
29
|
+
*/
|
|
30
|
+
declare function remarkHeading({
|
|
31
|
+
slug: defaultSlug,
|
|
32
|
+
customId,
|
|
33
|
+
generateToc
|
|
34
|
+
}?: RemarkHeadingOptions): Transformer<Root, Root>;
|
|
35
|
+
//#endregion
|
|
36
|
+
export { remarkHeading as n, RemarkHeadingOptions as t };
|
|
37
|
+
//# sourceMappingURL=remark-heading-CXvCY0go.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remark-heading-CXvCY0go.d.ts","names":[],"sources":["../src/mdx-plugins/remark-heading.ts"],"sourcesContent":[],"mappings":";;;;;gCAUuC;IARI,WAAA,CAAA,EAAA;MAAA,EAAA,CAAA,EAAA,MAAA;IAQJ,CAAA;EAAI;;AAS1B,UAAA,oBAAA,CAAoB;EAqBrB,IAAA,CAAA,EAAA,CAAA,IAAA,EApBA,IAoBa,EAAA,OAAA,EApBE,OAoBF,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,MAAA;EACrB;;;;;EAGyC,QAAA,CAAA,EAAA,OAAA;EAAlB;;;;;;;;;;iBAJf,aAAA;QACR;;;IAGL,uBAA4B,YAAY,MAAM"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Transformer } from "unified";
|
|
2
|
+
import { Root } from "mdast";
|
|
3
|
+
|
|
4
|
+
//#region src/mdx-plugins/remark-image.d.ts
|
|
5
|
+
type ExternalImageOptions = {
|
|
6
|
+
/**
|
|
7
|
+
* timeout for fetching remote images (in milliseconds)
|
|
8
|
+
*/
|
|
9
|
+
timeout?: number;
|
|
10
|
+
} | boolean;
|
|
11
|
+
interface RemarkImageOptions {
|
|
12
|
+
/**
|
|
13
|
+
* Directory or base URL to resolve absolute image paths
|
|
14
|
+
*/
|
|
15
|
+
publicDir?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Preferred placeholder type, only available with `useImport` + local images.
|
|
18
|
+
*
|
|
19
|
+
* @defaultValue 'blur'
|
|
20
|
+
*/
|
|
21
|
+
placeholder?: 'blur' | 'none';
|
|
22
|
+
/**
|
|
23
|
+
* Define how to handle errors when fetching image size.
|
|
24
|
+
*
|
|
25
|
+
* - `error` (default): throw an error.
|
|
26
|
+
* - `ignore`: do absolutely nothing (Next.js Image component may complain).
|
|
27
|
+
* - `hide`: remove that image element.
|
|
28
|
+
*
|
|
29
|
+
* @defaultValue 'error'
|
|
30
|
+
*/
|
|
31
|
+
onError?: 'error' | 'hide' | 'ignore' | ((error: Error) => void);
|
|
32
|
+
/**
|
|
33
|
+
* Import images in the file, and let bundlers handle it.
|
|
34
|
+
*
|
|
35
|
+
* ```tsx
|
|
36
|
+
* import MyImage from "./public/img.png";
|
|
37
|
+
*
|
|
38
|
+
* <img src={MyImage} />
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* When disabled, `placeholder` will be ignored.
|
|
42
|
+
*
|
|
43
|
+
* @defaultValue true
|
|
44
|
+
*/
|
|
45
|
+
useImport?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Fetch image size of external URLs
|
|
48
|
+
*
|
|
49
|
+
* @defaultValue true
|
|
50
|
+
*/
|
|
51
|
+
external?: ExternalImageOptions;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Turn images into Next.js Image compatible usage.
|
|
55
|
+
*/
|
|
56
|
+
declare function remarkImage({
|
|
57
|
+
placeholder,
|
|
58
|
+
external,
|
|
59
|
+
useImport,
|
|
60
|
+
onError,
|
|
61
|
+
publicDir
|
|
62
|
+
}?: RemarkImageOptions): Transformer<Root, Root>;
|
|
63
|
+
//#endregion
|
|
64
|
+
export { remarkImage as n, RemarkImageOptions as t };
|
|
65
|
+
//# sourceMappingURL=remark-image-CvUis4R1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remark-image-CvUis4R1.d.ts","names":[],"sources":["../src/mdx-plugins/remark-image.ts"],"sourcesContent":[],"mappings":";;;;KAYK,oBAAA;;AAVsC;AAmB3C;EA4DgB,OAAA,CAAA,EAAA,MAAW;CACzB,GAAA,OAAA;AACA,UA9De,kBAAA,CA8Df;EACA;;;EAGC,SAAA,CAAA,EAAA,MAAA;EAAsC;;;;;;;;;;;;;;;mDA5CU;;;;;;;;;;;;;;;;;;;;aAsBtC;;;;;iBAgBG,WAAA;;;;;;IAMb,qBAA0B,YAAY,MAAM"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Transformer } from "unified";
|
|
2
|
+
import { Root } from "mdast";
|
|
3
|
+
import { MdxJsxFlowElement } from "mdast-util-mdx-jsx";
|
|
4
|
+
|
|
5
|
+
//#region src/mdx-plugins/remark-mdx-files.d.ts
|
|
6
|
+
interface FileNode {
|
|
7
|
+
depth: number;
|
|
8
|
+
type: 'file';
|
|
9
|
+
name: string;
|
|
10
|
+
}
|
|
11
|
+
interface FolderNode {
|
|
12
|
+
depth: number;
|
|
13
|
+
type: 'folder';
|
|
14
|
+
name: string;
|
|
15
|
+
children: Node[];
|
|
16
|
+
}
|
|
17
|
+
interface ToMdxOptions {
|
|
18
|
+
defaultOpenAll: boolean;
|
|
19
|
+
}
|
|
20
|
+
type Node = FileNode | FolderNode;
|
|
21
|
+
interface RemarkMdxFilesOptions {
|
|
22
|
+
/**
|
|
23
|
+
* @defaultValue files
|
|
24
|
+
*/
|
|
25
|
+
lang?: string;
|
|
26
|
+
toMdx?: (node: Node, options: ToMdxOptions) => MdxJsxFlowElement;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* **Files CodeBlock:**
|
|
31
|
+
*
|
|
32
|
+
* Convert codeblocks with `files` as lang, like:
|
|
33
|
+
*
|
|
34
|
+
* ```files
|
|
35
|
+
* project
|
|
36
|
+
* ├── src
|
|
37
|
+
* │ ├── index.js
|
|
38
|
+
* │ └── utils
|
|
39
|
+
* │ └── helper.js
|
|
40
|
+
* ├── package.json
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* into MDX `<Files />` component.
|
|
44
|
+
*
|
|
45
|
+
* **Auto Files:**
|
|
46
|
+
*
|
|
47
|
+
* Generates MDX `<Files />` component from file system.
|
|
48
|
+
*
|
|
49
|
+
* ```mdx
|
|
50
|
+
* <auto-files dir="scripts" pattern="my-dir/*" defaultOpenAll />
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
declare function remarkMdxFiles(options?: RemarkMdxFilesOptions): Transformer<Root, Root>;
|
|
54
|
+
//#endregion
|
|
55
|
+
export { remarkMdxFiles as a, ToMdxOptions as i, FolderNode as n, RemarkMdxFilesOptions as r, FileNode as t };
|
|
56
|
+
//# sourceMappingURL=remark-mdx-files-B31xFFG4.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remark-mdx-files-B31xFFG4.d.ts","names":[],"sources":["../src/mdx-plugins/remark-mdx-files.ts"],"sourcesContent":[],"mappings":";;;;;UAOiB,QAAA;;EAAA,IAAA,EAAA,MAAQ;EAMR,IAAA,EAAA,MAAA;AAOjB;AAIK,UAXY,UAAA,CAWL;EAEK,KAAA,EAAA,MAAA;EAKA,IAAA,EAAA,QAAA;EAAe,IAAA,EAAA,MAAA;EAAiB,QAAA,EAdrC,IAcqC,EAAA;;AA+GjC,UA1HC,YAAA,CA0Ha;EAAU,cAAA,EAAA,OAAA;;KAtHnC,IAAA,GAAO,QAsH2E,GAtHhE,UAsHgE;AAAlB,UApHpD,qBAAA,CAoHoD;EAAW;;;;iBA/G/D,eAAe,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+GjC,cAAA,WAAwB,wBAA6B,YAAY,MAAM"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Transformer } from "unified";
|
|
2
|
+
import { Root } from "mdast";
|
|
3
|
+
|
|
4
|
+
//#region src/mdx-plugins/remark-mdx-mermaid.d.ts
|
|
5
|
+
interface RemarkMdxMermaidOptions {
|
|
6
|
+
/**
|
|
7
|
+
* @defaultValue mermaid
|
|
8
|
+
*/
|
|
9
|
+
lang?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Convert `mermaid` codeblocks into `<Mermaid />` MDX component
|
|
13
|
+
*/
|
|
14
|
+
declare function remarkMdxMermaid(options?: RemarkMdxMermaidOptions): Transformer<Root, Root>;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { remarkMdxMermaid as n, RemarkMdxMermaidOptions as t };
|
|
17
|
+
//# sourceMappingURL=remark-mdx-mermaid-BdSUUiCG.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remark-mdx-mermaid-BdSUUiCG.d.ts","names":[],"sources":["../src/mdx-plugins/remark-mdx-mermaid.ts"],"sourcesContent":[],"mappings":";;;;UAoBiB,uBAAA;;AAAjB;AAUA;EAA0C,IAAA,CAAA,EAAA,MAAA;;;;;iBAA1B,gBAAA,WAA0B,0BAA+B,YAAY,MAAM"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Transformer } from "unified";
|
|
2
|
+
import { Root } from "mdast";
|
|
3
|
+
|
|
4
|
+
//#region src/mdx-plugins/remark-npm.d.ts
|
|
5
|
+
interface PackageManager {
|
|
6
|
+
name: string;
|
|
7
|
+
/**
|
|
8
|
+
* Default to `name`
|
|
9
|
+
*/
|
|
10
|
+
value?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Convert from npm to another package manager
|
|
13
|
+
*/
|
|
14
|
+
command: (command: string) => string | undefined;
|
|
15
|
+
}
|
|
16
|
+
interface RemarkNpmOptions {
|
|
17
|
+
/**
|
|
18
|
+
* Persist Tab value (Fumadocs UI only)
|
|
19
|
+
*
|
|
20
|
+
* @defaultValue false
|
|
21
|
+
*/
|
|
22
|
+
persist?: {
|
|
23
|
+
id: string;
|
|
24
|
+
} | false;
|
|
25
|
+
packageManagers?: PackageManager[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* It generates multiple tabs of codeblocks for different package managers from a npm command codeblock.
|
|
29
|
+
*/
|
|
30
|
+
declare function remarkNpm({
|
|
31
|
+
persist,
|
|
32
|
+
packageManagers
|
|
33
|
+
}?: RemarkNpmOptions): Transformer<Root, Root>;
|
|
34
|
+
//#endregion
|
|
35
|
+
export { remarkNpm as n, RemarkNpmOptions as t };
|
|
36
|
+
//# sourceMappingURL=remark-npm-BIvIEKT2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remark-npm-BIvIEKT2.d.ts","names":[],"sources":["../src/mdx-plugins/remark-npm.ts"],"sourcesContent":[],"mappings":";;;;UAMU,cAAA;;EAAA;AAcV;AAoBA;EACE,KAAA,CAAA,EAAA,MAAA;EACA;;;EAM2C,OAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,MAAA,GAAA,SAAA;;AAAP,UA5BrB,gBAAA,CA4BqB;;;;;;;;;oBAhBlB;;;;;iBAQJ,SAAA;;;IAQb,mBAAwB,YAAY,MAAM"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Transformer } from "unified";
|
|
2
|
+
import { Root } from "mdast";
|
|
3
|
+
|
|
4
|
+
//#region src/mdx-plugins/remark-steps.d.ts
|
|
5
|
+
interface RemarkStepsOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Class name for steps container
|
|
8
|
+
*
|
|
9
|
+
* @defaultValue fd-steps
|
|
10
|
+
*/
|
|
11
|
+
steps?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Class name for step container
|
|
14
|
+
*
|
|
15
|
+
* @defaultValue fd-step
|
|
16
|
+
*/
|
|
17
|
+
step?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Convert headings in the format of `1. Hello World` into steps.
|
|
21
|
+
*/
|
|
22
|
+
declare function remarkSteps({
|
|
23
|
+
steps,
|
|
24
|
+
step
|
|
25
|
+
}?: RemarkStepsOptions): Transformer<Root, Root>;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { remarkSteps as n, RemarkStepsOptions as t };
|
|
28
|
+
//# sourceMappingURL=remark-steps-CHJN-rtm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remark-steps-CHJN-rtm.d.ts","names":[],"sources":["../src/mdx-plugins/remark-steps.ts"],"sourcesContent":[],"mappings":";;;;UAKiB,kBAAA;;AAAjB;AAqBA;;;EAGG,KAAA,CAAA,EAAA,MAAA;EAAsC;;;;;;;;;;iBAHzB,WAAA;;;IAGb,qBAA0B,YAAY,MAAM"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { PluggableList, Transformer } from "unified";
|
|
2
|
+
import { Nodes, Root } from "mdast";
|
|
3
|
+
import { MdxJsxAttribute, MdxJsxExpressionAttribute, MdxJsxFlowElement } from "mdast-util-mdx-jsx";
|
|
4
|
+
|
|
5
|
+
//#region src/mdx-plugins/remark-structure.d.ts
|
|
6
|
+
interface Heading$1 {
|
|
7
|
+
id: string;
|
|
8
|
+
content: string;
|
|
9
|
+
}
|
|
10
|
+
interface Content {
|
|
11
|
+
heading: string | undefined;
|
|
12
|
+
content: string;
|
|
13
|
+
}
|
|
14
|
+
interface StructuredData {
|
|
15
|
+
headings: Heading$1[];
|
|
16
|
+
/**
|
|
17
|
+
* Refer to paragraphs, a heading may contain multiple contents as well
|
|
18
|
+
*/
|
|
19
|
+
contents: Content[];
|
|
20
|
+
}
|
|
21
|
+
interface StructureOptions {
|
|
22
|
+
/**
|
|
23
|
+
* Types to be scanned as content.
|
|
24
|
+
*
|
|
25
|
+
* @defaultValue ['heading', 'paragraph', 'blockquote', 'tableCell', 'mdxJsxFlowElement']
|
|
26
|
+
*/
|
|
27
|
+
types?: string[] | ((node: Nodes) => boolean);
|
|
28
|
+
/**
|
|
29
|
+
* A list of indexable MDX attributes, either:
|
|
30
|
+
*
|
|
31
|
+
* - an array of attribute names.
|
|
32
|
+
* - a function that determines if attribute should be indexed.
|
|
33
|
+
*/
|
|
34
|
+
allowedMdxAttributes?: string[] | ((node: MdxJsxFlowElement, attribute: MdxJsxAttribute | MdxJsxExpressionAttribute) => boolean);
|
|
35
|
+
/**
|
|
36
|
+
* export as `structuredData` or specified variable name.
|
|
37
|
+
*/
|
|
38
|
+
exportAs?: string | boolean;
|
|
39
|
+
}
|
|
40
|
+
declare module 'mdast' {
|
|
41
|
+
interface Data {
|
|
42
|
+
/**
|
|
43
|
+
* [Fumadocs] Get content of unserializable element, `remarkStructure` uses it to generate search index.
|
|
44
|
+
*/
|
|
45
|
+
_string?: string[];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
declare module 'vfile' {
|
|
49
|
+
interface DataMap {
|
|
50
|
+
/**
|
|
51
|
+
* [Fumadocs] injected by `remarkStructure`
|
|
52
|
+
*/
|
|
53
|
+
structuredData: StructuredData;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
declare const remarkStructureDefaultOptions: {
|
|
57
|
+
types: string[];
|
|
58
|
+
allowedMdxAttributes: (node: MdxJsxFlowElement) => boolean;
|
|
59
|
+
exportAs: false;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Extract content into structured data.
|
|
63
|
+
*
|
|
64
|
+
* By default, the output is stored into VFile (`vfile.data.structuredData`), you can specify `exportAs` to export it.
|
|
65
|
+
*/
|
|
66
|
+
declare function remarkStructure({
|
|
67
|
+
types,
|
|
68
|
+
allowedMdxAttributes,
|
|
69
|
+
exportAs
|
|
70
|
+
}?: StructureOptions): Transformer<Root, Root>;
|
|
71
|
+
/**
|
|
72
|
+
* Extract data from markdown/mdx content
|
|
73
|
+
*/
|
|
74
|
+
declare function structure(content: string, remarkPlugins?: PluggableList, options?: StructureOptions): StructuredData;
|
|
75
|
+
//#endregion
|
|
76
|
+
export { structure as a, remarkStructureDefaultOptions as i, StructuredData as n, remarkStructure as r, StructureOptions as t };
|
|
77
|
+
//# sourceMappingURL=remark-structure-RZD2gGKp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remark-structure-RZD2gGKp.d.ts","names":[],"sources":["../src/mdx-plugins/remark-structure.ts"],"sourcesContent":[],"mappings":";;;;;UAaU,SAAA;;EAAA,OAAA,EAAA,MAAO;AAAA;AAUjB,UALU,OAAA,CAKO;EAQA,OAAA,EAAA,MAAA,GAAA,SAAgB;EAMJ,OAAA,EAAA,MAAA;;AAYV,UA1BF,cAAA,CA0BE;EAAkB,QAAA,EAzBzB,SAyByB,EAAA;EAAyB;AAO7D;;UAAA,EA5BW,OA4BX,EAAA;;AAAA,UAzBgB,gBAAA,CAyBhB;EAAA;;;;;EAoBY,KAAA,CAAA,EAAA,MAAA,EAAA,GAAA,CAAA,CAAA,IAAA,EAvCgB,KA+CS,EAAA,GAAA,OAAA,CAAA;EAOtB;;;;;;EAI6B,oBAAA,CAAA,EAAA,MAAA,EAAA,GAAA,CAAA,CAAA,IAAA,EA/C/B,iBA+C+B,EAAA,SAAA,EA9C1B,eA8C0B,GA9CR,yBA8CQ,EAAA,GAAA,OAAA,CAAA;EAAlB;;AAwG3B;EAEiB,QAAA,CAAA,EAAA,MAAA,GAAA,OAAA;;eAEd,OAAA,CAAA;EAAc,UAAA,IAAA,CAAA;;;;;;;;;;;;oBAnIG;;;cAIP;;+BAQyB;;;;;;;;iBAOtB,eAAA;;;;IAIb,mBAAwB,YAAY,MAAM;;;;iBAwG7B,SAAA,kCAEC,yBACN,mBACR"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/utils/remove-undefined.ts
|
|
2
|
+
function removeUndefined(value, deep = false) {
|
|
3
|
+
const obj = value;
|
|
4
|
+
for (const key in obj) {
|
|
5
|
+
if (obj[key] === void 0) delete obj[key];
|
|
6
|
+
if (!deep) continue;
|
|
7
|
+
const entry = obj[key];
|
|
8
|
+
if (typeof entry === "object" && entry !== null) {
|
|
9
|
+
removeUndefined(entry, deep);
|
|
10
|
+
continue;
|
|
11
|
+
}
|
|
12
|
+
if (Array.isArray(entry)) for (const item of entry) removeUndefined(item, deep);
|
|
13
|
+
}
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
export { removeUndefined as t };
|
|
19
|
+
//# sourceMappingURL=remove-undefined-Cfs4o_mM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-undefined-Cfs4o_mM.js","names":[],"sources":["../src/utils/remove-undefined.ts"],"sourcesContent":["export function removeUndefined<T extends object>(value: T, deep = false): T {\n const obj = value as Record<string, unknown>;\n\n for (const key in obj) {\n if (obj[key] === undefined) delete obj[key];\n if (!deep) continue;\n\n const entry = obj[key];\n\n if (typeof entry === 'object' && entry !== null) {\n removeUndefined(entry, deep);\n continue;\n }\n\n if (Array.isArray(entry)) {\n for (const item of entry) removeUndefined(item, deep);\n }\n }\n\n return value;\n}\n"],"mappings":";AAAA,SAAgB,gBAAkC,OAAU,OAAO,OAAU;CAC3E,MAAM,MAAM;AAEZ,MAAK,MAAM,OAAO,KAAK;AACrB,MAAI,IAAI,SAAS,OAAW,QAAO,IAAI;AACvC,MAAI,CAAC,KAAM;EAEX,MAAM,QAAQ,IAAI;AAElB,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,mBAAgB,OAAO,KAAK;AAC5B;;AAGF,MAAI,MAAM,QAAQ,MAAM,CACtB,MAAK,MAAM,QAAQ,MAAO,iBAAgB,MAAM,KAAK;;AAIzD,QAAO"}
|