@docubook/core 1.8.0 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-HZJLRYAI.js +45 -0
- package/dist/chunk-HZJLRYAI.js.map +1 -0
- package/dist/index.d.ts +118 -11
- package/dist/index.js +514 -7
- package/dist/index.js.map +1 -1
- package/dist/utils.d.ts +12 -10
- package/dist/utils.js +16 -38
- package/dist/utils.js.map +1 -1
- package/package.json +5 -3
- package/dist/__tests__/compile.test.d.ts +0 -2
- package/dist/__tests__/compile.test.d.ts.map +0 -1
- package/dist/__tests__/compile.test.js +0 -122
- package/dist/__tests__/compile.test.js.map +0 -1
- package/dist/__tests__/content.test.d.ts +0 -2
- package/dist/__tests__/content.test.d.ts.map +0 -1
- package/dist/__tests__/content.test.js +0 -109
- package/dist/__tests__/content.test.js.map +0 -1
- package/dist/__tests__/extract.test.d.ts +0 -2
- package/dist/__tests__/extract.test.d.ts.map +0 -1
- package/dist/__tests__/extract.test.js +0 -95
- package/dist/__tests__/extract.test.js.map +0 -1
- package/dist/__tests__/plugins/handleCodeExpandable.test.d.ts +0 -2
- package/dist/__tests__/plugins/handleCodeExpandable.test.d.ts.map +0 -1
- package/dist/__tests__/plugins/handleCodeExpandable.test.js +0 -191
- package/dist/__tests__/plugins/handleCodeExpandable.test.js.map +0 -1
- package/dist/__tests__/plugins/handleCodeTitles.test.d.ts +0 -2
- package/dist/__tests__/plugins/handleCodeTitles.test.d.ts.map +0 -1
- package/dist/__tests__/plugins/handleCodeTitles.test.js +0 -99
- package/dist/__tests__/plugins/handleCodeTitles.test.js.map +0 -1
- package/dist/compile.d.ts +0 -28
- package/dist/compile.d.ts.map +0 -1
- package/dist/compile.js +0 -90
- package/dist/compile.js.map +0 -1
- package/dist/content.d.ts +0 -52
- package/dist/content.d.ts.map +0 -1
- package/dist/content.js +0 -102
- package/dist/content.js.map +0 -1
- package/dist/extract.d.ts +0 -13
- package/dist/extract.d.ts.map +0 -1
- package/dist/extract.js +0 -96
- package/dist/extract.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/plugins/handleCodeExpandable.d.ts +0 -4
- package/dist/plugins/handleCodeExpandable.d.ts.map +0 -1
- package/dist/plugins/handleCodeExpandable.js +0 -174
- package/dist/plugins/handleCodeExpandable.js.map +0 -1
- package/dist/plugins/handleCodeTitles.d.ts +0 -3
- package/dist/plugins/handleCodeTitles.d.ts.map +0 -1
- package/dist/plugins/handleCodeTitles.js +0 -38
- package/dist/plugins/handleCodeTitles.js.map +0 -1
- package/dist/plugins/rehypeMermaid.d.ts +0 -11
- package/dist/plugins/rehypeMermaid.d.ts.map +0 -1
- package/dist/plugins/rehypeMermaid.js +0 -34
- package/dist/plugins/rehypeMermaid.js.map +0 -1
- package/dist/types.d.ts +0 -12
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/utils.d.ts.map +0 -1
package/dist/extract.js
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import matter from "@11ty/gray-matter";
|
|
2
|
-
const FENCE_MARKER_REGEX = /^(````|```)(?!`)/;
|
|
3
|
-
const HEADING_REGEX = /^(#{2,4})\s+(.+)$/;
|
|
4
|
-
const RELEASE_VERSION_ATTR_REGEX = /\bversion\s*=\s*"([^"]+)"/;
|
|
5
|
-
export function sluggify(text) {
|
|
6
|
-
const normalized = text.normalize("NFD").replace(/[\u0300-\u036f]/g, ""); // Remove accents
|
|
7
|
-
const slug = normalized.toLowerCase().replace(/\s+/g, "-");
|
|
8
|
-
return slug.replace(/[^a-z0-9-]/g, "");
|
|
9
|
-
}
|
|
10
|
-
function parseReleaseVersionFromLine(line) {
|
|
11
|
-
const releaseStart = line.indexOf("<Release");
|
|
12
|
-
if (releaseStart === -1) {
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
// Parse only the first tag fragment on the line to avoid broad regex scans.
|
|
16
|
-
const fragment = line.slice(releaseStart, releaseStart + 512);
|
|
17
|
-
const closingIndex = fragment.indexOf(">");
|
|
18
|
-
if (closingIndex === -1) {
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
const tag = fragment.slice(0, closingIndex + 1);
|
|
22
|
-
if (!/^<Release\b/.test(tag)) {
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
const attrMatch = RELEASE_VERSION_ATTR_REGEX.exec(tag);
|
|
26
|
-
const version = attrMatch?.[1] ?? "";
|
|
27
|
-
return version.trim() || null;
|
|
28
|
-
}
|
|
29
|
-
export function extractTocsFromRawMdx(rawMdx) {
|
|
30
|
-
const extractedHeadings = [];
|
|
31
|
-
const lines = rawMdx.split(/\r?\n/);
|
|
32
|
-
let inFence = false;
|
|
33
|
-
let fenceLength = 0;
|
|
34
|
-
for (const line of lines) {
|
|
35
|
-
const trimmed = line.trimStart();
|
|
36
|
-
const fenceMatch = FENCE_MARKER_REGEX.exec(trimmed);
|
|
37
|
-
if (fenceMatch) {
|
|
38
|
-
const marker = fenceMatch[1];
|
|
39
|
-
if (!inFence) {
|
|
40
|
-
inFence = true;
|
|
41
|
-
fenceLength = marker.length;
|
|
42
|
-
}
|
|
43
|
-
else if (marker.length === fenceLength) {
|
|
44
|
-
inFence = false;
|
|
45
|
-
}
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
if (inFence) {
|
|
49
|
-
continue;
|
|
50
|
-
}
|
|
51
|
-
const headingMatch = HEADING_REGEX.exec(trimmed);
|
|
52
|
-
if (headingMatch) {
|
|
53
|
-
const headingLevel = headingMatch[1].length;
|
|
54
|
-
const headingText = headingMatch[2].trim().replace(/\s+#+\s*$/, "");
|
|
55
|
-
extractedHeadings.push({
|
|
56
|
-
level: headingLevel,
|
|
57
|
-
text: headingText,
|
|
58
|
-
href: `#${sluggify(headingText)}`,
|
|
59
|
-
});
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
const version = parseReleaseVersionFromLine(line);
|
|
63
|
-
if (version) {
|
|
64
|
-
extractedHeadings.push({
|
|
65
|
-
level: 2,
|
|
66
|
-
text: `v${version}`,
|
|
67
|
-
href: `#${version}`,
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return extractedHeadings;
|
|
72
|
-
}
|
|
73
|
-
export function extractFrontmatter(content) {
|
|
74
|
-
try {
|
|
75
|
-
return matter(content).data;
|
|
76
|
-
}
|
|
77
|
-
catch (error) {
|
|
78
|
-
const reason = error instanceof Error ? error.message : String(error);
|
|
79
|
-
throw new Error(`Failed to extract frontmatter: ${reason}`);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Extract frontmatter and return both the parsed data and the content
|
|
84
|
-
* with the frontmatter block stripped. Avoids a second parse by compileMDX.
|
|
85
|
-
*/
|
|
86
|
-
export function extractFrontmatterWithContent(content) {
|
|
87
|
-
try {
|
|
88
|
-
const { data, content: strippedContent } = matter(content);
|
|
89
|
-
return { frontmatter: data, strippedContent };
|
|
90
|
-
}
|
|
91
|
-
catch (error) {
|
|
92
|
-
const reason = error instanceof Error ? error.message : String(error);
|
|
93
|
-
throw new Error(`Failed to extract frontmatter: ${reason}`);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=extract.js.map
|
package/dist/extract.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9F,OAAO,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,WAAW,EACX,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,qBAAqB,EACrB,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,8BAA8B,GAC/B,MAAM,WAAW,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handleCodeExpandable.d.ts","sourceRoot":"","sources":["../../src/plugins/handleCodeExpandable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AA2DlC,eAAO,MAAM,0BAA0B,SAAU,MAAM,IAAI,SAkD1D,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,MAAM,IAAI,SAyGpD,CAAC"}
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import { visit } from "unist-util-visit";
|
|
2
|
-
/**
|
|
3
|
-
* Escape metadata values that are interpolated into MDX-compiled JavaScript.
|
|
4
|
-
*
|
|
5
|
-
* References:
|
|
6
|
-
* - HTML spec (script data state): escape `</` as `\u003C/` to prevent premature
|
|
7
|
-
* `</script>` closing when the compiled JS is embedded as JSON in a <script> tag.
|
|
8
|
-
* - Bun.escapeHTML(): escapes `< > " ' &` for HTML context; for JS/JSON context
|
|
9
|
-
* we use `\uXXXX` JSON Unicode escapes instead so the value survives round-trip
|
|
10
|
-
* through JSON.parse on the client side.
|
|
11
|
-
* - React: JSX auto-escapes attribute values via `{expression}`, so values set
|
|
12
|
-
* as HAST properties (data-language, data-title) are HTML-safe at render time.
|
|
13
|
-
*/
|
|
14
|
-
function escapeMeta(s) {
|
|
15
|
-
let out = "";
|
|
16
|
-
for (let i = 0; i < s.length; i++) {
|
|
17
|
-
const ch = s[i];
|
|
18
|
-
// HTML spec: prevent </script> in script/JSON context
|
|
19
|
-
if (ch === "<" && s[i + 1] === "/") {
|
|
20
|
-
out += "\\u003C/";
|
|
21
|
-
i++;
|
|
22
|
-
continue;
|
|
23
|
-
}
|
|
24
|
-
// JS string: escape template literal & string special chars
|
|
25
|
-
if (ch === "`" || ch === "$" || ch === "{" || ch === "}" || ch === "\"" || ch === "\\") {
|
|
26
|
-
out += `\\${ch}`;
|
|
27
|
-
continue;
|
|
28
|
-
}
|
|
29
|
-
out += ch;
|
|
30
|
-
}
|
|
31
|
-
return out;
|
|
32
|
-
}
|
|
33
|
-
function countCodeLines(raw) {
|
|
34
|
-
let normalized = raw.replace(/\r\n/g, "\n");
|
|
35
|
-
if (normalized.startsWith("\n"))
|
|
36
|
-
normalized = normalized.slice(1);
|
|
37
|
-
if (normalized.endsWith("\n"))
|
|
38
|
-
normalized = normalized.slice(0, -1);
|
|
39
|
-
if (normalized.length === 0)
|
|
40
|
-
return 0;
|
|
41
|
-
return normalized.split("\n").length;
|
|
42
|
-
}
|
|
43
|
-
export const handleCodeExpandableRemark = () => (tree) => {
|
|
44
|
-
visit(tree, "code", (node) => {
|
|
45
|
-
if (!node.meta)
|
|
46
|
-
return;
|
|
47
|
-
const isExpandable = node.meta.includes("Expandable");
|
|
48
|
-
const [languagePart, titlePart] = (node.lang ?? "").split(":");
|
|
49
|
-
const normalizedLanguage = languagePart?.trim();
|
|
50
|
-
const normalizedTitle = titlePart?.trim();
|
|
51
|
-
if (!isExpandable)
|
|
52
|
-
return;
|
|
53
|
-
const lineCount = countCodeLines(node.value);
|
|
54
|
-
if (!node.data) {
|
|
55
|
-
node.data = {};
|
|
56
|
-
}
|
|
57
|
-
if (!node.data.hProperties) {
|
|
58
|
-
node.data.hProperties = {};
|
|
59
|
-
}
|
|
60
|
-
node.data.hProperties["data-expandable"] = "true";
|
|
61
|
-
node.data.hProperties["data-expandable-lines"] = lineCount.toString();
|
|
62
|
-
if (normalizedLanguage) {
|
|
63
|
-
node.data.hProperties["data-language"] = normalizedLanguage;
|
|
64
|
-
}
|
|
65
|
-
if (normalizedTitle) {
|
|
66
|
-
node.data.hProperties["data-title"] = normalizedTitle;
|
|
67
|
-
}
|
|
68
|
-
const currentClassName = node.data.hProperties.className;
|
|
69
|
-
const classList = Array.isArray(currentClassName)
|
|
70
|
-
? currentClassName
|
|
71
|
-
: typeof currentClassName === "string"
|
|
72
|
-
? currentClassName.split(" ").filter(Boolean)
|
|
73
|
-
: [];
|
|
74
|
-
if (!classList.includes("mdx-expandable-meta")) {
|
|
75
|
-
classList.push("mdx-expandable-meta");
|
|
76
|
-
}
|
|
77
|
-
node.data.hProperties.className = classList;
|
|
78
|
-
if (normalizedLanguage && !node.meta.includes("dbLang(")) {
|
|
79
|
-
node.meta = `${node.meta} dbLang(${escapeMeta(normalizedLanguage)})`.trim();
|
|
80
|
-
}
|
|
81
|
-
if (normalizedTitle && !node.meta.includes("dbTitle(")) {
|
|
82
|
-
node.meta = `${node.meta} dbTitle(${escapeMeta(normalizedTitle)})`.trim();
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
};
|
|
86
|
-
export const handleCodeExpandable = () => (tree) => {
|
|
87
|
-
visit(tree, "element", (node) => {
|
|
88
|
-
if (node.tagName !== "pre")
|
|
89
|
-
return;
|
|
90
|
-
const codeElement = node.children?.find((child) => {
|
|
91
|
-
const element = child;
|
|
92
|
-
return element.type === "element" && element.tagName === "code";
|
|
93
|
-
});
|
|
94
|
-
const codeClassName = codeElement?.properties?.className;
|
|
95
|
-
const codeClassList = Array.isArray(codeClassName)
|
|
96
|
-
? codeClassName
|
|
97
|
-
: typeof codeClassName === "string"
|
|
98
|
-
? codeClassName.split(" ").filter(Boolean)
|
|
99
|
-
: [];
|
|
100
|
-
const codeMeta = codeElement?.data &&
|
|
101
|
-
typeof codeElement.data === "object" &&
|
|
102
|
-
typeof codeElement.data["meta"] === "string"
|
|
103
|
-
? codeElement.data["meta"]
|
|
104
|
-
: undefined;
|
|
105
|
-
const languageFromMeta = codeMeta?.match(/dbLang\(([^)]+)\)/)?.[1];
|
|
106
|
-
const titleFromMeta = codeMeta?.match(/dbTitle\(([^)]+)\)/)?.[1];
|
|
107
|
-
const languageFromProps = typeof codeElement?.properties?.["data-language"] === "string"
|
|
108
|
-
? codeElement.properties["data-language"]
|
|
109
|
-
: undefined;
|
|
110
|
-
const titleFromProps = typeof codeElement?.properties?.["data-title"] === "string"
|
|
111
|
-
? codeElement.properties["data-title"]
|
|
112
|
-
: undefined;
|
|
113
|
-
const languageFromCodeClass = codeClassList
|
|
114
|
-
.find((item) => item.startsWith("language-"))
|
|
115
|
-
?.replace("language-", "");
|
|
116
|
-
const existingPreLanguage = typeof node.properties?.["data-language"] === "string"
|
|
117
|
-
? node.properties["data-language"]
|
|
118
|
-
: undefined;
|
|
119
|
-
const existingPreTitle = typeof node.properties?.["data-title"] === "string"
|
|
120
|
-
? node.properties["data-title"]
|
|
121
|
-
: undefined;
|
|
122
|
-
const isExpandable = codeElement?.properties?.["data-expandable"] === "true" ||
|
|
123
|
-
codeClassList.includes("mdx-expandable-meta") ||
|
|
124
|
-
codeMeta?.includes("Expandable") === true;
|
|
125
|
-
const expandableLines = codeElement?.properties?.["data-expandable-lines"];
|
|
126
|
-
if (!isExpandable)
|
|
127
|
-
return;
|
|
128
|
-
if (!node.properties) {
|
|
129
|
-
node.properties = {};
|
|
130
|
-
}
|
|
131
|
-
node.properties["data-expandable"] = "true";
|
|
132
|
-
if (typeof expandableLines === "string" || typeof expandableLines === "number") {
|
|
133
|
-
node.properties["data-expandable-lines"] = expandableLines.toString();
|
|
134
|
-
}
|
|
135
|
-
else if (node.raw) {
|
|
136
|
-
node.properties["data-expandable-lines"] = countCodeLines(node.raw).toString();
|
|
137
|
-
}
|
|
138
|
-
const resolvedLanguage = languageFromProps ||
|
|
139
|
-
languageFromMeta ||
|
|
140
|
-
languageFromCodeClass ||
|
|
141
|
-
existingPreLanguage ||
|
|
142
|
-
node.language;
|
|
143
|
-
const resolvedTitle = titleFromProps || titleFromMeta || existingPreTitle || node.codeTitle;
|
|
144
|
-
if (resolvedLanguage) {
|
|
145
|
-
node.properties["data-language"] = resolvedLanguage;
|
|
146
|
-
}
|
|
147
|
-
if (resolvedTitle) {
|
|
148
|
-
node.properties["data-title"] = resolvedTitle;
|
|
149
|
-
}
|
|
150
|
-
const className = node.properties.className;
|
|
151
|
-
if (!className) {
|
|
152
|
-
node.properties.className = [];
|
|
153
|
-
}
|
|
154
|
-
if (Array.isArray(node.properties.className)) {
|
|
155
|
-
if (!node.properties.className.includes("mdx-expandable-code")) {
|
|
156
|
-
node.properties.className.push("mdx-expandable-code");
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
else if (typeof className === "string") {
|
|
160
|
-
const hasMarker = className.split(" ").includes("mdx-expandable-code");
|
|
161
|
-
if (!hasMarker) {
|
|
162
|
-
node.properties.className = `${className} mdx-expandable-code`.trim().split(" ");
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
node.properties.className = ["mdx-expandable-code"];
|
|
167
|
-
}
|
|
168
|
-
if (codeElement?.properties) {
|
|
169
|
-
const cleanedCodeClassList = codeClassList.filter((item) => item !== "mdx-expandable-meta");
|
|
170
|
-
codeElement.properties.className = cleanedCodeClassList;
|
|
171
|
-
}
|
|
172
|
-
});
|
|
173
|
-
};
|
|
174
|
-
//# sourceMappingURL=handleCodeExpandable.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handleCodeExpandable.js","sourceRoot":"","sources":["../../src/plugins/handleCodeExpandable.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handleCodeTitles.d.ts","sourceRoot":"","sources":["../../src/plugins/handleCodeTitles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAU,MAAM,OAAO,CAAA;AASzC,eAAO,MAAM,gBAAgB,SAAU,MAAM,IAAI,SAwChD,CAAA"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { visit } from "unist-util-visit";
|
|
2
|
-
export const handleCodeTitles = () => (tree) => {
|
|
3
|
-
const toRemove = [];
|
|
4
|
-
visit(tree, "element", (node, index, parent) => {
|
|
5
|
-
if (!parent || index === null || node.tagName !== "div") {
|
|
6
|
-
return;
|
|
7
|
-
}
|
|
8
|
-
const isTitleDiv = node.properties?.className?.includes("rehype-code-title");
|
|
9
|
-
if (!isTitleDiv) {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
let nextElement = null;
|
|
13
|
-
for (let i = index + 1; i < parent.children.length; i++) {
|
|
14
|
-
const sibling = parent.children[i];
|
|
15
|
-
if (sibling.type === "element") {
|
|
16
|
-
nextElement = sibling;
|
|
17
|
-
break;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
if (nextElement?.tagName === "pre") {
|
|
21
|
-
const titleNode = node.children?.[0];
|
|
22
|
-
if (titleNode?.type === "text") {
|
|
23
|
-
if (!nextElement.properties) {
|
|
24
|
-
nextElement.properties = {};
|
|
25
|
-
}
|
|
26
|
-
nextElement.properties["data-title"] = titleNode.value;
|
|
27
|
-
nextElement.codeTitle = titleNode.value;
|
|
28
|
-
toRemove.push({ parent, index });
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
// Remove title divs in reverse order to preserve indices
|
|
33
|
-
for (let i = toRemove.length - 1; i >= 0; i--) {
|
|
34
|
-
const { parent, index } = toRemove[i];
|
|
35
|
-
parent.children.splice(index, 1);
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
//# sourceMappingURL=handleCodeTitles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handleCodeTitles.js","sourceRoot":"","sources":["../../src/plugins/handleCodeTitles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAQxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAU,EAAE,EAAE;IACnD,MAAM,QAAQ,GAAwC,EAAE,CAAA;IAExD,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAiB,EAAE,KAAoB,EAAE,MAAqB,EAAE,EAAE;QACxF,IAAI,CAAC,MAAM,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACxD,OAAM;QACR,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAC5E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAM;QACR,CAAC;QAED,IAAI,WAAW,GAAuB,IAAI,CAAA;QAC1C,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAClC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,WAAW,GAAG,OAAsB,CAAA;gBACpC,MAAK;YACP,CAAC;QACH,CAAC;QAED,IAAI,WAAW,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAa,CAAA;YAChD,IAAI,SAAS,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;oBAC5B,WAAW,CAAC,UAAU,GAAG,EAAE,CAAA;gBAC7B,CAAC;gBACD,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,KAAK,CAAA;gBACtD,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAA;gBACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,yDAAyD;IACzD,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAClC,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Node } from "unist";
|
|
2
|
-
/**
|
|
3
|
-
* Rehype plugin that transforms `<pre><code class="language-mermaid">` fenced
|
|
4
|
-
* blocks into `<Mermaid chart="...">` elements.
|
|
5
|
-
*
|
|
6
|
-
* This allows Mermaid diagram definitions to be authored via standard fenced
|
|
7
|
-
* code blocks (````mermaid) which avoids JSX parsing collisions with
|
|
8
|
-
* Mermaid's `{...}` (decision nodes) and `[...]` (label nodes) syntax.
|
|
9
|
-
*/
|
|
10
|
-
export declare const rehypeMermaid: () => (tree: Node) => void;
|
|
11
|
-
//# sourceMappingURL=rehypeMermaid.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rehypeMermaid.d.ts","sourceRoot":"","sources":["../../src/plugins/rehypeMermaid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAU,MAAM,OAAO,CAAC;AAS1C;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,SAAU,MAAM,IAAI,SAgC7C,CAAC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { visit } from "unist-util-visit";
|
|
2
|
-
/**
|
|
3
|
-
* Rehype plugin that transforms `<pre><code class="language-mermaid">` fenced
|
|
4
|
-
* blocks into `<Mermaid chart="...">` elements.
|
|
5
|
-
*
|
|
6
|
-
* This allows Mermaid diagram definitions to be authored via standard fenced
|
|
7
|
-
* code blocks (````mermaid) which avoids JSX parsing collisions with
|
|
8
|
-
* Mermaid's `{...}` (decision nodes) and `[...]` (label nodes) syntax.
|
|
9
|
-
*/
|
|
10
|
-
export const rehypeMermaid = () => (tree) => {
|
|
11
|
-
visit(tree, "element", (node, index, parent) => {
|
|
12
|
-
if (!parent || index === null || node.tagName !== "pre")
|
|
13
|
-
return;
|
|
14
|
-
const codeEl = node.children?.find((child) => child.type === "element" && child.tagName === "code");
|
|
15
|
-
if (!codeEl)
|
|
16
|
-
return;
|
|
17
|
-
const classList = Array.isArray(codeEl.properties?.className)
|
|
18
|
-
? codeEl.properties.className
|
|
19
|
-
: typeof codeEl.properties?.className === "string"
|
|
20
|
-
? codeEl.properties.className.split(" ").filter(Boolean)
|
|
21
|
-
: [];
|
|
22
|
-
if (!classList.includes("language-mermaid"))
|
|
23
|
-
return;
|
|
24
|
-
const textNode = codeEl.children?.find((child) => child.type === "text");
|
|
25
|
-
const chart = textNode?.value ?? "";
|
|
26
|
-
parent.children[index] = {
|
|
27
|
-
type: "element",
|
|
28
|
-
tagName: "Mermaid",
|
|
29
|
-
properties: { chart },
|
|
30
|
-
children: [],
|
|
31
|
-
};
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=rehypeMermaid.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rehypeMermaid.js","sourceRoot":"","sources":["../../src/plugins/rehypeMermaid.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAQzC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,CAAC,IAAU,EAAE,EAAE;IAChD,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAiB,EAAE,KAAoB,EAAE,MAAqB,EAAE,EAAE;QACxF,IAAI,CAAC,MAAM,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;YAAE,OAAO;QAEhE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAChC,CAAC,KAAK,EAAE,EAAE,CACP,KAAqB,CAAC,IAAI,KAAK,SAAS,IAAK,KAAqB,CAAC,OAAO,KAAK,MAAM,CAC9D,CAAC;QAE7B,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC;YAC3D,CAAC,CAAE,MAAM,CAAC,UAAU,CAAC,SAAsB;YAC3C,CAAC,CAAC,OAAO,MAAM,CAAC,UAAU,EAAE,SAAS,KAAK,QAAQ;gBAChD,CAAC,CAAE,MAAM,CAAC,UAAU,CAAC,SAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBACpE,CAAC,CAAC,EAAE,CAAC;QAET,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAAE,OAAO;QAEpD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAE,KAAkB,CAAC,IAAI,KAAK,MAAM,CAExE,CAAC;QAEd,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;QAEpC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG;YACvB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,EAAE,KAAK,EAAE;YACrB,QAAQ,EAAE,EAAE;SACa,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
|
package/dist/types.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from "react";
|
|
2
|
-
export type TocItem = {
|
|
3
|
-
level: number;
|
|
4
|
-
text: string;
|
|
5
|
-
href: string;
|
|
6
|
-
};
|
|
7
|
-
export type MdxCompileResult<Frontmatter> = {
|
|
8
|
-
content: ReactNode;
|
|
9
|
-
frontmatter: Frontmatter;
|
|
10
|
-
scope?: Record<string, unknown>;
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,gBAAgB,CAAC,WAAW,IAAI;IAC1C,OAAO,EAAE,SAAS,CAAA;IAClB,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC,CAAA"}
|
package/dist/types.js
DELETED
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/dist/utils.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAE7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,WAAW,WAAY,SAAQ,IAAI;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QACrC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAED,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,QAE/C;AAED,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAQ/D;AAED,uDAAuD;AACvD,wBAAgB,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAOhE;AAED,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAGlE"}
|