lens-content-processor 0.43.0 → 0.44.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/bundler/article.d.ts +37 -30
- package/dist/bundler/article.js +67 -80
- package/dist/bundler/article.js.map +1 -1
- package/dist/flattener/index.d.ts +10 -1
- package/dist/flattener/index.js +116 -84
- package/dist/flattener/index.js.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.js +28 -15
- package/dist/index.js.map +1 -1
- package/dist/parser/article.js +4 -4
- package/dist/parser/article.js.map +1 -1
- package/dist/parser/lens.js +2 -2
- package/dist/parser/lens.js.map +1 -1
- package/dist/parser/widget.d.ts +8 -0
- package/dist/parser/widget.js +14 -1
- package/dist/parser/widget.js.map +1 -1
- package/dist/reference-graph.js +4 -2
- package/dist/reference-graph.js.map +1 -1
- package/dist/validator/article-imports.d.ts +68 -0
- package/dist/validator/article-imports.js +265 -0
- package/dist/validator/article-imports.js.map +1 -0
- package/dist/validator/article-structure.js +71 -27
- package/dist/validator/article-structure.js.map +1 -1
- package/dist/validator/directives.js +1 -1
- package/dist/validator/directives.js.map +1 -1
- package/package.json +1 -1
- package/dist/validator/video-imports.d.ts +0 -35
- package/dist/validator/video-imports.js +0 -183
- package/dist/validator/video-imports.js.map +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { ContentError } from
|
|
1
|
+
import type { ContentError } from "../index.js";
|
|
2
|
+
import { type ArticleImportSyntax } from "../validator/article-imports.js";
|
|
2
3
|
export interface ArticleExcerptResult {
|
|
3
4
|
content?: string;
|
|
4
5
|
startIndex?: number;
|
|
@@ -9,37 +10,41 @@ export interface ExcerptInput {
|
|
|
9
10
|
from?: string;
|
|
10
11
|
to?: string;
|
|
11
12
|
}
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
/**
|
|
14
|
+
* An inline import (`::video[[...]]` or `![[../widgets/...]]`) found in an
|
|
15
|
+
* article body.
|
|
16
|
+
*/
|
|
17
|
+
export type ArticleImport = ArticleImportSyntax & {
|
|
18
|
+
/** Character offset in the cleaned body where the import sits. */
|
|
15
19
|
offset: number;
|
|
16
|
-
/** Wikilink target, e.g. "../video_transcripts/name". */
|
|
17
|
-
target: string;
|
|
18
|
-
from?: string;
|
|
19
|
-
to?: string;
|
|
20
20
|
/** The trimmed source line, so callers can locate it in the raw file. */
|
|
21
21
|
rawLine: string;
|
|
22
|
-
}
|
|
22
|
+
};
|
|
23
23
|
export interface ParsedArticleBody {
|
|
24
|
-
/** Publishable body with all
|
|
24
|
+
/** Publishable body with all inline import lines removed. */
|
|
25
25
|
body: string;
|
|
26
26
|
/** Imports in document order, with offsets into the cleaned body. */
|
|
27
|
-
|
|
27
|
+
imports: ArticleImport[];
|
|
28
28
|
}
|
|
29
|
-
/** A piece of an excerpt that contains inline
|
|
29
|
+
/** A piece of an excerpt that contains inline imports. */
|
|
30
30
|
export type ArticlePart = {
|
|
31
|
-
kind:
|
|
31
|
+
kind: "prose";
|
|
32
32
|
content: string;
|
|
33
33
|
/** Prose continues contiguously after the following video part. */
|
|
34
34
|
contiguousWithNext?: boolean;
|
|
35
35
|
/** Prose contiguously continues the part before the preceding video. */
|
|
36
36
|
contiguousWithPrev?: boolean;
|
|
37
37
|
} | {
|
|
38
|
-
kind:
|
|
38
|
+
kind: "videoRef";
|
|
39
39
|
target: string;
|
|
40
40
|
from?: string;
|
|
41
41
|
to?: string;
|
|
42
42
|
rawLine: string;
|
|
43
|
+
} | {
|
|
44
|
+
kind: "widgetRef";
|
|
45
|
+
target: string;
|
|
46
|
+
height?: string;
|
|
47
|
+
rawLine: string;
|
|
43
48
|
};
|
|
44
49
|
/** One lens excerpt of an article, fully resolved against the source body. */
|
|
45
50
|
export interface ResolvedExcerpt {
|
|
@@ -48,10 +53,10 @@ export interface ResolvedExcerpt {
|
|
|
48
53
|
collapsed_before?: string;
|
|
49
54
|
collapsed_after?: string;
|
|
50
55
|
/**
|
|
51
|
-
* Present when the excerpt contains inline
|
|
52
|
-
* ordered prose/videoRef parts. Prose parts carry only content
|
|
53
|
-
* contiguity; collapsed_* stay on this excerpt (they belong to its
|
|
54
|
-
* boundaries, never to
|
|
56
|
+
* Present when the excerpt contains inline imports: the excerpt split into
|
|
57
|
+
* ordered prose/videoRef/widgetRef parts. Prose parts carry only content
|
|
58
|
+
* and contiguity; collapsed_* stay on this excerpt (they belong to its
|
|
59
|
+
* outer boundaries, never to an import seam).
|
|
55
60
|
*/
|
|
56
61
|
parts?: ArticlePart[];
|
|
57
62
|
error?: ContentError;
|
|
@@ -63,14 +68,16 @@ export interface ResolvedExcerpt {
|
|
|
63
68
|
export declare function stripFrontmatter(article: string): string;
|
|
64
69
|
/**
|
|
65
70
|
* Produce the renderable body of an article: frontmatter and authoring markup
|
|
66
|
-
* stripped, and every valid own-line `::video[[...]]
|
|
67
|
-
* recorded with its character offset into
|
|
68
|
-
* work (anchor search, excerpt slicing,
|
|
69
|
-
* this cleaned body, so import lines can
|
|
70
|
-
* and anchors can never collide with
|
|
71
|
+
* stripped, and every valid own-line inline import (`::video[[...]]`,
|
|
72
|
+
* `![[../widgets/...]]`) removed and recorded with its character offset into
|
|
73
|
+
* the cleaned body. All downstream work (anchor search, excerpt slicing,
|
|
74
|
+
* collapsed text, word counts) uses this cleaned body, so import lines can
|
|
75
|
+
* never leak into reader-visible text and anchors can never collide with
|
|
76
|
+
* import syntax.
|
|
71
77
|
*
|
|
72
|
-
* Malformed import lines
|
|
73
|
-
*
|
|
78
|
+
* Malformed import lines, and imports inside hide/collapse containers, are
|
|
79
|
+
* left in place as inert prose — parse-time validation
|
|
80
|
+
* (validator/article-imports.ts) reports them.
|
|
74
81
|
*/
|
|
75
82
|
export declare function parseArticleBody(article: string): ParsedArticleBody;
|
|
76
83
|
/**
|
|
@@ -91,13 +98,13 @@ export declare function extractArticleExcerpt(article: string, fromAnchor: strin
|
|
|
91
98
|
/**
|
|
92
99
|
* Resolve every excerpt a lens takes from one article source, in one pass:
|
|
93
100
|
* extract each excerpt, compute the collapsed (elided) text at its outer
|
|
94
|
-
* boundaries, and split it into prose/videoRef parts around any
|
|
95
|
-
*
|
|
101
|
+
* boundaries, and split it into prose/videoRef/widgetRef parts around any
|
|
102
|
+
* inline imports that fall inside its range.
|
|
96
103
|
*
|
|
97
104
|
* Excerpts are expected in document order (as authored in the lens). An
|
|
98
|
-
* import's offset points at the text that follows it, so
|
|
99
|
-
* excerpt ranges attaches to the later excerpt; the consumed-set guard
|
|
100
|
-
* overlapping excerpt ranges from emitting the same
|
|
105
|
+
* import's offset points at the text that follows it, so an import between
|
|
106
|
+
* two excerpt ranges attaches to the later excerpt; the consumed-set guard
|
|
107
|
+
* keeps overlapping excerpt ranges from emitting the same import twice.
|
|
101
108
|
*
|
|
102
109
|
* @param article - The full article content
|
|
103
110
|
* @param excerpts - Excerpt specifications { from, to } in lens order
|
package/dist/bundler/article.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { stripAuthoringMarkup } from
|
|
2
|
-
import {
|
|
1
|
+
import { stripAuthoringMarkup } from "../authoring-markup.js";
|
|
2
|
+
import { parseArticleImportLine, scanArticleLines, } from "../validator/article-imports.js";
|
|
3
3
|
/**
|
|
4
4
|
* Find all occurrences of a substring in text (case-insensitive).
|
|
5
5
|
* Returns array of start indices.
|
|
@@ -29,54 +29,43 @@ export function stripFrontmatter(article) {
|
|
|
29
29
|
function publishableArticleBody(article) {
|
|
30
30
|
return stripAuthoringMarkup(stripFrontmatter(article)).trim();
|
|
31
31
|
}
|
|
32
|
-
// CommonMark permits up to three leading spaces before a fenced code block.
|
|
33
|
-
const CODE_FENCE = /^ {0,3}(?:```|~~~)/;
|
|
34
32
|
/**
|
|
35
33
|
* Produce the renderable body of an article: frontmatter and authoring markup
|
|
36
|
-
* stripped, and every valid own-line `::video[[...]]
|
|
37
|
-
* recorded with its character offset into
|
|
38
|
-
* work (anchor search, excerpt slicing,
|
|
39
|
-
* this cleaned body, so import lines can
|
|
40
|
-
* and anchors can never collide with
|
|
34
|
+
* stripped, and every valid own-line inline import (`::video[[...]]`,
|
|
35
|
+
* `![[../widgets/...]]`) removed and recorded with its character offset into
|
|
36
|
+
* the cleaned body. All downstream work (anchor search, excerpt slicing,
|
|
37
|
+
* collapsed text, word counts) uses this cleaned body, so import lines can
|
|
38
|
+
* never leak into reader-visible text and anchors can never collide with
|
|
39
|
+
* import syntax.
|
|
41
40
|
*
|
|
42
|
-
* Malformed import lines
|
|
43
|
-
*
|
|
41
|
+
* Malformed import lines, and imports inside hide/collapse containers, are
|
|
42
|
+
* left in place as inert prose — parse-time validation
|
|
43
|
+
* (validator/article-imports.ts) reports them.
|
|
44
44
|
*/
|
|
45
45
|
export function parseArticleBody(article) {
|
|
46
|
-
const
|
|
46
|
+
const scanned = scanArticleLines(publishableArticleBody(article));
|
|
47
47
|
const outLines = [];
|
|
48
48
|
const pending = [];
|
|
49
|
-
let
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if (parsed.import.to !== undefined)
|
|
68
|
-
entry.to = parsed.import.to;
|
|
69
|
-
pending.push(entry);
|
|
70
|
-
// Removing the line would leave the blank lines around it doubled up;
|
|
71
|
-
// swallow one so the prose keeps a single paragraph break.
|
|
72
|
-
if (outLines.length > 0 &&
|
|
73
|
-
outLines[outLines.length - 1].trim() === '' &&
|
|
74
|
-
i + 1 < rawLines.length &&
|
|
75
|
-
rawLines[i + 1].trim() === '') {
|
|
76
|
-
i++;
|
|
77
|
-
}
|
|
78
|
-
continue;
|
|
49
|
+
for (let i = 0; i < scanned.length; i++) {
|
|
50
|
+
const { line, prose, hiddenIn } = scanned[i];
|
|
51
|
+
// Inside hide/collapse an import stays inert prose: splitting there would
|
|
52
|
+
// tear the container apart (validation rejects the placement anyway).
|
|
53
|
+
const parsed = prose && !hiddenIn ? parseArticleImportLine(line) : undefined;
|
|
54
|
+
if (parsed?.kind === "import") {
|
|
55
|
+
pending.push({
|
|
56
|
+
...parsed.import,
|
|
57
|
+
outLineIndex: outLines.length,
|
|
58
|
+
rawLine: line.trim(),
|
|
59
|
+
});
|
|
60
|
+
// Removing the line would leave the blank lines around it doubled up;
|
|
61
|
+
// swallow one so the prose keeps a single paragraph break.
|
|
62
|
+
if (outLines.length > 0 &&
|
|
63
|
+
outLines[outLines.length - 1].trim() === "" &&
|
|
64
|
+
i + 1 < scanned.length &&
|
|
65
|
+
scanned[i + 1].line.trim() === "") {
|
|
66
|
+
i++;
|
|
79
67
|
}
|
|
68
|
+
continue;
|
|
80
69
|
}
|
|
81
70
|
outLines.push(line);
|
|
82
71
|
}
|
|
@@ -87,11 +76,11 @@ export function parseArticleBody(article) {
|
|
|
87
76
|
lineStartOffsets.push(acc);
|
|
88
77
|
acc += line.length + 1;
|
|
89
78
|
}
|
|
90
|
-
const joined = outLines.join(
|
|
79
|
+
const joined = outLines.join("\n");
|
|
91
80
|
// Imports at the very start/end leave blank edges behind — trim and shift
|
|
92
81
|
const leading = joined.length - joined.trimStart().length;
|
|
93
82
|
const body = joined.trim();
|
|
94
|
-
const
|
|
83
|
+
const imports = pending.map((p) => {
|
|
95
84
|
const rawOffset = p.outLineIndex < lineStartOffsets.length
|
|
96
85
|
? lineStartOffsets[p.outLineIndex]
|
|
97
86
|
: joined.length;
|
|
@@ -101,7 +90,7 @@ export function parseArticleBody(article) {
|
|
|
101
90
|
offset: Math.min(Math.max(rawOffset - leading, 0), body.length),
|
|
102
91
|
};
|
|
103
92
|
});
|
|
104
|
-
return { body,
|
|
93
|
+
return { body, imports };
|
|
105
94
|
}
|
|
106
95
|
/**
|
|
107
96
|
* Extract content from an article between two anchor texts.
|
|
@@ -138,8 +127,8 @@ function extractExcerptFromBody(body, fromAnchor, toAnchor, file) {
|
|
|
138
127
|
error: {
|
|
139
128
|
file,
|
|
140
129
|
message: `End anchor '${toAnchor}' not found in article`,
|
|
141
|
-
suggestion:
|
|
142
|
-
severity:
|
|
130
|
+
suggestion: "Check that the anchor text exists exactly in the article",
|
|
131
|
+
severity: "error",
|
|
143
132
|
},
|
|
144
133
|
};
|
|
145
134
|
}
|
|
@@ -148,8 +137,8 @@ function extractExcerptFromBody(body, fromAnchor, toAnchor, file) {
|
|
|
148
137
|
error: {
|
|
149
138
|
file,
|
|
150
139
|
message: `End anchor '${toAnchor}' found multiple times (${toOccurrences.length} occurrences) - ambiguous`,
|
|
151
|
-
suggestion:
|
|
152
|
-
severity:
|
|
140
|
+
suggestion: "Use a more specific anchor text that appears only once",
|
|
141
|
+
severity: "error",
|
|
153
142
|
},
|
|
154
143
|
};
|
|
155
144
|
}
|
|
@@ -169,8 +158,8 @@ function extractExcerptFromBody(body, fromAnchor, toAnchor, file) {
|
|
|
169
158
|
error: {
|
|
170
159
|
file,
|
|
171
160
|
message: `Start anchor '${fromAnchor}' not found in article`,
|
|
172
|
-
suggestion:
|
|
173
|
-
severity:
|
|
161
|
+
suggestion: "Check that the anchor text exists exactly in the article",
|
|
162
|
+
severity: "error",
|
|
174
163
|
},
|
|
175
164
|
};
|
|
176
165
|
}
|
|
@@ -179,8 +168,8 @@ function extractExcerptFromBody(body, fromAnchor, toAnchor, file) {
|
|
|
179
168
|
error: {
|
|
180
169
|
file,
|
|
181
170
|
message: `Start anchor '${fromAnchor}' found multiple times (${fromOccurrences.length} occurrences) - ambiguous`,
|
|
182
|
-
suggestion:
|
|
183
|
-
severity:
|
|
171
|
+
suggestion: "Use a more specific anchor text that appears only once",
|
|
172
|
+
severity: "error",
|
|
184
173
|
},
|
|
185
174
|
};
|
|
186
175
|
}
|
|
@@ -202,8 +191,8 @@ function extractExcerptFromBody(body, fromAnchor, toAnchor, file) {
|
|
|
202
191
|
error: {
|
|
203
192
|
file,
|
|
204
193
|
message: `Start anchor '${fromAnchorStr}' not found in article`,
|
|
205
|
-
suggestion:
|
|
206
|
-
severity:
|
|
194
|
+
suggestion: "Check that the anchor text exists exactly in the article",
|
|
195
|
+
severity: "error",
|
|
207
196
|
},
|
|
208
197
|
};
|
|
209
198
|
}
|
|
@@ -212,8 +201,8 @@ function extractExcerptFromBody(body, fromAnchor, toAnchor, file) {
|
|
|
212
201
|
error: {
|
|
213
202
|
file,
|
|
214
203
|
message: `Start anchor '${fromAnchorStr}' found multiple times (${fromOccurrences.length} occurrences) - ambiguous`,
|
|
215
|
-
suggestion:
|
|
216
|
-
severity:
|
|
204
|
+
suggestion: "Use a more specific anchor text that appears only once",
|
|
205
|
+
severity: "error",
|
|
217
206
|
},
|
|
218
207
|
};
|
|
219
208
|
}
|
|
@@ -226,8 +215,8 @@ function extractExcerptFromBody(body, fromAnchor, toAnchor, file) {
|
|
|
226
215
|
error: {
|
|
227
216
|
file,
|
|
228
217
|
message: `End anchor '${toAnchorStr}' not found in article after start anchor`,
|
|
229
|
-
suggestion:
|
|
230
|
-
severity:
|
|
218
|
+
suggestion: "Check that the anchor text exists after the start anchor",
|
|
219
|
+
severity: "error",
|
|
231
220
|
},
|
|
232
221
|
};
|
|
233
222
|
}
|
|
@@ -236,8 +225,8 @@ function extractExcerptFromBody(body, fromAnchor, toAnchor, file) {
|
|
|
236
225
|
error: {
|
|
237
226
|
file,
|
|
238
227
|
message: `End anchor '${toAnchorStr}' found multiple times (${toOccurrences.length} occurrences) after start - ambiguous`,
|
|
239
|
-
suggestion:
|
|
240
|
-
severity:
|
|
228
|
+
suggestion: "Use a more specific anchor text that appears only once",
|
|
229
|
+
severity: "error",
|
|
241
230
|
},
|
|
242
231
|
};
|
|
243
232
|
}
|
|
@@ -255,20 +244,20 @@ function extractExcerptFromBody(body, fromAnchor, toAnchor, file) {
|
|
|
255
244
|
/**
|
|
256
245
|
* Resolve every excerpt a lens takes from one article source, in one pass:
|
|
257
246
|
* extract each excerpt, compute the collapsed (elided) text at its outer
|
|
258
|
-
* boundaries, and split it into prose/videoRef parts around any
|
|
259
|
-
*
|
|
247
|
+
* boundaries, and split it into prose/videoRef/widgetRef parts around any
|
|
248
|
+
* inline imports that fall inside its range.
|
|
260
249
|
*
|
|
261
250
|
* Excerpts are expected in document order (as authored in the lens). An
|
|
262
|
-
* import's offset points at the text that follows it, so
|
|
263
|
-
* excerpt ranges attaches to the later excerpt; the consumed-set guard
|
|
264
|
-
* overlapping excerpt ranges from emitting the same
|
|
251
|
+
* import's offset points at the text that follows it, so an import between
|
|
252
|
+
* two excerpt ranges attaches to the later excerpt; the consumed-set guard
|
|
253
|
+
* keeps overlapping excerpt ranges from emitting the same import twice.
|
|
265
254
|
*
|
|
266
255
|
* @param article - The full article content
|
|
267
256
|
* @param excerpts - Excerpt specifications { from, to } in lens order
|
|
268
257
|
* @param file - Source file path for error reporting
|
|
269
258
|
*/
|
|
270
259
|
export function resolveArticleSource(article, excerpts, file) {
|
|
271
|
-
const { body,
|
|
260
|
+
const { body, imports } = parseArticleBody(article);
|
|
272
261
|
const extracted = excerpts.map((excerpt) => extractExcerptFromBody(body, excerpt.from, excerpt.to, file));
|
|
273
262
|
// Whole-article embeds (no anchors anywhere in the group) get no collapsed
|
|
274
263
|
// fields — there is nothing elided to show.
|
|
@@ -310,7 +299,7 @@ export function resolveArticleSource(article, excerpts, file) {
|
|
|
310
299
|
result.collapsed_after = collapsedAfter;
|
|
311
300
|
}
|
|
312
301
|
}
|
|
313
|
-
const inRange =
|
|
302
|
+
const inRange = imports.filter((v) => !consumed.has(v) && v.offset >= start && v.offset <= end);
|
|
314
303
|
if (inRange.length > 0) {
|
|
315
304
|
for (const v of inRange)
|
|
316
305
|
consumed.add(v);
|
|
@@ -319,29 +308,27 @@ export function resolveArticleSource(article, excerpts, file) {
|
|
|
319
308
|
for (const v of inRange) {
|
|
320
309
|
const prose = body.slice(cursor, v.offset).trim();
|
|
321
310
|
if (prose.length > 0)
|
|
322
|
-
parts.push({ kind:
|
|
323
|
-
const
|
|
324
|
-
|
|
325
|
-
ref
|
|
326
|
-
|
|
327
|
-
ref.to = v.to;
|
|
328
|
-
parts.push(ref);
|
|
311
|
+
parts.push({ kind: "prose", content: prose });
|
|
312
|
+
const { offset: _offset, ...ref } = v;
|
|
313
|
+
parts.push(ref.kind === "video"
|
|
314
|
+
? { ...ref, kind: "videoRef" }
|
|
315
|
+
: { ...ref, kind: "widgetRef" });
|
|
329
316
|
cursor = v.offset;
|
|
330
317
|
}
|
|
331
318
|
const tail = body.slice(cursor, end).trim();
|
|
332
319
|
if (tail.length > 0)
|
|
333
|
-
parts.push({ kind:
|
|
320
|
+
parts.push({ kind: "prose", content: tail });
|
|
334
321
|
// Contiguity: a prose part separated from another prose part only by
|
|
335
|
-
//
|
|
322
|
+
// imports is one continuous stretch of source text. An import at an
|
|
336
323
|
// excerpt edge (no prose on one side) sets no flag on that side.
|
|
337
324
|
for (let p = 0; p < parts.length; p++) {
|
|
338
325
|
const part = parts[p];
|
|
339
|
-
if (part.kind !==
|
|
326
|
+
if (part.kind !== "prose")
|
|
340
327
|
continue;
|
|
341
|
-
if (parts.slice(0, p).some((x) => x.kind ===
|
|
328
|
+
if (parts.slice(0, p).some((x) => x.kind === "prose")) {
|
|
342
329
|
part.contiguousWithPrev = true;
|
|
343
330
|
}
|
|
344
|
-
if (parts.slice(p + 1).some((x) => x.kind ===
|
|
331
|
+
if (parts.slice(p + 1).some((x) => x.kind === "prose")) {
|
|
345
332
|
part.contiguousWithNext = true;
|
|
346
333
|
}
|
|
347
334
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"article.js","sourceRoot":"","sources":["../../src/bundler/article.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"article.js","sourceRoot":"","sources":["../../src/bundler/article.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FlattenedModule, Section, ContentError } from "../index.js";
|
|
1
|
+
import type { FlattenedModule, Section, Segment, ContentError } from "../index.js";
|
|
2
2
|
import type { ContentTier } from "../validator/tier.js";
|
|
3
3
|
import { type ParsedLens } from "../parser/lens.js";
|
|
4
4
|
export interface FlattenModuleResult {
|
|
@@ -52,6 +52,15 @@ interface ExpandPromptImportsResult {
|
|
|
52
52
|
* sole import.
|
|
53
53
|
*/
|
|
54
54
|
export declare function expandPromptImports(value: string, fieldName: string, lensPath: string, files: Map<string, string>, tierMap?: Map<string, ContentTier>): ExpandPromptImportsResult;
|
|
55
|
+
/**
|
|
56
|
+
* Flatten an article file on its own, the way the standalone article page
|
|
57
|
+
* shows it: one anchorless excerpt of the whole body, split around inline
|
|
58
|
+
* imports exactly as a lens excerpt would be. Errors name the article file.
|
|
59
|
+
*/
|
|
60
|
+
export declare function flattenStandaloneArticle(articlePath: string, files: Map<string, string>, tierMap?: Map<string, ContentTier>): {
|
|
61
|
+
segments: Segment[];
|
|
62
|
+
errors: ContentError[];
|
|
63
|
+
};
|
|
55
64
|
/**
|
|
56
65
|
* Flatten a single Lens file into a FlattenedModule.
|
|
57
66
|
*/
|