@dogsbay/format-mkdocs 0.2.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/autodoc/markdown-generator.d.ts +6 -0
- package/dist/autodoc/markdown-generator.d.ts.map +1 -0
- package/dist/autodoc/markdown-generator.js +242 -0
- package/dist/autodoc/markdown-generator.js.map +1 -0
- package/dist/autodoc/module-resolver.d.ts +8 -0
- package/dist/autodoc/module-resolver.d.ts.map +1 -0
- package/dist/autodoc/module-resolver.js +218 -0
- package/dist/autodoc/module-resolver.js.map +1 -0
- package/dist/autodoc/python-docstring.d.ts +7 -0
- package/dist/autodoc/python-docstring.d.ts.map +1 -0
- package/dist/autodoc/python-docstring.js +324 -0
- package/dist/autodoc/python-docstring.js.map +1 -0
- package/dist/autodoc/python-parser.d.ts +10 -0
- package/dist/autodoc/python-parser.d.ts.map +1 -0
- package/dist/autodoc/python-parser.js +541 -0
- package/dist/autodoc/python-parser.js.map +1 -0
- package/dist/autodoc/tree-builder.d.ts +9 -0
- package/dist/autodoc/tree-builder.d.ts.map +1 -0
- package/dist/autodoc/tree-builder.js +279 -0
- package/dist/autodoc/tree-builder.js.map +1 -0
- package/dist/autodoc/types.d.ts +128 -0
- package/dist/autodoc/types.d.ts.map +1 -0
- package/dist/autodoc/types.js +2 -0
- package/dist/autodoc/types.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +32 -0
- package/dist/cli.js.map +1 -0
- package/dist/export/to-astro.d.ts +26 -0
- package/dist/export/to-astro.d.ts.map +1 -0
- package/dist/export/to-astro.js +551 -0
- package/dist/export/to-astro.js.map +1 -0
- package/dist/export/to-mkdocs-project.d.ts +27 -0
- package/dist/export/to-mkdocs-project.d.ts.map +1 -0
- package/dist/export/to-mkdocs-project.js +192 -0
- package/dist/export/to-mkdocs-project.js.map +1 -0
- package/dist/export/to-mkdocs.d.ts +6 -0
- package/dist/export/to-mkdocs.d.ts.map +1 -0
- package/dist/export/to-mkdocs.js +178 -0
- package/dist/export/to-mkdocs.js.map +1 -0
- package/dist/importer.d.ts +30 -0
- package/dist/importer.d.ts.map +1 -0
- package/dist/importer.js +376 -0
- package/dist/importer.js.map +1 -0
- package/dist/index.d.ts +57 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +170 -0
- package/dist/index.js.map +1 -0
- package/dist/inline-walker.d.ts +17 -0
- package/dist/inline-walker.d.ts.map +1 -0
- package/dist/inline-walker.js +167 -0
- package/dist/inline-walker.js.map +1 -0
- package/dist/loader.d.ts +42 -0
- package/dist/loader.d.ts.map +1 -0
- package/dist/loader.js +765 -0
- package/dist/loader.js.map +1 -0
- package/dist/parse.d.ts +12 -0
- package/dist/parse.d.ts.map +1 -0
- package/dist/parse.js +46 -0
- package/dist/parse.js.map +1 -0
- package/dist/renderers/mermaid.d.ts +9 -0
- package/dist/renderers/mermaid.d.ts.map +1 -0
- package/dist/renderers/mermaid.js +117 -0
- package/dist/renderers/mermaid.js.map +1 -0
- package/dist/rules/admonition.d.ts +6 -0
- package/dist/rules/admonition.d.ts.map +1 -0
- package/dist/rules/admonition.js +73 -0
- package/dist/rules/admonition.js.map +1 -0
- package/dist/rules/annotations.d.ts +6 -0
- package/dist/rules/annotations.d.ts.map +1 -0
- package/dist/rules/annotations.js +57 -0
- package/dist/rules/annotations.js.map +1 -0
- package/dist/rules/autodoc.d.ts +7 -0
- package/dist/rules/autodoc.d.ts.map +1 -0
- package/dist/rules/autodoc.js +102 -0
- package/dist/rules/autodoc.js.map +1 -0
- package/dist/rules/blocks.d.ts +6 -0
- package/dist/rules/blocks.d.ts.map +1 -0
- package/dist/rules/blocks.js +172 -0
- package/dist/rules/blocks.js.map +1 -0
- package/dist/rules/content-tabs.d.ts +6 -0
- package/dist/rules/content-tabs.d.ts.map +1 -0
- package/dist/rules/content-tabs.js +67 -0
- package/dist/rules/content-tabs.js.map +1 -0
- package/dist/rules/docusaurus-admonitions.d.ts +7 -0
- package/dist/rules/docusaurus-admonitions.d.ts.map +1 -0
- package/dist/rules/docusaurus-admonitions.js +101 -0
- package/dist/rules/docusaurus-admonitions.js.map +1 -0
- package/dist/rules/file-include.d.ts +28 -0
- package/dist/rules/file-include.d.ts.map +1 -0
- package/dist/rules/file-include.js +198 -0
- package/dist/rules/file-include.js.map +1 -0
- package/dist/rules/footnotes.d.ts +6 -0
- package/dist/rules/footnotes.d.ts.map +1 -0
- package/dist/rules/footnotes.js +161 -0
- package/dist/rules/footnotes.js.map +1 -0
- package/dist/rules/icon-shortcode.d.ts +30 -0
- package/dist/rules/icon-shortcode.d.ts.map +1 -0
- package/dist/rules/icon-shortcode.js +169 -0
- package/dist/rules/icon-shortcode.js.map +1 -0
- package/dist/rules/keys.d.ts +6 -0
- package/dist/rules/keys.d.ts.map +1 -0
- package/dist/rules/keys.js +30 -0
- package/dist/rules/keys.js.map +1 -0
- package/dist/rules/link-rewrite.d.ts +7 -0
- package/dist/rules/link-rewrite.d.ts.map +1 -0
- package/dist/rules/link-rewrite.js +93 -0
- package/dist/rules/link-rewrite.js.map +1 -0
- package/dist/rules/math.d.ts +14 -0
- package/dist/rules/math.d.ts.map +1 -0
- package/dist/rules/math.js +114 -0
- package/dist/rules/math.js.map +1 -0
- package/dist/rules/md-in-html.d.ts +6 -0
- package/dist/rules/md-in-html.d.ts.map +1 -0
- package/dist/rules/md-in-html.js +135 -0
- package/dist/rules/md-in-html.js.map +1 -0
- package/dist/rules/snippets.d.ts +10 -0
- package/dist/rules/snippets.d.ts.map +1 -0
- package/dist/rules/snippets.js +109 -0
- package/dist/rules/snippets.js.map +1 -0
- package/dist/rules/templates.d.ts +15 -0
- package/dist/rules/templates.d.ts.map +1 -0
- package/dist/rules/templates.js +105 -0
- package/dist/rules/templates.js.map +1 -0
- package/dist/rules/variants.d.ts +12 -0
- package/dist/rules/variants.d.ts.map +1 -0
- package/dist/rules/variants.js +148 -0
- package/dist/rules/variants.js.map +1 -0
- package/dist/tree.d.ts +2 -0
- package/dist/tree.d.ts.map +1 -0
- package/dist/tree.js +2 -0
- package/dist/tree.js.map +1 -0
- package/dist/utils/indent.d.ts +18 -0
- package/dist/utils/indent.d.ts.map +1 -0
- package/dist/utils/indent.js +56 -0
- package/dist/utils/indent.js.map +1 -0
- package/dist/utils/types.d.ts +19 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +63 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/walker.d.ts +8 -0
- package/dist/walker.d.ts.map +1 -0
- package/dist/walker.js +193 -0
- package/dist/walker.js.map +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { treeToMkdocs } from "./to-mkdocs.js";
|
|
2
|
+
/**
|
|
3
|
+
* Export a set of pages + navigation to a complete MkDocs project.
|
|
4
|
+
* Returns file map (path → content) including mkdocs.yml and all .md files.
|
|
5
|
+
*/
|
|
6
|
+
export function exportMkdocsProject(pages, nav, options) {
|
|
7
|
+
const files = new Map();
|
|
8
|
+
// Generate markdown files
|
|
9
|
+
const allTrees = [];
|
|
10
|
+
for (const page of pages) {
|
|
11
|
+
const md = treeToMkdocs(page.tree);
|
|
12
|
+
const filePath = `docs/${page.slug}.md`;
|
|
13
|
+
files.set(filePath, md);
|
|
14
|
+
allTrees.push(page.tree);
|
|
15
|
+
}
|
|
16
|
+
// Auto-detect required extensions from tree content
|
|
17
|
+
const extensions = detectExtensions(allTrees, options.extraExtensions);
|
|
18
|
+
// Convert nav to mkdocs.yml nav format
|
|
19
|
+
const navYaml = navToYaml(nav, pages);
|
|
20
|
+
// Generate mkdocs.yml
|
|
21
|
+
const yml = buildMkdocsYml(options, extensions, navYaml);
|
|
22
|
+
files.set("mkdocs.yml", yml);
|
|
23
|
+
return { files, mkdocsYml: yml };
|
|
24
|
+
}
|
|
25
|
+
// ── Extension Detection ─────────────────────────────────────────
|
|
26
|
+
/**
|
|
27
|
+
* Walk all trees and detect which MkDocs extensions are needed
|
|
28
|
+
* based on which TreeNode types appear.
|
|
29
|
+
*/
|
|
30
|
+
function detectExtensions(allTrees, extra) {
|
|
31
|
+
const found = new Set();
|
|
32
|
+
// Always include these basics
|
|
33
|
+
found.add("toc:\n permalink: true");
|
|
34
|
+
for (const tree of allTrees) {
|
|
35
|
+
walkForExtensions(tree, found);
|
|
36
|
+
}
|
|
37
|
+
if (extra) {
|
|
38
|
+
for (const e of extra)
|
|
39
|
+
found.add(e);
|
|
40
|
+
}
|
|
41
|
+
return [...found];
|
|
42
|
+
}
|
|
43
|
+
function walkForExtensions(nodes, found) {
|
|
44
|
+
for (const node of nodes) {
|
|
45
|
+
switch (node.type) {
|
|
46
|
+
case "callout":
|
|
47
|
+
found.add("admonition");
|
|
48
|
+
break;
|
|
49
|
+
case "details":
|
|
50
|
+
found.add("admonition");
|
|
51
|
+
found.add("pymdownx.details");
|
|
52
|
+
break;
|
|
53
|
+
case "tabs":
|
|
54
|
+
case "tab":
|
|
55
|
+
found.add("pymdownx.tabbed:\n alternate_style: true");
|
|
56
|
+
break;
|
|
57
|
+
case "code": {
|
|
58
|
+
found.add("pymdownx.highlight:\n anchor_linenums: true");
|
|
59
|
+
found.add("pymdownx.superfences");
|
|
60
|
+
if (node.props?.hasAnnotations) {
|
|
61
|
+
found.add("pymdownx.superfences");
|
|
62
|
+
}
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
case "deflist":
|
|
66
|
+
case "dt":
|
|
67
|
+
case "dd":
|
|
68
|
+
found.add("def_list");
|
|
69
|
+
break;
|
|
70
|
+
case "html-container":
|
|
71
|
+
found.add("md_in_html");
|
|
72
|
+
break;
|
|
73
|
+
case "task-list":
|
|
74
|
+
case "task-item":
|
|
75
|
+
found.add("pymdownx.tasklist:\n custom_checkbox: true");
|
|
76
|
+
break;
|
|
77
|
+
case "math":
|
|
78
|
+
case "math-inline":
|
|
79
|
+
found.add("pymdownx.arithmatex:\n generic: true");
|
|
80
|
+
break;
|
|
81
|
+
case "footnote":
|
|
82
|
+
case "footnote-ref":
|
|
83
|
+
found.add("footnotes");
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
if (node.children)
|
|
87
|
+
walkForExtensions(node.children, found);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// ── Nav Conversion ──────────────────────────────────────────────
|
|
91
|
+
/**
|
|
92
|
+
* Convert NavItem[] to mkdocs.yml nav YAML string.
|
|
93
|
+
*
|
|
94
|
+
* MkDocs nav format:
|
|
95
|
+
* - Home: index.md
|
|
96
|
+
* - Section:
|
|
97
|
+
* - Page: path.md
|
|
98
|
+
*/
|
|
99
|
+
function navToYaml(items, pages, indent = 2) {
|
|
100
|
+
const lines = [];
|
|
101
|
+
const prefix = " ".repeat(indent);
|
|
102
|
+
for (const item of items) {
|
|
103
|
+
if (item.children && item.children.length > 0) {
|
|
104
|
+
// Group with children
|
|
105
|
+
if (item.href) {
|
|
106
|
+
// Group has its own page + children
|
|
107
|
+
lines.push(`${prefix}- ${item.label}:`);
|
|
108
|
+
const slug = hrefToSlug(item.href, pages);
|
|
109
|
+
if (slug) {
|
|
110
|
+
lines.push(`${prefix} - ${item.label}: ${slug}.md`);
|
|
111
|
+
}
|
|
112
|
+
lines.push(navToYaml(item.children, pages, indent + 4));
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
// Group without own page
|
|
116
|
+
lines.push(`${prefix}- ${item.label}:`);
|
|
117
|
+
lines.push(navToYaml(item.children, pages, indent + 4));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
else if (item.href) {
|
|
121
|
+
// Leaf page
|
|
122
|
+
const slug = hrefToSlug(item.href, pages);
|
|
123
|
+
if (slug) {
|
|
124
|
+
lines.push(`${prefix}- ${item.label}: ${slug}.md`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return lines.filter(Boolean).join("\n");
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Convert an href ("/mkdocs/configuring") to a slug ("configuring")
|
|
132
|
+
* by matching against known pages.
|
|
133
|
+
*/
|
|
134
|
+
function hrefToSlug(href, pages) {
|
|
135
|
+
// Strip leading path prefix — take the last segment(s)
|
|
136
|
+
const parts = href.replace(/^\//, "").split("/");
|
|
137
|
+
// Try matching against page slugs
|
|
138
|
+
for (const page of pages) {
|
|
139
|
+
// Exact match on slug
|
|
140
|
+
if (parts.join("/") === page.slug || parts.slice(1).join("/") === page.slug) {
|
|
141
|
+
return page.slug;
|
|
142
|
+
}
|
|
143
|
+
// Match on last segment
|
|
144
|
+
if (parts[parts.length - 1] === page.slug.split("/").pop()) {
|
|
145
|
+
return page.slug;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
// Fallback: use last path segment
|
|
149
|
+
return parts[parts.length - 1] || null;
|
|
150
|
+
}
|
|
151
|
+
// ── YAML Generation ─────────────────────────────────────────────
|
|
152
|
+
function buildMkdocsYml(options, extensions, navYaml) {
|
|
153
|
+
const lines = [];
|
|
154
|
+
lines.push(`site_name: ${options.siteName}`);
|
|
155
|
+
if (options.siteUrl)
|
|
156
|
+
lines.push(`site_url: ${options.siteUrl}`);
|
|
157
|
+
if (options.repoUrl)
|
|
158
|
+
lines.push(`repo_url: ${options.repoUrl}`);
|
|
159
|
+
lines.push("");
|
|
160
|
+
// Theme
|
|
161
|
+
lines.push("theme:");
|
|
162
|
+
lines.push(` name: ${options.theme ?? "material"}`);
|
|
163
|
+
lines.push(" features:");
|
|
164
|
+
lines.push(" - content.code.copy");
|
|
165
|
+
lines.push(" - navigation.instant");
|
|
166
|
+
lines.push(" - navigation.tracking");
|
|
167
|
+
lines.push(" - navigation.sections");
|
|
168
|
+
lines.push(" - toc.integrate");
|
|
169
|
+
lines.push("");
|
|
170
|
+
// Nav
|
|
171
|
+
lines.push("nav:");
|
|
172
|
+
lines.push(navYaml);
|
|
173
|
+
lines.push("");
|
|
174
|
+
// Extensions
|
|
175
|
+
lines.push("markdown_extensions:");
|
|
176
|
+
for (const ext of extensions) {
|
|
177
|
+
if (ext.includes("\n")) {
|
|
178
|
+
// Multi-line extension config (e.g. "pymdownx.tabbed:\n alternate_style: true")
|
|
179
|
+
const extLines = ext.split("\n");
|
|
180
|
+
lines.push(` - ${extLines[0]}`);
|
|
181
|
+
for (let i = 1; i < extLines.length; i++) {
|
|
182
|
+
lines.push(` ${extLines[i].trimStart()}`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
lines.push(` - ${ext}`);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
lines.push("");
|
|
190
|
+
return lines.join("\n");
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=to-mkdocs-project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-mkdocs-project.js","sourceRoot":"","sources":["../../src/export/to-mkdocs-project.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-mkdocs.d.ts","sourceRoot":"","sources":["../../src/export/to-mkdocs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAEtD"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a TreeNode[] back to MkDocs-compatible Markdown.
|
|
3
|
+
*/
|
|
4
|
+
export function treeToMkdocs(nodes) {
|
|
5
|
+
return nodes.map(nodeToMkdocs).join("\n\n");
|
|
6
|
+
}
|
|
7
|
+
function nodeToMkdocs(node) {
|
|
8
|
+
switch (node.type) {
|
|
9
|
+
case "frontmatter":
|
|
10
|
+
return `---\n${node.props?.content ?? ""}\n---`;
|
|
11
|
+
case "references":
|
|
12
|
+
return referencesToMkdocs(node);
|
|
13
|
+
case "callout":
|
|
14
|
+
return calloutToMkdocs(node);
|
|
15
|
+
case "details":
|
|
16
|
+
return detailsToMkdocs(node);
|
|
17
|
+
case "tabs":
|
|
18
|
+
return tabsToMkdocs(node);
|
|
19
|
+
case "tab":
|
|
20
|
+
return tabToMkdocs(node);
|
|
21
|
+
case "code":
|
|
22
|
+
return codeToMkdocs(node);
|
|
23
|
+
case "diagram":
|
|
24
|
+
return diagramToMkdocs(node);
|
|
25
|
+
case "annotation-list":
|
|
26
|
+
return annotationListToMkdocs(node);
|
|
27
|
+
case "heading":
|
|
28
|
+
return headingToMkdocs(node);
|
|
29
|
+
case "paragraph":
|
|
30
|
+
return childrenToMkdocs(node);
|
|
31
|
+
case "prose":
|
|
32
|
+
return node.html ?? "";
|
|
33
|
+
case "blockquote":
|
|
34
|
+
return blockquoteToMkdocs(node);
|
|
35
|
+
case "ordered-list":
|
|
36
|
+
return orderedListToMkdocs(node);
|
|
37
|
+
case "unordered-list":
|
|
38
|
+
return unorderedListToMkdocs(node);
|
|
39
|
+
case "list-item":
|
|
40
|
+
return childrenToMkdocs(node);
|
|
41
|
+
case "html-container":
|
|
42
|
+
return htmlContainerToMkdocs(node);
|
|
43
|
+
case "hr":
|
|
44
|
+
return "---";
|
|
45
|
+
case "html":
|
|
46
|
+
return node.html ?? "";
|
|
47
|
+
default:
|
|
48
|
+
return node.html ?? childrenToMkdocs(node);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function calloutToMkdocs(node) {
|
|
52
|
+
const variant = node.props?.variant ?? "note";
|
|
53
|
+
const title = node.props?.title;
|
|
54
|
+
const inline = node.props?.inline;
|
|
55
|
+
let opener = "!!!";
|
|
56
|
+
let line = `${opener} ${variant}`;
|
|
57
|
+
if (inline)
|
|
58
|
+
line += ` ${inline}`;
|
|
59
|
+
line += titleSuffix(variant, title);
|
|
60
|
+
const inner = childrenToMkdocs(node);
|
|
61
|
+
if (!inner)
|
|
62
|
+
return line;
|
|
63
|
+
return `${line}\n\n${indent(inner, 4)}`;
|
|
64
|
+
}
|
|
65
|
+
function detailsToMkdocs(node) {
|
|
66
|
+
const variant = node.props?.variant ?? "note";
|
|
67
|
+
const title = node.props?.title;
|
|
68
|
+
const open = node.props?.open;
|
|
69
|
+
const opener = open ? "???+" : "???";
|
|
70
|
+
let line = `${opener} ${variant}`;
|
|
71
|
+
line += titleSuffix(variant, title);
|
|
72
|
+
const inner = childrenToMkdocs(node);
|
|
73
|
+
if (!inner)
|
|
74
|
+
return line;
|
|
75
|
+
return `${line}\n\n${indent(inner, 4)}`;
|
|
76
|
+
}
|
|
77
|
+
function tabsToMkdocs(node) {
|
|
78
|
+
if (!node.children)
|
|
79
|
+
return "";
|
|
80
|
+
return node.children.map(nodeToMkdocs).join("\n\n");
|
|
81
|
+
}
|
|
82
|
+
function tabToMkdocs(node) {
|
|
83
|
+
const title = node.props?.title ?? "Tab";
|
|
84
|
+
const inner = childrenToMkdocs(node);
|
|
85
|
+
if (!inner)
|
|
86
|
+
return `=== "${title}"`;
|
|
87
|
+
return `=== "${title}"\n\n${indent(inner, 4)}`;
|
|
88
|
+
}
|
|
89
|
+
function codeToMkdocs(node) {
|
|
90
|
+
const lang = node.props?.lang ?? "";
|
|
91
|
+
const code = (node.props?.code ?? "").replace(/\n$/, "");
|
|
92
|
+
const fence = node.props?.fence ?? "```";
|
|
93
|
+
return `${fence}${lang}\n${code}\n${fence}`;
|
|
94
|
+
}
|
|
95
|
+
function diagramToMkdocs(node) {
|
|
96
|
+
const lang = node.props?.lang ?? "mermaid";
|
|
97
|
+
const code = (node.props?.code ?? "").replace(/\n$/, "");
|
|
98
|
+
return `\`\`\`${lang}\n${code}\n\`\`\``;
|
|
99
|
+
}
|
|
100
|
+
function referencesToMkdocs(node) {
|
|
101
|
+
const entries = (node.props?.entries ?? []);
|
|
102
|
+
return entries
|
|
103
|
+
.map((e) => {
|
|
104
|
+
let line = `[${e.label}]: ${e.href}`;
|
|
105
|
+
if (e.title)
|
|
106
|
+
line += ` "${e.title}"`;
|
|
107
|
+
return line;
|
|
108
|
+
})
|
|
109
|
+
.join("\n");
|
|
110
|
+
}
|
|
111
|
+
function annotationListToMkdocs(node) {
|
|
112
|
+
return childrenToMkdocs(node);
|
|
113
|
+
}
|
|
114
|
+
function headingToMkdocs(node) {
|
|
115
|
+
const level = node.props?.level ?? 1;
|
|
116
|
+
const hashes = "#".repeat(level);
|
|
117
|
+
const text = childrenToMkdocs(node);
|
|
118
|
+
return `${hashes} ${text}`;
|
|
119
|
+
}
|
|
120
|
+
function blockquoteToMkdocs(node) {
|
|
121
|
+
const inner = childrenToMkdocs(node);
|
|
122
|
+
return inner
|
|
123
|
+
.split("\n")
|
|
124
|
+
.map((line) => (line ? `> ${line}` : ">"))
|
|
125
|
+
.join("\n");
|
|
126
|
+
}
|
|
127
|
+
function orderedListToMkdocs(node) {
|
|
128
|
+
if (!node.children)
|
|
129
|
+
return "";
|
|
130
|
+
return node.children
|
|
131
|
+
.map((child, i) => {
|
|
132
|
+
const text = nodeToMkdocs(child);
|
|
133
|
+
return `${i + 1}. ${text}`;
|
|
134
|
+
})
|
|
135
|
+
.join("\n");
|
|
136
|
+
}
|
|
137
|
+
function unorderedListToMkdocs(node) {
|
|
138
|
+
if (!node.children)
|
|
139
|
+
return "";
|
|
140
|
+
return node.children
|
|
141
|
+
.map((child) => {
|
|
142
|
+
const text = nodeToMkdocs(child);
|
|
143
|
+
return `- ${text}`;
|
|
144
|
+
})
|
|
145
|
+
.join("\n");
|
|
146
|
+
}
|
|
147
|
+
function htmlContainerToMkdocs(node) {
|
|
148
|
+
const tag = node.props?.tag ?? "div";
|
|
149
|
+
const attrs = node.props?.attrs ?? {};
|
|
150
|
+
const attrStr = Object.entries(attrs)
|
|
151
|
+
.map(([k, v]) => (v ? ` ${k}="${v}"` : ` ${k}`))
|
|
152
|
+
.join("");
|
|
153
|
+
const inner = childrenToMkdocs(node);
|
|
154
|
+
return `<${tag}${attrStr} markdown>\n\n${inner}\n\n</${tag}>`;
|
|
155
|
+
}
|
|
156
|
+
function childrenToMkdocs(node) {
|
|
157
|
+
if (!node.children || node.children.length === 0)
|
|
158
|
+
return "";
|
|
159
|
+
return node.children.map(nodeToMkdocs).join("\n\n");
|
|
160
|
+
}
|
|
161
|
+
function titleSuffix(variant, title) {
|
|
162
|
+
if (title === null)
|
|
163
|
+
return ' ""';
|
|
164
|
+
if (title === undefined)
|
|
165
|
+
return "";
|
|
166
|
+
const autoTitle = variant.charAt(0).toUpperCase() + variant.slice(1);
|
|
167
|
+
if (title === autoTitle)
|
|
168
|
+
return "";
|
|
169
|
+
return ` "${title}"`;
|
|
170
|
+
}
|
|
171
|
+
function indent(text, spaces) {
|
|
172
|
+
const prefix = " ".repeat(spaces);
|
|
173
|
+
return text
|
|
174
|
+
.split("\n")
|
|
175
|
+
.map((line) => (line ? `${prefix}${line}` : line))
|
|
176
|
+
.join("\n");
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=to-mkdocs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-mkdocs.js","sourceRoot":"","sources":["../../src/export/to-mkdocs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ExportPage, NavItem } from "@dogsbay/types";
|
|
2
|
+
/**
|
|
3
|
+
* Parsed MkDocs project config — extracted from mkdocs.yml.
|
|
4
|
+
*/
|
|
5
|
+
export interface MkdocsConfig {
|
|
6
|
+
siteName: string;
|
|
7
|
+
docsDir: string;
|
|
8
|
+
repoUrl?: string;
|
|
9
|
+
editUri?: string;
|
|
10
|
+
copyright?: string;
|
|
11
|
+
extensions: (string | Record<string, unknown>)[];
|
|
12
|
+
raw: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Result of importing a MkDocs project.
|
|
16
|
+
*/
|
|
17
|
+
export interface MkdocsImportResult {
|
|
18
|
+
pages: ExportPage[];
|
|
19
|
+
nav: NavItem[];
|
|
20
|
+
config: MkdocsConfig;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Read and parse mkdocs.yml.
|
|
24
|
+
*/
|
|
25
|
+
export declare function readMkdocsConfig(sourceDir: string): MkdocsConfig;
|
|
26
|
+
/**
|
|
27
|
+
* Import a MkDocs project: parse all pages and extract navigation.
|
|
28
|
+
*/
|
|
29
|
+
export declare function importMkdocsProject(sourceDir: string, opts?: Record<string, unknown>): Promise<MkdocsImportResult>;
|
|
30
|
+
//# sourceMappingURL=importer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../src/importer.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAK1D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IACjD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,GAAG,EAAE,OAAO,EAAE,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAgBhE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAyJ7B"}
|