@docubook/core 1.7.2 → 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.
Files changed (56) hide show
  1. package/README.md +25 -1
  2. package/dist/chunk-HZJLRYAI.js +45 -0
  3. package/dist/chunk-HZJLRYAI.js.map +1 -0
  4. package/dist/index.d.ts +118 -10
  5. package/dist/index.js +514 -6
  6. package/dist/index.js.map +1 -1
  7. package/dist/utils.d.ts +12 -10
  8. package/dist/utils.js +16 -38
  9. package/dist/utils.js.map +1 -1
  10. package/package.json +5 -3
  11. package/dist/__tests__/compile.test.d.ts +0 -2
  12. package/dist/__tests__/compile.test.d.ts.map +0 -1
  13. package/dist/__tests__/compile.test.js +0 -122
  14. package/dist/__tests__/compile.test.js.map +0 -1
  15. package/dist/__tests__/content.test.d.ts +0 -2
  16. package/dist/__tests__/content.test.d.ts.map +0 -1
  17. package/dist/__tests__/content.test.js +0 -109
  18. package/dist/__tests__/content.test.js.map +0 -1
  19. package/dist/__tests__/extract.test.d.ts +0 -2
  20. package/dist/__tests__/extract.test.d.ts.map +0 -1
  21. package/dist/__tests__/extract.test.js +0 -95
  22. package/dist/__tests__/extract.test.js.map +0 -1
  23. package/dist/__tests__/plugins/handleCodeExpandable.test.d.ts +0 -2
  24. package/dist/__tests__/plugins/handleCodeExpandable.test.d.ts.map +0 -1
  25. package/dist/__tests__/plugins/handleCodeExpandable.test.js +0 -191
  26. package/dist/__tests__/plugins/handleCodeExpandable.test.js.map +0 -1
  27. package/dist/__tests__/plugins/handleCodeTitles.test.d.ts +0 -2
  28. package/dist/__tests__/plugins/handleCodeTitles.test.d.ts.map +0 -1
  29. package/dist/__tests__/plugins/handleCodeTitles.test.js +0 -99
  30. package/dist/__tests__/plugins/handleCodeTitles.test.js.map +0 -1
  31. package/dist/compile.d.ts +0 -28
  32. package/dist/compile.d.ts.map +0 -1
  33. package/dist/compile.js +0 -88
  34. package/dist/compile.js.map +0 -1
  35. package/dist/content.d.ts +0 -52
  36. package/dist/content.d.ts.map +0 -1
  37. package/dist/content.js +0 -102
  38. package/dist/content.js.map +0 -1
  39. package/dist/extract.d.ts +0 -13
  40. package/dist/extract.d.ts.map +0 -1
  41. package/dist/extract.js +0 -96
  42. package/dist/extract.js.map +0 -1
  43. package/dist/index.d.ts.map +0 -1
  44. package/dist/plugins/handleCodeExpandable.d.ts +0 -4
  45. package/dist/plugins/handleCodeExpandable.d.ts.map +0 -1
  46. package/dist/plugins/handleCodeExpandable.js +0 -174
  47. package/dist/plugins/handleCodeExpandable.js.map +0 -1
  48. package/dist/plugins/handleCodeTitles.d.ts +0 -3
  49. package/dist/plugins/handleCodeTitles.d.ts.map +0 -1
  50. package/dist/plugins/handleCodeTitles.js +0 -38
  51. package/dist/plugins/handleCodeTitles.js.map +0 -1
  52. package/dist/types.d.ts +0 -12
  53. package/dist/types.d.ts.map +0 -1
  54. package/dist/types.js +0 -2
  55. package/dist/types.js.map +0 -1
  56. 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
@@ -1 +0,0 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAGvC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAC9C,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAC1C,MAAM,0BAA0B,GAAG,2BAA2B,CAAC;AAE/D,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;IAC3F,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,GAAG,GAAG,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,MAAM,iBAAiB,GAAc,EAAE,CAAC;IAExC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjC,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAE7B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC;gBACf,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9B,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACzC,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;YAED,SAAS;QACX,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC5C,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACpE,iBAAiB,CAAC,IAAI,CAAC;gBACrB,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE;aAClC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,OAAO,EAAE,CAAC;YACZ,iBAAiB,CAAC,IAAI,CAAC;gBACrB,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,IAAI,OAAO,EAAE;gBACnB,IAAI,EAAE,IAAI,OAAO,EAAE;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAc,OAAe;IAC7D,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,IAAmB,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAc,OAAe;IAIxE,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3D,OAAO,EAAE,WAAW,EAAE,IAAmB,EAAE,eAAe,EAAE,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
@@ -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,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,4 +0,0 @@
1
- import type { Node } from "unist";
2
- export declare const handleCodeExpandableRemark: () => (tree: Node) => void;
3
- export declare const handleCodeExpandable: () => (tree: Node) => void;
4
- //# sourceMappingURL=handleCodeExpandable.d.ts.map
@@ -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,3 +0,0 @@
1
- import type { Node } from "unist";
2
- export declare const handleCodeTitles: () => (tree: Node) => void;
3
- //# sourceMappingURL=handleCodeTitles.d.ts.map
@@ -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"}
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
@@ -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
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -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"}