@cudoment/cudoc 0.3.0 → 0.5.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/README.md +1 -1
- package/dist/document.d.ts +11 -1
- package/dist/document.d.ts.map +1 -1
- package/dist/document.js +38 -3
- package/dist/document.js.map +1 -1
- package/dist/internal/core/mdx/imports.d.ts +21 -0
- package/dist/internal/core/mdx/imports.d.ts.map +1 -0
- package/dist/internal/core/mdx/imports.js +80 -0
- package/dist/internal/core/mdx/imports.js.map +1 -0
- package/dist/internal/core/mdx/index.d.ts +1 -0
- package/dist/internal/core/mdx/index.d.ts.map +1 -1
- package/dist/internal/core/mdx/index.js +1 -0
- package/dist/internal/core/mdx/index.js.map +1 -1
- package/dist/internal/transforms/table-column-layout/create-table.d.ts.map +1 -1
- package/dist/internal/transforms/table-column-layout/create-table.js +40 -17
- package/dist/internal/transforms/table-column-layout/create-table.js.map +1 -1
- package/dist/internal/transforms/table-column-layout/index.d.ts +32 -0
- package/dist/internal/transforms/table-column-layout/index.d.ts.map +1 -1
- package/dist/internal/transforms/table-column-layout/index.js +66 -0
- package/dist/internal/transforms/table-column-layout/index.js.map +1 -1
- package/dist/markdown.d.ts +8 -0
- package/dist/markdown.d.ts.map +1 -1
- package/dist/markdown.js +9 -1
- package/dist/markdown.js.map +1 -1
- package/dist/node/check.d.ts +61 -0
- package/dist/node/check.d.ts.map +1 -0
- package/dist/node/check.js +543 -0
- package/dist/node/check.js.map +1 -0
- package/dist/node/cli.js +57 -11
- package/dist/node/cli.js.map +1 -1
- package/dist/node/dataset.d.ts +14 -1
- package/dist/node/dataset.d.ts.map +1 -1
- package/dist/node/dataset.js +40 -4
- package/dist/node/dataset.js.map +1 -1
- package/dist/node/glob.d.ts +21 -0
- package/dist/node/glob.d.ts.map +1 -0
- package/dist/node/glob.js +61 -0
- package/dist/node/glob.js.map +1 -0
- package/dist/node/library.d.ts +70 -4
- package/dist/node/library.d.ts.map +1 -1
- package/dist/node/library.js +196 -32
- package/dist/node/library.js.map +1 -1
- package/dist/node/local-target.d.ts +63 -0
- package/dist/node/local-target.d.ts.map +1 -0
- package/dist/node/local-target.js +81 -0
- package/dist/node/local-target.js.map +1 -0
- package/dist/node/prepare-embeds.d.ts +16 -2
- package/dist/node/prepare-embeds.d.ts.map +1 -1
- package/dist/node/prepare-embeds.js +42 -9
- package/dist/node/prepare-embeds.js.map +1 -1
- package/dist/node/report.d.ts +9 -0
- package/dist/node/report.d.ts.map +1 -0
- package/dist/node/report.js +48 -0
- package/dist/node/report.js.map +1 -0
- package/dist/node/resolve-embed.d.ts +88 -1
- package/dist/node/resolve-embed.d.ts.map +1 -1
- package/dist/node/resolve-embed.js +321 -63
- package/dist/node/resolve-embed.js.map +1 -1
- package/dist/node/roots.d.ts +67 -0
- package/dist/node/roots.d.ts.map +1 -0
- package/dist/node/roots.js +134 -0
- package/dist/node/roots.js.map +1 -0
- package/dist/node/storage.d.ts +21 -3
- package/dist/node/storage.d.ts.map +1 -1
- package/dist/node/storage.js +41 -12
- package/dist/node/storage.js.map +1 -1
- package/dist/node/watch.d.ts +81 -0
- package/dist/node/watch.d.ts.map +1 -0
- package/dist/node/watch.js +140 -0
- package/dist/node/watch.js.map +1 -0
- package/dist/paged.d.ts +34 -0
- package/dist/paged.d.ts.map +1 -0
- package/dist/paged.js +44 -0
- package/dist/paged.js.map +1 -0
- package/package.json +27 -2
- package/styles.css +5 -2
|
@@ -4,31 +4,96 @@ import { parse as parseYaml } from "yaml";
|
|
|
4
4
|
import { collectSections } from "../sections.js";
|
|
5
5
|
import { nodeText, visibleHeadingText } from "../document.js";
|
|
6
6
|
import { compileDocument } from "../markdown.js";
|
|
7
|
+
import { findHeadingByAnchorId, findParentHeading, getHeadingAnchorId, } from "../internal/core/query/sections.js";
|
|
8
|
+
import { sourceFileOf } from "./roots.js";
|
|
9
|
+
const SPEC_KEYS = ["sources", "select", "render", "replace"];
|
|
10
|
+
const SELECTION_KEYS = ["anchors", "titles", "depth", "includeChildren"];
|
|
11
|
+
const REPLACEMENT_KEYS = ["find", "replace", "regex", "flags"];
|
|
12
|
+
const COLUMN_KEYS = ["header", "value", "link", "minWidth"];
|
|
13
|
+
const CELL_KEYS = ["table", "row", "column", "skipTablesWithHeaders"];
|
|
14
|
+
const SHORTHAND_COLUMNS = ["title", "link", "summary"];
|
|
15
|
+
const CELL_LINKS = ["section", "parent", "document"];
|
|
16
|
+
/** A CSS length a header cell can carry: a number and a unit, nothing else. */
|
|
17
|
+
const CSS_LENGTH = /^\d+(?:\.\d+)?(?:px|rem|em|ch|%)$/;
|
|
18
|
+
const validateColumn = (column, at) => {
|
|
19
|
+
if (typeof column === "string") {
|
|
20
|
+
if (!SHORTHAND_COLUMNS.includes(column))
|
|
21
|
+
throw new Error(`cudoc: ${at}: unknown column "${column}". Known columns: ${SHORTHAND_COLUMNS.join(", ")}, or a mapping with value`);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (!column || typeof column !== "object" || Array.isArray(column))
|
|
25
|
+
throw new Error(`cudoc: ${at} must be a column name or a mapping`);
|
|
26
|
+
const entry = column;
|
|
27
|
+
for (const key of Object.keys(entry))
|
|
28
|
+
if (!COLUMN_KEYS.includes(key))
|
|
29
|
+
throw new Error(`cudoc: ${at}: unknown key "${key}". Known keys: ${COLUMN_KEYS.join(", ")}`);
|
|
30
|
+
if (entry.header !== undefined && typeof entry.header !== "string")
|
|
31
|
+
throw new Error(`cudoc: ${at}.header must be a string`);
|
|
32
|
+
if (entry.link !== undefined && !CELL_LINKS.includes(entry.link))
|
|
33
|
+
throw new Error(`cudoc: ${at}.link must be one of ${CELL_LINKS.join(", ")}`);
|
|
34
|
+
if (entry.minWidth !== undefined &&
|
|
35
|
+
(typeof entry.minWidth !== "string" || !CSS_LENGTH.test(entry.minWidth)))
|
|
36
|
+
throw new Error(`cudoc: ${at}.minWidth must be a CSS length such as 120px or 8rem`);
|
|
37
|
+
const value = entry.value;
|
|
38
|
+
if (typeof value === "string") {
|
|
39
|
+
if (!["title", "summary", "parent"].includes(value))
|
|
40
|
+
throw new Error(`cudoc: ${at}.value: unknown value "${value}". Known values: title, summary, parent, a cell coordinate mapping, or { extractor }`);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
44
|
+
throw new Error(`cudoc: ${at}.value is required`);
|
|
45
|
+
const cell = value;
|
|
46
|
+
if ("extractor" in cell) {
|
|
47
|
+
if (Object.keys(cell).length !== 1 || typeof cell.extractor !== "string")
|
|
48
|
+
throw new Error(`cudoc: ${at}.value.extractor must be a name and nothing else`);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
for (const key of Object.keys(cell))
|
|
52
|
+
if (!CELL_KEYS.includes(key))
|
|
53
|
+
throw new Error(`cudoc: ${at}.value: unknown key "${key}". Known keys: ${CELL_KEYS.join(", ")}, or extractor`);
|
|
54
|
+
for (const key of ["row", "column"])
|
|
55
|
+
if (!Number.isInteger(cell[key]) || cell[key] < 0)
|
|
56
|
+
throw new Error(`cudoc: ${at}.value.${key} must be a non-negative integer`);
|
|
57
|
+
if (cell.table !== undefined &&
|
|
58
|
+
(!Number.isInteger(cell.table) || cell.table < 0))
|
|
59
|
+
throw new Error(`cudoc: ${at}.value.table must be a non-negative integer`);
|
|
60
|
+
if (cell.skipTablesWithHeaders !== undefined &&
|
|
61
|
+
(!Array.isArray(cell.skipTablesWithHeaders) ||
|
|
62
|
+
cell.skipTablesWithHeaders.some((h) => typeof h !== "string")))
|
|
63
|
+
throw new Error(`cudoc: ${at}.value.skipTablesWithHeaders must be strings`);
|
|
64
|
+
};
|
|
7
65
|
export function parseEmbedSpec(value) {
|
|
8
66
|
const spec = parseYaml(value, { maxAliasCount: 100 });
|
|
9
67
|
if (!spec || typeof spec !== "object" || Array.isArray(spec))
|
|
10
68
|
throw new Error("cudoc: embed must be a YAML mapping");
|
|
11
69
|
for (const key of Object.keys(spec))
|
|
12
|
-
if (!
|
|
13
|
-
throw new Error(`cudoc: unknown embed option ${key}`);
|
|
70
|
+
if (!SPEC_KEYS.includes(key))
|
|
71
|
+
throw new Error(`cudoc: unknown embed option "${key}". Known options: ${SPEC_KEYS.join(", ")}`);
|
|
14
72
|
if (!Array.isArray(spec.sources) ||
|
|
15
73
|
!spec.sources.length ||
|
|
16
74
|
spec.sources.some((s) => typeof s !== "string" || !s))
|
|
17
75
|
throw new Error("cudoc: embed sources must be a non-empty string array");
|
|
18
|
-
if (spec.render &&
|
|
19
|
-
spec.render
|
|
20
|
-
|
|
21
|
-
(spec.render
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
76
|
+
if (spec.render !== undefined && spec.render !== "section") {
|
|
77
|
+
if (!spec.render ||
|
|
78
|
+
typeof spec.render !== "object" ||
|
|
79
|
+
Array.isArray(spec.render) ||
|
|
80
|
+
spec.render.type !== "table")
|
|
81
|
+
throw new Error('cudoc: render must be "section" or a mapping with type: table');
|
|
82
|
+
for (const key of Object.keys(spec.render))
|
|
83
|
+
if (!["type", "columns"].includes(key))
|
|
84
|
+
throw new Error(`cudoc: render: unknown key "${key}". Known keys: type, columns`);
|
|
85
|
+
if (spec.render.columns !== undefined) {
|
|
86
|
+
if (!Array.isArray(spec.render.columns) || !spec.render.columns.length)
|
|
87
|
+
throw new Error("cudoc: render.columns must be a non-empty array");
|
|
88
|
+
spec.render.columns.forEach((column, index) => validateColumn(column, `render.columns[${index}]`));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
26
91
|
if (spec.select) {
|
|
27
92
|
if (typeof spec.select !== "object" || Array.isArray(spec.select))
|
|
28
93
|
throw new Error("cudoc: select must be a mapping");
|
|
29
94
|
for (const key of Object.keys(spec.select))
|
|
30
|
-
if (!
|
|
31
|
-
throw new Error(`cudoc: unknown selection ${key}`);
|
|
95
|
+
if (!SELECTION_KEYS.includes(key))
|
|
96
|
+
throw new Error(`cudoc: unknown selection "${key}". Known selections: ${SELECTION_KEYS.join(", ")}`);
|
|
32
97
|
if (spec.select.includeChildren !== undefined &&
|
|
33
98
|
typeof spec.select.includeChildren !== "boolean")
|
|
34
99
|
throw new Error("cudoc: includeChildren must be boolean");
|
|
@@ -38,17 +103,66 @@ export function parseEmbedSpec(value) {
|
|
|
38
103
|
spec.select[key].some((v) => typeof v !== "string")))
|
|
39
104
|
throw new Error(`cudoc: select.${key} must be strings`);
|
|
40
105
|
}
|
|
41
|
-
if (spec.replace !== undefined
|
|
42
|
-
(!Array.isArray(spec.replace)
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
106
|
+
if (spec.replace !== undefined) {
|
|
107
|
+
if (!Array.isArray(spec.replace))
|
|
108
|
+
throw new Error("cudoc: replace must be an array of rules");
|
|
109
|
+
spec.replace.forEach((rule, index) => {
|
|
110
|
+
const at = `replace[${index}]`;
|
|
111
|
+
if (!rule || typeof rule !== "object" || Array.isArray(rule))
|
|
112
|
+
throw new Error(`cudoc: ${at} must be a mapping`);
|
|
113
|
+
// Rejected rather than ignored, for the same reason the two levels above
|
|
114
|
+
// reject theirs: `regexp` instead of `regex` silently turns a pattern
|
|
115
|
+
// into a literal that matches nothing, and nothing later says so.
|
|
116
|
+
for (const key of Object.keys(rule))
|
|
117
|
+
if (!REPLACEMENT_KEYS.includes(key))
|
|
118
|
+
throw new Error(`cudoc: ${at}: unknown key "${key}". Known keys: ${REPLACEMENT_KEYS.join(", ")}`);
|
|
119
|
+
if (typeof rule.find !== "string" || !rule.find)
|
|
120
|
+
throw new Error(`cudoc: ${at}.find must be a non-empty string`);
|
|
121
|
+
if (typeof rule.replace !== "string")
|
|
122
|
+
throw new Error(`cudoc: ${at}.replace must be a string`);
|
|
123
|
+
if (rule.regex !== undefined && typeof rule.regex !== "boolean")
|
|
124
|
+
throw new Error(`cudoc: ${at}.regex must be true or false`);
|
|
125
|
+
if (rule.flags !== undefined) {
|
|
126
|
+
if (typeof rule.flags !== "string")
|
|
127
|
+
throw new Error(`cudoc: ${at}.flags must be a string`);
|
|
128
|
+
if (!rule.regex)
|
|
129
|
+
throw new Error(`cudoc: ${at}.flags has no effect without regex: true`);
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
50
133
|
return spec;
|
|
51
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Parses one fenced block, naming the document and block when it fails.
|
|
137
|
+
*
|
|
138
|
+
* A bare YAML error reads `Missing closing "quote at line 3, column 24` and
|
|
139
|
+
* stops there, which is a poor thing to hand an author: line 3 of which block
|
|
140
|
+
* of which document? Every caller that walks fenced blocks knows both, so the
|
|
141
|
+
* context is attached here instead of being repeated at each of them.
|
|
142
|
+
*/
|
|
143
|
+
export function parseEmbedBlock(value, documentId, number) {
|
|
144
|
+
try {
|
|
145
|
+
return parseEmbedSpec(value);
|
|
146
|
+
}
|
|
147
|
+
catch (cause) {
|
|
148
|
+
const at = cause.linePos?.[0];
|
|
149
|
+
const where = [
|
|
150
|
+
documentId,
|
|
151
|
+
number === undefined ? "embed block" : `embed block ${number}`,
|
|
152
|
+
at && `line ${at.line}, column ${at.col}`,
|
|
153
|
+
]
|
|
154
|
+
.filter(Boolean)
|
|
155
|
+
.join(", ");
|
|
156
|
+
// The parser repeats its coordinate inside the message; `where` already
|
|
157
|
+
// carries it, and saying it twice reads like two different places.
|
|
158
|
+
const message = cause.message
|
|
159
|
+
.replace(/^cudoc: /, "")
|
|
160
|
+
.split("\n")[0]
|
|
161
|
+
.replace(/\s*at line \d+, column \d+:?\s*$/, "")
|
|
162
|
+
.trim();
|
|
163
|
+
throw new Error(`cudoc: ${where}: ${message}`, { cause });
|
|
164
|
+
}
|
|
165
|
+
}
|
|
52
166
|
export function resolveDocumentReference(library, reference, from) {
|
|
53
167
|
const hash = reference.indexOf("#");
|
|
54
168
|
const pathname = hash < 0 ? reference : reference.slice(0, hash);
|
|
@@ -110,9 +224,9 @@ function transformedSection(document, anchor, tree, rules, library, includeChild
|
|
|
110
224
|
return library.compiler
|
|
111
225
|
? library.compiler(source, {
|
|
112
226
|
id: document.id,
|
|
113
|
-
filePath: library.
|
|
114
|
-
|
|
115
|
-
|
|
227
|
+
filePath: (library.roots &&
|
|
228
|
+
sourceFileOf(library.roots, document.sourcePath)) ??
|
|
229
|
+
document.sourcePath,
|
|
116
230
|
options,
|
|
117
231
|
}).tree
|
|
118
232
|
: compileDocument(source, options).tree;
|
|
@@ -210,6 +324,170 @@ function rebase(tree, document, library, prefix) {
|
|
|
210
324
|
attrs[key] = sourceUrl(attrs[key]);
|
|
211
325
|
});
|
|
212
326
|
}
|
|
327
|
+
/** The default columns of a summary table, as they have always been. */
|
|
328
|
+
export const DEFAULT_TABLE_COLUMNS = ["title", "link", "summary"];
|
|
329
|
+
/** A shorthand column written out as the mapping it stands for. */
|
|
330
|
+
const columnSpec = (column) => {
|
|
331
|
+
if (column === "title")
|
|
332
|
+
return { header: "title", value: "title" };
|
|
333
|
+
if (column === "link")
|
|
334
|
+
return { header: "link", value: "title", link: "section" };
|
|
335
|
+
if (column === "summary")
|
|
336
|
+
return { header: "summary", value: "summary" };
|
|
337
|
+
return {
|
|
338
|
+
header: column.header ?? (typeof column.value === "string" ? column.value : ""),
|
|
339
|
+
value: column.value,
|
|
340
|
+
link: column.link,
|
|
341
|
+
minWidth: column.minWidth,
|
|
342
|
+
};
|
|
343
|
+
};
|
|
344
|
+
/**
|
|
345
|
+
* One row for a selected section: what it is called, where it lives and which
|
|
346
|
+
* heading introduces the part of the document it sits in.
|
|
347
|
+
*/
|
|
348
|
+
export function buildEmbedRow(document, anchorId, tree) {
|
|
349
|
+
const heading = tree.children.find((n) => n.type === "heading");
|
|
350
|
+
const title = heading
|
|
351
|
+
? visibleHeadingText(heading)
|
|
352
|
+
: String(document.frontmatter.title ?? document.id);
|
|
353
|
+
let parent;
|
|
354
|
+
if (anchorId) {
|
|
355
|
+
const location = findHeadingByAnchorId(document.tree, anchorId);
|
|
356
|
+
const above = location &&
|
|
357
|
+
findParentHeading(location.parent, location.index, location.heading.depth);
|
|
358
|
+
if (above)
|
|
359
|
+
parent = {
|
|
360
|
+
title: visibleHeadingText(above),
|
|
361
|
+
anchorId: getHeadingAnchorId(above),
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
return {
|
|
365
|
+
document,
|
|
366
|
+
section: { anchorId, title, tree },
|
|
367
|
+
parent,
|
|
368
|
+
url: `${document.route}${anchorId ? `#${anchorId}` : ""}`,
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
/** Tables inside a section, in document order, minus those a coordinate skips. */
|
|
372
|
+
const sectionTables = (tree, skipHeaders) => {
|
|
373
|
+
const tables = [];
|
|
374
|
+
visitNodes(tree, (node) => {
|
|
375
|
+
if (node.type === "table")
|
|
376
|
+
tables.push(node);
|
|
377
|
+
});
|
|
378
|
+
if (!skipHeaders?.length)
|
|
379
|
+
return tables;
|
|
380
|
+
const skip = new Set(skipHeaders.map((header) => header.trim()));
|
|
381
|
+
return tables.filter((table) => !(table.children?.[0]?.children ?? []).some((cell) => skip.has(nodeText(cell).trim())));
|
|
382
|
+
};
|
|
383
|
+
/**
|
|
384
|
+
* The text and link one column shows for one row, and why it is empty when it
|
|
385
|
+
* is. The resolver renders the cell either way; the checker reports the
|
|
386
|
+
* problem, which is worded as what the column asked for and what the section
|
|
387
|
+
* has, so an author can tell a wrong coordinate from a missing table.
|
|
388
|
+
*/
|
|
389
|
+
export function extractCell(library, column, row, context) {
|
|
390
|
+
const spec = columnSpec(column);
|
|
391
|
+
const where = `${row.document.id}${row.section.anchorId ? `#${row.section.anchorId}` : ""}`;
|
|
392
|
+
const linkTo = () => {
|
|
393
|
+
if (spec.link === "section")
|
|
394
|
+
return row.url;
|
|
395
|
+
if (spec.link === "document")
|
|
396
|
+
return row.document.route;
|
|
397
|
+
if (spec.link === "parent")
|
|
398
|
+
return row.parent
|
|
399
|
+
? `${row.document.route}${row.parent.anchorId ? `#${row.parent.anchorId}` : ""}`
|
|
400
|
+
: undefined;
|
|
401
|
+
return undefined;
|
|
402
|
+
};
|
|
403
|
+
const finish = (text, problem, url) => ({
|
|
404
|
+
cell: {
|
|
405
|
+
text: text ?? "",
|
|
406
|
+
...((url ?? linkTo()) ? { url: url ?? linkTo() } : {}),
|
|
407
|
+
},
|
|
408
|
+
...(problem ? { problem } : {}),
|
|
409
|
+
});
|
|
410
|
+
const value = spec.value;
|
|
411
|
+
if (value === "title")
|
|
412
|
+
return finish(row.section.title);
|
|
413
|
+
if (value === "summary") {
|
|
414
|
+
const paragraph = row.section.tree.children.find((n) => n.type === "paragraph");
|
|
415
|
+
return paragraph
|
|
416
|
+
? finish(nodeText(paragraph).trim())
|
|
417
|
+
: finish(undefined, `expected a paragraph in ${where}, found none`);
|
|
418
|
+
}
|
|
419
|
+
if (value === "parent")
|
|
420
|
+
return row.parent
|
|
421
|
+
? finish(row.parent.title)
|
|
422
|
+
: finish(undefined, `expected a heading above ${where}, found none`);
|
|
423
|
+
if ("extractor" in value) {
|
|
424
|
+
const extractor = library.extractors?.[value.extractor];
|
|
425
|
+
if (!extractor)
|
|
426
|
+
throw new Error(`cudoc: extractor "${value.extractor}" is not registered; add it to extractors in the collection options`);
|
|
427
|
+
const result = extractor.extract(row, {
|
|
428
|
+
library,
|
|
429
|
+
documentId: context.documentId,
|
|
430
|
+
column,
|
|
431
|
+
});
|
|
432
|
+
const text = typeof result === "string" ? result : result?.text;
|
|
433
|
+
if (!text)
|
|
434
|
+
return finish(undefined, `extractor "${value.extractor}" returned nothing for ${where}`);
|
|
435
|
+
return finish(text, undefined, typeof result === "object" ? result.url : undefined);
|
|
436
|
+
}
|
|
437
|
+
const tables = sectionTables(row.section.tree, value.skipTablesWithHeaders);
|
|
438
|
+
const index = value.table ?? 0;
|
|
439
|
+
const table = tables[index];
|
|
440
|
+
if (!table)
|
|
441
|
+
return finish(undefined, `expected table ${index} in ${where}, found ${tables.length} table${tables.length === 1 ? "" : "s"}${value.skipTablesWithHeaders?.length ? " after skipping those headed " + value.skipTablesWithHeaders.map((h) => JSON.stringify(h)).join(", ") : ""}`);
|
|
442
|
+
const tableRow = table.children?.[value.row];
|
|
443
|
+
if (!tableRow)
|
|
444
|
+
return finish(undefined, `expected row ${value.row} of table ${index} in ${where}, found ${table.children?.length ?? 0} rows`);
|
|
445
|
+
const cell = tableRow.children?.[value.column];
|
|
446
|
+
if (!cell)
|
|
447
|
+
return finish(undefined, `expected column ${value.column} of row ${value.row} in table ${index} of ${where}, found ${tableRow.children?.length ?? 0} cells`);
|
|
448
|
+
const text = nodeText(cell).trim();
|
|
449
|
+
return text
|
|
450
|
+
? finish(text)
|
|
451
|
+
: finish(undefined, `cell ${value.row}:${value.column} of table ${index} in ${where} is empty`);
|
|
452
|
+
}
|
|
453
|
+
/** The mdast table the extracted cells make, header cells carrying any width. */
|
|
454
|
+
export function buildEmbedTable(library, columns, rows, context) {
|
|
455
|
+
const cell = (value, style) => ({
|
|
456
|
+
type: "tableCell",
|
|
457
|
+
children: value.url
|
|
458
|
+
? [
|
|
459
|
+
{
|
|
460
|
+
type: "link",
|
|
461
|
+
url: value.url,
|
|
462
|
+
children: [{ type: "text", value: value.text }],
|
|
463
|
+
},
|
|
464
|
+
]
|
|
465
|
+
: [{ type: "text", value: value.text }],
|
|
466
|
+
...(style ? { data: { hProperties: { style } } } : {}),
|
|
467
|
+
});
|
|
468
|
+
return {
|
|
469
|
+
type: "root",
|
|
470
|
+
children: [
|
|
471
|
+
{
|
|
472
|
+
type: "table",
|
|
473
|
+
align: columns.map(() => null),
|
|
474
|
+
children: [
|
|
475
|
+
{
|
|
476
|
+
type: "tableRow",
|
|
477
|
+
children: columns.map((column) => {
|
|
478
|
+
const spec = columnSpec(column);
|
|
479
|
+
return cell({ text: spec.header }, spec.minWidth ? `min-width: ${spec.minWidth}` : undefined);
|
|
480
|
+
}),
|
|
481
|
+
},
|
|
482
|
+
...rows.map((row) => ({
|
|
483
|
+
type: "tableRow",
|
|
484
|
+
children: columns.map((column) => cell(extractCell(library, column, row, context).cell)),
|
|
485
|
+
})),
|
|
486
|
+
],
|
|
487
|
+
},
|
|
488
|
+
],
|
|
489
|
+
};
|
|
490
|
+
}
|
|
213
491
|
/** Resolve a configured embed from immutable persisted documents. */
|
|
214
492
|
export function resolveEmbed(library, input, context) {
|
|
215
493
|
const spec = parseEmbedSpec(JSON.stringify(input));
|
|
@@ -221,11 +499,15 @@ export function resolveEmbed(library, input, context) {
|
|
|
221
499
|
idsInNode(node).forEach((id) => reserved.add(id));
|
|
222
500
|
});
|
|
223
501
|
const active = [];
|
|
502
|
+
// Every document a block read, so a later preparation can tell whether the
|
|
503
|
+
// block is still current; `*` when an extractor ran, which may read anything.
|
|
504
|
+
const dependencies = new Set();
|
|
224
505
|
const expand = (spec, from) => {
|
|
225
506
|
const children = [];
|
|
226
507
|
const rows = [];
|
|
227
508
|
for (const source of spec.sources) {
|
|
228
509
|
const { document, anchor } = resolveDocumentReference(library, source, from);
|
|
510
|
+
dependencies.add(document.id);
|
|
229
511
|
const key = `${document.id}#${anchor ?? "*"}`;
|
|
230
512
|
if (active.includes(key) || active.length >= 64)
|
|
231
513
|
throw new Error(`cudoc: cyclic embed: ${[...active, key].join(" -> ")}`);
|
|
@@ -252,22 +534,15 @@ export function resolveEmbed(library, input, context) {
|
|
|
252
534
|
return;
|
|
253
535
|
node.children = node.children.flatMap((child) => {
|
|
254
536
|
if (child.type === "code" && child.lang === "cudoc-embed")
|
|
255
|
-
return expand(
|
|
256
|
-
.children;
|
|
537
|
+
return expand(parseEmbedBlock(child.value, document.id), document.id).children;
|
|
257
538
|
expandNodes(child);
|
|
258
539
|
return [child];
|
|
259
540
|
});
|
|
260
541
|
};
|
|
261
542
|
expandNodes(section);
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
rows.push(
|
|
265
|
-
title: heading
|
|
266
|
-
? visibleHeadingText(heading)
|
|
267
|
-
: selectedSection.title,
|
|
268
|
-
link: `${document.route}${selectedSection.anchorId ? `#${selectedSection.anchorId}` : ""}`,
|
|
269
|
-
summary: paragraph ? nodeText(paragraph) : "",
|
|
270
|
-
});
|
|
543
|
+
// Rows read the section before its ids are rebased, so a cell's link
|
|
544
|
+
// points into the source document rather than at the copy.
|
|
545
|
+
rows.push(buildEmbedRow(document, selectedSection.anchorId, structuredClone(section)));
|
|
271
546
|
let prefix;
|
|
272
547
|
const sectionIds = [];
|
|
273
548
|
visitNodes(section, (node) => {
|
|
@@ -286,29 +561,12 @@ export function resolveEmbed(library, input, context) {
|
|
|
286
561
|
}
|
|
287
562
|
}
|
|
288
563
|
if (spec.render && spec.render !== "section") {
|
|
289
|
-
const columns = spec.render.columns ??
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
});
|
|
296
|
-
return {
|
|
297
|
-
type: "root",
|
|
298
|
-
children: [
|
|
299
|
-
{
|
|
300
|
-
type: "table",
|
|
301
|
-
align: columns.map(() => null),
|
|
302
|
-
children: [
|
|
303
|
-
{ type: "tableRow", children: columns.map((c) => cell(c)) },
|
|
304
|
-
...rows.map((row) => ({
|
|
305
|
-
type: "tableRow",
|
|
306
|
-
children: columns.map((c) => cell(c === "link" ? row.title : row[c], c === "link" ? row.link : undefined)),
|
|
307
|
-
})),
|
|
308
|
-
],
|
|
309
|
-
},
|
|
310
|
-
],
|
|
311
|
-
};
|
|
564
|
+
const columns = spec.render.columns ?? DEFAULT_TABLE_COLUMNS;
|
|
565
|
+
if (columns.some((column) => typeof column === "object" &&
|
|
566
|
+
typeof column.value === "object" &&
|
|
567
|
+
"extractor" in column.value))
|
|
568
|
+
dependencies.add("*");
|
|
569
|
+
return buildEmbedTable(library, columns, rows, context);
|
|
312
570
|
}
|
|
313
571
|
return { type: "root", children };
|
|
314
572
|
};
|
|
@@ -316,6 +574,7 @@ export function resolveEmbed(library, input, context) {
|
|
|
316
574
|
result.data = {
|
|
317
575
|
...result.data,
|
|
318
576
|
cudocEmbedPrefix: `cudoc-${encodeURIComponent(context.documentId)}-${context.prefix ?? "embed"}-`,
|
|
577
|
+
cudocDependencies: [...dependencies].sort(),
|
|
319
578
|
};
|
|
320
579
|
return result;
|
|
321
580
|
}
|
|
@@ -329,11 +588,10 @@ export function resolveDocumentEmbeds(library, documentId) {
|
|
|
329
588
|
if (!node.children)
|
|
330
589
|
return;
|
|
331
590
|
node.children = node.children.flatMap((child) => {
|
|
332
|
-
if (child.type === "code" && child.lang === "cudoc-embed")
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
}).children;
|
|
591
|
+
if (child.type === "code" && child.lang === "cudoc-embed") {
|
|
592
|
+
const number = ++index;
|
|
593
|
+
return resolveEmbed(library, parseEmbedBlock(child.value, documentId, number), { documentId, prefix: `embed-${number}` }).children;
|
|
594
|
+
}
|
|
337
595
|
expand(child);
|
|
338
596
|
return [child];
|
|
339
597
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-embed.js","sourceRoot":"","sources":["../../src/node/resolve-embed.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolve-embed.js","sourceRoot":"","sources":["../../src/node/resolve-embed.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where documents come from, and how a library path maps back to a file.
|
|
3
|
+
*
|
|
4
|
+
* A library has one coordinate system: the library path, which is a root's
|
|
5
|
+
* `base` followed by the file's path under that root. Document ids, links,
|
|
6
|
+
* embed sources and the checker all speak that system, so a project can
|
|
7
|
+
* collect `content/` under `docs` and `glossary/` under `terms` and have
|
|
8
|
+
* `/docs/guide` and `/terms/token` mean what they mean on the site. These
|
|
9
|
+
* helpers are the one place that knows which directory a library path lives
|
|
10
|
+
* in, so nothing else has to.
|
|
11
|
+
*/
|
|
12
|
+
/** A directory to collect and the path segment(s) its documents sit under. */
|
|
13
|
+
export type SourceRoot = {
|
|
14
|
+
/** Directory scanned for `.md` and `.mdx` files. */
|
|
15
|
+
dir: string;
|
|
16
|
+
/**
|
|
17
|
+
* Segment(s) prefixed to every document id from this root, such as `docs`
|
|
18
|
+
* for documents served under `/docs`. Empty or omitted puts the root's
|
|
19
|
+
* documents at the top of the library.
|
|
20
|
+
*/
|
|
21
|
+
base?: string;
|
|
22
|
+
};
|
|
23
|
+
/** A root as the library holds it: absolute directory, normalized base. */
|
|
24
|
+
export type ResolvedRoot = {
|
|
25
|
+
dir: string;
|
|
26
|
+
base: string;
|
|
27
|
+
};
|
|
28
|
+
/** `/docs/` and `docs` are the same base; `..`, `?` and `#` never are one. */
|
|
29
|
+
export declare function normalizeBase(base: string | undefined): string;
|
|
30
|
+
/**
|
|
31
|
+
* The roots a collection or a consumer was given. `sourceRoot` is the
|
|
32
|
+
* single-root shorthand for `roots: [{ dir: sourceRoot }]`; giving both is an
|
|
33
|
+
* error rather than a merge, because the two spell the same thing.
|
|
34
|
+
*/
|
|
35
|
+
export declare function resolveRoots(options: {
|
|
36
|
+
sourceRoot?: string;
|
|
37
|
+
roots?: SourceRoot[];
|
|
38
|
+
}): ResolvedRoot[];
|
|
39
|
+
/** `base/relative`, or just `relative` for a root at the top. */
|
|
40
|
+
export declare const libraryPath: (root: ResolvedRoot, relative: string) => string;
|
|
41
|
+
/**
|
|
42
|
+
* The library path of a file, from the innermost root that contains it.
|
|
43
|
+
*
|
|
44
|
+
* Nested root directories are allowed — a project may collect `docs/` and
|
|
45
|
+
* give `docs/api/` its own base — and the deeper one owns the file.
|
|
46
|
+
*/
|
|
47
|
+
export declare function libraryPathOf(roots: readonly ResolvedRoot[], file: string): string | undefined;
|
|
48
|
+
/** The document id a file collects as: its library path without the extension. */
|
|
49
|
+
export declare const documentIdOf: (roots: readonly ResolvedRoot[], file: string) => string | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* Every file a library path could name, most specific base first.
|
|
52
|
+
*
|
|
53
|
+
* Two roots may share a base, and one base may extend another, so the answer
|
|
54
|
+
* is a list: the caller that wants the file that exists checks each, and the
|
|
55
|
+
* caller that wants to know whether the path could exist at all takes the
|
|
56
|
+
* first. A path that would escape a root's directory is left out.
|
|
57
|
+
*/
|
|
58
|
+
export declare function candidateFiles(roots: readonly ResolvedRoot[], target: string): string[];
|
|
59
|
+
/**
|
|
60
|
+
* The file a library path names, preferring one that exists.
|
|
61
|
+
*
|
|
62
|
+
* When none exists — the caller is about to compile a slice of a document
|
|
63
|
+
* that has since been deleted, say — the first candidate is returned so an
|
|
64
|
+
* error names a real location.
|
|
65
|
+
*/
|
|
66
|
+
export declare function sourceFileOf(roots: readonly ResolvedRoot[], target: string): string | undefined;
|
|
67
|
+
//# sourceMappingURL=roots.d.ts.map
|