@dogsbay/format-rst 0.2.0-beta.114 → 0.2.0-beta.116
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/cli.d.ts +15 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +320 -17
- package/dist/cli.js.map +1 -1
- package/dist/conf-static.d.ts +40 -0
- package/dist/conf-static.d.ts.map +1 -0
- package/dist/conf-static.js +309 -0
- package/dist/conf-static.js.map +1 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/loaders/plain.d.ts +3 -2
- package/dist/loaders/plain.d.ts.map +1 -1
- package/dist/loaders/plain.js +5 -2
- package/dist/loaders/plain.js.map +1 -1
- package/dist/loaders/sphinx.d.ts +34 -0
- package/dist/loaders/sphinx.d.ts.map +1 -1
- package/dist/loaders/sphinx.js +72 -3
- package/dist/loaders/sphinx.js.map +1 -1
- package/dist/parse.d.ts +24 -3
- package/dist/parse.d.ts.map +1 -1
- package/dist/parse.js +9 -5
- package/dist/parse.js.map +1 -1
- package/dist/sidecar.d.ts +6 -0
- package/dist/sidecar.d.ts.map +1 -1
- package/dist/sidecar.js +20 -1
- package/dist/sidecar.js.map +1 -1
- package/dist/transform.d.ts +34 -0
- package/dist/transform.d.ts.map +1 -1
- package/dist/transform.js +672 -63
- package/dist/transform.js.map +1 -1
- package/package.json +4 -3
- package/python/rst2dogsbay.py +115 -12
package/dist/parse.d.ts
CHANGED
|
@@ -1,19 +1,40 @@
|
|
|
1
1
|
import type { TreeNode } from "@dogsbay/types";
|
|
2
|
-
import { type RstLedgerEntry } from "./transform.js";
|
|
2
|
+
import { type AnchorIndex, type RstLedgerEntry } from "./transform.js";
|
|
3
3
|
export interface ParseRstResult {
|
|
4
4
|
tree: TreeNode[];
|
|
5
5
|
title?: string;
|
|
6
6
|
/** Translated Dogsbay-MD body (no frontmatter) — for migrate to disk. */
|
|
7
7
|
markdown: string;
|
|
8
|
+
/** `.. meta:: :description:`, when the page has one. */
|
|
9
|
+
description?: string;
|
|
10
|
+
/** Files the Sphinx build generated that the page uses (see TransformResult). */
|
|
11
|
+
generated: string[];
|
|
12
|
+
/** OpenAPI specs the page embeds, source-relative (see TransformResult). */
|
|
13
|
+
openapiSpecs: string[];
|
|
8
14
|
ledger: RstLedgerEntry[];
|
|
9
15
|
}
|
|
10
|
-
export declare function parseRstFile(filePath: string, hrefPrefix?: string
|
|
16
|
+
export declare function parseRstFile(filePath: string, hrefPrefix?: string,
|
|
17
|
+
/** For an API viewer embed's spec lookup (plain mode has no docPath). */
|
|
18
|
+
embed?: {
|
|
19
|
+
srcDir: string;
|
|
20
|
+
docname: string;
|
|
21
|
+
extraDirs?: string[];
|
|
22
|
+
staticDirs?: string[];
|
|
23
|
+
}): ParseRstResult;
|
|
11
24
|
/**
|
|
12
25
|
* Transform an already-obtained docutils XML string (no sidecar spawn).
|
|
13
26
|
* `docPath` is the doc's root-relative slug (Sphinx mode) — enables
|
|
14
27
|
* cross-ref (`:doc:`/`:ref:`) resolution to root-relative links.
|
|
15
28
|
* `hrefPrefix` (site basePath) is applied to those resolved links so they
|
|
16
29
|
* match the nav's hrefs on subpath deploys.
|
|
30
|
+
* `anchors` (Sphinx mode) maps every doc's section ids to heading ids, so
|
|
31
|
+
* fragments into other pages land on an anchor that exists.
|
|
17
32
|
*/
|
|
18
|
-
export declare function parseRstXml(xml: string, docPath?: string, hrefPrefix?: string
|
|
33
|
+
export declare function parseRstXml(xml: string, docPath?: string, hrefPrefix?: string, anchors?: AnchorIndex, dirs?: {
|
|
34
|
+
buildDir?: string | string[];
|
|
35
|
+
srcDir?: string;
|
|
36
|
+
extraDirs?: string[];
|
|
37
|
+
staticDirs?: string[];
|
|
38
|
+
docname?: string;
|
|
39
|
+
}): ParseRstResult;
|
|
19
40
|
//# sourceMappingURL=parse.d.ts.map
|
package/dist/parse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAA0B,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE/F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,4EAA4E;IAC5E,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM;AACnB,yEAAyE;AACzE,KAAK,CAAC,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACvF,cAAc,CAGhB;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,WAAW,EACrB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACtH,cAAc,CAIhB"}
|
package/dist/parse.js
CHANGED
|
@@ -11,9 +11,11 @@
|
|
|
11
11
|
import { dogsbayMdToTree } from "@dogsbay/format-dogsbay-md";
|
|
12
12
|
import { rstFileToXml } from "./sidecar.js";
|
|
13
13
|
import { docutilsXmlToDogsbayMd } from "./transform.js";
|
|
14
|
-
export function parseRstFile(filePath, hrefPrefix
|
|
14
|
+
export function parseRstFile(filePath, hrefPrefix,
|
|
15
|
+
/** For an API viewer embed's spec lookup (plain mode has no docPath). */
|
|
16
|
+
embed) {
|
|
15
17
|
const xml = rstFileToXml(filePath, "plain");
|
|
16
|
-
return parseRstXml(xml, undefined, hrefPrefix);
|
|
18
|
+
return parseRstXml(xml, undefined, hrefPrefix, undefined, embed);
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
19
21
|
* Transform an already-obtained docutils XML string (no sidecar spawn).
|
|
@@ -21,10 +23,12 @@ export function parseRstFile(filePath, hrefPrefix) {
|
|
|
21
23
|
* cross-ref (`:doc:`/`:ref:`) resolution to root-relative links.
|
|
22
24
|
* `hrefPrefix` (site basePath) is applied to those resolved links so they
|
|
23
25
|
* match the nav's hrefs on subpath deploys.
|
|
26
|
+
* `anchors` (Sphinx mode) maps every doc's section ids to heading ids, so
|
|
27
|
+
* fragments into other pages land on an anchor that exists.
|
|
24
28
|
*/
|
|
25
|
-
export function parseRstXml(xml, docPath, hrefPrefix) {
|
|
26
|
-
const { markdown, title, ledger } = docutilsXmlToDogsbayMd(xml, { docPath, hrefPrefix });
|
|
29
|
+
export function parseRstXml(xml, docPath, hrefPrefix, anchors, dirs) {
|
|
30
|
+
const { markdown, title, description, generated, openapiSpecs, ledger } = docutilsXmlToDogsbayMd(xml, { docPath, hrefPrefix, anchors, ...dirs });
|
|
27
31
|
const { tree } = dogsbayMdToTree(markdown);
|
|
28
|
-
return { tree, title, markdown, ledger };
|
|
32
|
+
return { tree, title, markdown, description, generated, openapiSpecs, ledger };
|
|
29
33
|
}
|
|
30
34
|
//# sourceMappingURL=parse.js.map
|
package/dist/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAyC,MAAM,gBAAgB,CAAC;AAgB/F,MAAM,UAAU,YAAY,CAC1B,QAAgB,EAChB,UAAmB;AACnB,yEAAyE;AACzE,KAAwF;IAExF,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CACzB,GAAW,EACX,OAAgB,EAChB,UAAmB,EACnB,OAAqB,EACrB,IAAuH;IAEvH,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACjJ,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AACjF,CAAC"}
|
package/dist/sidecar.d.ts
CHANGED
|
@@ -18,4 +18,10 @@ export declare function sphinxAvailable(): boolean;
|
|
|
18
18
|
* per-doc docutils XML files under outDir. Throws on failure.
|
|
19
19
|
*/
|
|
20
20
|
export declare function sphinxBuildXml(srcDir: string, outDir: string): void;
|
|
21
|
+
/**
|
|
22
|
+
* True when the found Python can import a Python module (no project code
|
|
23
|
+
* runs: just `import`). migrate-myst asks for `myst_parser` before choosing
|
|
24
|
+
* a Sphinx build, since Sphinx alone cannot read a MyST project.
|
|
25
|
+
*/
|
|
26
|
+
export declare function pythonHasModule(name: string): boolean;
|
|
21
27
|
//# sourceMappingURL=sidecar.d.ts.map
|
package/dist/sidecar.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidecar.d.ts","sourceRoot":"","sources":["../src/sidecar.ts"],"names":[],"mappings":"AAmBA,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAY7C;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAuB1C;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,IAAI,MAAM,CAM7C;AAYD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,GAAG,QAAkB,GAAG,MAAM,CAczF;AAED,wDAAwD;AACxD,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,IAAI,OAAO,CAazC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAyBnE"}
|
|
1
|
+
{"version":3,"file":"sidecar.d.ts","sourceRoot":"","sources":["../src/sidecar.ts"],"names":[],"mappings":"AAmBA,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAY7C;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAuB1C;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,IAAI,MAAM,CAM7C;AAYD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,GAAG,QAAkB,GAAG,MAAM,CAczF;AAED,wDAAwD;AACxD,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,IAAI,OAAO,CAazC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAyBnE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUrD"}
|
package/dist/sidecar.js
CHANGED
|
@@ -123,7 +123,7 @@ export function sphinxBuildXml(srcDir, outDir) {
|
|
|
123
123
|
// this machine (inherent to Sphinx, same as running the project's own
|
|
124
124
|
// build). Warn so a user migrating an untrusted repo knows.
|
|
125
125
|
console.warn(`rst: running the project's Sphinx build (executes ${srcDir}/conf.py and imports its modules).\n` +
|
|
126
|
-
" Only migrate repositories you trust.
|
|
126
|
+
" Only migrate repositories you trust. To run no project code: migrate-rst --loader plain, migrate-myst --loader translate, convert --from myst.");
|
|
127
127
|
try {
|
|
128
128
|
execFileSync(py, [SCRIPT, "--sphinx-build", srcDir, outDir], {
|
|
129
129
|
encoding: "utf-8",
|
|
@@ -138,4 +138,23 @@ export function sphinxBuildXml(srcDir, outDir) {
|
|
|
138
138
|
"The project's conf.py may reference extensions/deps not installed in this Python env.");
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* True when the found Python can import a Python module (no project code
|
|
143
|
+
* runs: just `import`). migrate-myst asks for `myst_parser` before choosing
|
|
144
|
+
* a Sphinx build, since Sphinx alone cannot read a MyST project.
|
|
145
|
+
*/
|
|
146
|
+
export function pythonHasModule(name) {
|
|
147
|
+
if (!/^[A-Za-z_][\w.]*$/.test(name))
|
|
148
|
+
return false;
|
|
149
|
+
const py = findPython();
|
|
150
|
+
if (!py)
|
|
151
|
+
return false;
|
|
152
|
+
try {
|
|
153
|
+
execFileSync(py, ["-c", `import ${name}`], { timeout: 20_000, stdio: "ignore" });
|
|
154
|
+
return true;
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
141
160
|
//# sourceMappingURL=sidecar.js.map
|
package/dist/sidecar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../src/sidecar.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../src/sidecar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,yDAAyD;AACzD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;AAE5D,MAAM,OAAO,eAAgB,SAAQ,KAAK;CAAG;AAE7C,wEAAwE;AACxE,SAAS,gBAAgB;IACvB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC9B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,IAAI,YAAuC,CAAC;AAE5C;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC;IACpD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,+DAA+D;QAC/D,MAAM,IAAI,eAAe,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;gBAChD,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,YAAY,GAAG,EAAE,CAAC;gBAClB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;QACpE,CAAC;IACH,CAAC;IACD,YAAY,GAAG,IAAI,CAAC;IACpB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,oBAAoB;IAClC,OAAO,CACL,8EAA8E;QAC9E,wFAAwF;QACxF,kFAAkF,CACnF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,gFAAgF;AAChF,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B,4EAA4E;AAC5E,MAAM,gBAAgB,GAAG,EAAE,GAAG,MAAM,CAAC;AAErC,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,OAA2B,OAAO;IAC/E,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,eAAe,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE;YAC1D,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,kDAAkD;YAC/E,OAAO,EAAE,eAAe;YACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,IAAI,eAAe,CAAC,sBAAsB,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,UAAU,EAAE,KAAK,IAAI,CAAC;AAC/B,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,eAAe;IAC7B,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE;YACvD,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,MAAc;IAC3D,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,eAAe,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3D,0EAA0E;IAC1E,2EAA2E;IAC3E,sEAAsE;IACtE,4DAA4D;IAC5D,OAAO,CAAC,IAAI,CACV,qDAAqD,MAAM,sCAAsC;QAC/F,kJAAkJ,CACrJ,CAAC;IACF,IAAI,CAAC;QACH,YAAY,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;YAC3D,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;YAC3B,OAAO,EAAE,gBAAgB;YACzB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,IAAI,eAAe,CACvB,2BAA2B,MAAM,KAAK,GAAG,IAAI;YAC3C,uFAAuF,CAC1F,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IACtB,IAAI,CAAC;QACH,YAAY,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
package/dist/transform.d.ts
CHANGED
|
@@ -6,14 +6,48 @@ export interface TransformResult {
|
|
|
6
6
|
markdown: string;
|
|
7
7
|
/** Document title from the root `<document title="…">`, if any. */
|
|
8
8
|
title?: string;
|
|
9
|
+
/** `.. meta:: :description:`, for the page's front matter. */
|
|
10
|
+
description?: string;
|
|
11
|
+
/** Files the Sphinx build GENERATED (charts), relative to its output dir:
|
|
12
|
+
* the page refers to them under `/sphinx-generated/`, and the importer
|
|
13
|
+
* copies them out before the build dir is removed. */
|
|
14
|
+
generated: string[];
|
|
15
|
+
/** OpenAPI specs the page embeds (Swagger UI / Redoc), as source-relative
|
|
16
|
+
* paths: the importer copies them next to the migrated pages, where the
|
|
17
|
+
* page's `:::openapi{spec="/…"}` expects them. */
|
|
18
|
+
openapiSpecs: string[];
|
|
9
19
|
ledger: RstLedgerEntry[];
|
|
10
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Anchor ids per document: every id a section carries (docutils' own slug
|
|
23
|
+
* and each label) → the ONE id its heading is given. Built over the whole
|
|
24
|
+
* corpus first (`collectSectionAnchors`), so a fragment pointing into
|
|
25
|
+
* another page is rewritten to an anchor that exists there.
|
|
26
|
+
*/
|
|
27
|
+
export type AnchorIndex = ReadonlyMap<string, ReadonlyMap<string, string>>;
|
|
11
28
|
export interface TransformOptions {
|
|
12
29
|
/** Docroot-relative slug of this doc (Sphinx mode). Enables cross-ref
|
|
13
30
|
* resolution: `:doc:` refuris are relative to the current doc. */
|
|
14
31
|
docPath?: string;
|
|
15
32
|
/** URL prefix (site basePath) for resolved cross-doc links. */
|
|
16
33
|
hrefPrefix?: string;
|
|
34
|
+
/** Section anchors of every doc (Sphinx mode); this doc's own are always
|
|
35
|
+
* collected from its XML. */
|
|
36
|
+
anchors?: AnchorIndex;
|
|
37
|
+
/** Sphinx's output dir and source dir: an extension can write an image's
|
|
38
|
+
* ABSOLUTE path into either (sphinx-needs charts land in the output dir).
|
|
39
|
+
* The build dir may be given as several spellings (real and as-given). */
|
|
40
|
+
buildDir?: string | string[];
|
|
41
|
+
srcDir?: string;
|
|
42
|
+
/** Sphinx `html_extra_path` / `html_static_path`, absolute: where a spec
|
|
43
|
+
* an API viewer loads in the browser can live. */
|
|
44
|
+
extraDirs?: string[];
|
|
45
|
+
staticDirs?: string[];
|
|
46
|
+
/** The doc's name for an embed's spec lookup when there is no `docPath`
|
|
47
|
+
* (plain mode, which resolves no cross-references). */
|
|
48
|
+
docname?: string;
|
|
17
49
|
}
|
|
18
50
|
export declare function docutilsXmlToDogsbayMd(xml: string, opts?: TransformOptions): TransformResult;
|
|
51
|
+
/** Section anchors of one XML document, for the corpus pre-pass. */
|
|
52
|
+
export declare function collectSectionAnchors(xml: string): Map<string, string>;
|
|
19
53
|
//# sourceMappingURL=transform.d.ts.map
|
package/dist/transform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AA2CA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;2DAEuD;IACvD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;uDAEmD;IACnD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AA4C3E,MAAM,WAAW,gBAAgB;IAC/B;uEACmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;kCAC8B;IAC9B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;+EAE2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;uDACmD;IACnD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;4DACwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqB,GAAG,eAAe,CAqDhG;AA0FD,oEAAoE;AACpE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAGtE"}
|