@dogsbay/format-dita 0.2.0-beta.101

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../src/blocks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { type ConrefPlanApi, type ConrefSnippetRef, type DitaConversionNote } from "./types.js";
2
+ export interface ConrefCorpusFile {
3
+ /** Corpus-relative posix path — the same value passed as topicPath later. */
4
+ path: string;
5
+ xml: string;
6
+ }
7
+ export interface ConrefSnippet extends ConrefSnippetRef {
8
+ /** Complete snippet file content, ready to write to `<output>/<file>`. */
9
+ markdown: string;
10
+ source: {
11
+ topicPath: string;
12
+ topicId: string;
13
+ elementId: string;
14
+ };
15
+ }
16
+ export interface ConrefPlan extends ConrefPlanApi {
17
+ snippets: ConrefSnippet[];
18
+ /** Conversion notes produced while converting snippet content. */
19
+ notes: DitaConversionNote[];
20
+ }
21
+ /**
22
+ * Build the corpus conref plan: index every topic's element ids, resolve
23
+ * every conref, extract each resolvable target once, and convert it to a
24
+ * standalone snippet. Deterministic: extraction order (and therefore
25
+ * snippet naming) follows sorted keys, not discovery order.
26
+ */
27
+ export declare function planConrefs(files: ConrefCorpusFile[]): ConrefPlan;
28
+ //# sourceMappingURL=conref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conref.d.ts","sourceRoot":"","sources":["../src/conref.ts"],"names":[],"mappings":"AA+BA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAErB,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CACnE;AAED,MAAM,WAAW,UAAW,SAAQ,aAAa;IAC/C,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,kEAAkE;IAClE,KAAK,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AA2GD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,UAAU,CA0MjE"}
package/dist/conref.js ADDED
@@ -0,0 +1,303 @@
1
+ /**
2
+ * Corpus-level conref → minja include planning.
3
+ *
4
+ * DITA reuse (`conref="file.dita#topicid/elemid"`) survives migration as
5
+ * real reuse instead of a manual ledger item: every resolvable conref
6
+ * target is extracted ONCE into a snippet under `_conrefs/` (the
7
+ * platform's `_`-prefix convention marks it a fragment, not a routable
8
+ * page), and both the referencing sites AND the defining site emit
9
+ * `{% include %}` — exactly one copy of the text remains.
10
+ *
11
+ * planConrefs() parses the whole corpus, indexes topics and their
12
+ * element ids, resolves every conref, and converts each extraction
13
+ * target standalone. Topic conversion then consults the plan via
14
+ * `DitaParseOptions.conrefs` (see parse.ts / blocks.ts / inline.ts).
15
+ *
16
+ * Not auto-converted, always ledgered: conkeyref (needs a map's key
17
+ * space), conrefend ranges, conaction push, whole-topic conrefs, and
18
+ * targets that cannot stand alone as a snippet (table rows/cells,
19
+ * definition-list entries).
20
+ */
21
+ import { parseDocument } from "htmlparser2";
22
+ import { treeToDogsbayMd } from "@dogsbay/format-dogsbay-md";
23
+ import { convertBlock, convertItemContent, isBlockTarget, } from "./blocks.js";
24
+ import { convertInline, trimInline } from "./inline.js";
25
+ import { DITA_TOPIC_TYPES, } from "./types.js";
26
+ /** Inline elements that can stand alone as a single-line snippet. */
27
+ const INLINE_TARGETS = new Set([
28
+ "ph", "keyword", "term", "text", "option", "b", "i", "u", "cite", "q",
29
+ "codeph", "filepath", "cmdname", "apiname", "varname", "synph",
30
+ "systemoutput", "userinput", "tt", "parmname", "msgph", "msgnum",
31
+ "uicontrol", "wintitle", "menucascade", "shortcut", "xmlelement", "xmlatt",
32
+ ]);
33
+ /**
34
+ * Item- and part-level elements extracted via convertItemContent
35
+ * (<cmd>/<dt>/<dd>/<pt>/<pd> are the line-constrained parts whose
36
+ * referencing sites splice single-line snippets).
37
+ */
38
+ const ITEM_TARGETS = new Set([
39
+ "li", "sli", "step", "substep", "choice", "cmd", "dt", "dd", "pt", "pd",
40
+ ]);
41
+ /**
42
+ * Transparent grouping containers — the classic conref-warehouse pattern
43
+ * (`<div id="args.css.details">` holding several blocks). convertBlock
44
+ * splices their children through, so they extract cleanly.
45
+ */
46
+ const CONTAINER_TARGETS = new Set(["div", "bodydiv", "sectiondiv"]);
47
+ const isElement = (node) => node.type === "tag";
48
+ const isTopicType = (name) => DITA_TOPIC_TYPES.includes(name);
49
+ const normalizePath = (p) => {
50
+ const clean = p.replace(/\\/g, "/");
51
+ return clean.startsWith("./") ? clean.slice(2) : clean;
52
+ };
53
+ const dirOf = (p) => (p.includes("/") ? p.slice(0, p.lastIndexOf("/")) : "");
54
+ /** Resolve a (possibly ../) relative href against a corpus-relative dir. */
55
+ const resolveCorpusPath = (fromDir, refPath) => {
56
+ const parts = fromDir === "" ? [] : fromDir.split("/");
57
+ for (const seg of refPath.replace(/\\/g, "/").split("/")) {
58
+ if (seg === "" || seg === ".")
59
+ continue;
60
+ if (seg === "..") {
61
+ if (parts.length === 0)
62
+ return null; // escapes the corpus root
63
+ parts.pop();
64
+ }
65
+ else {
66
+ parts.push(seg);
67
+ }
68
+ }
69
+ return parts.join("/");
70
+ };
71
+ /**
72
+ * Parse a conref attribute value in the context of the referencing
73
+ * file and topic. Returns null for external/scheme refs and refs that
74
+ * escape the corpus root; topicId/elementId stay undefined for
75
+ * whole-file / whole-topic refs (not auto-converted).
76
+ */
77
+ const parseConrefValue = (ref, fromPath, currentTopicId) => {
78
+ const hash = ref.indexOf("#");
79
+ const pathPart = hash >= 0 ? ref.slice(0, hash) : ref;
80
+ const fragment = hash >= 0 ? ref.slice(hash + 1) : "";
81
+ if (/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(pathPart))
82
+ return null;
83
+ const path = pathPart === "" ? fromPath : resolveCorpusPath(dirOf(fromPath), pathPart);
84
+ if (path === null)
85
+ return null;
86
+ if (!fragment)
87
+ return { path };
88
+ const segs = fragment.split("/");
89
+ // "." is the DITA shorthand for "the topic containing this element"
90
+ const topicId = segs[0] === "." ? currentTopicId : segs[0];
91
+ if (!topicId)
92
+ return null;
93
+ return {
94
+ path,
95
+ topicId,
96
+ elementId: segs.length > 1 ? segs.slice(1).join("/") : undefined,
97
+ };
98
+ };
99
+ const slugify = (s) => {
100
+ const slug = s.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
101
+ return slug || "x";
102
+ };
103
+ /** '--' is illegal inside HTML comments (and '-->' would close early). */
104
+ const sanitizeCommentRef = (ref) => ref.replace(/-(?=-)/g, "- ");
105
+ /**
106
+ * Build the corpus conref plan: index every topic's element ids, resolve
107
+ * every conref, extract each resolvable target once, and convert it to a
108
+ * standalone snippet. Deterministic: extraction order (and therefore
109
+ * snippet naming) follows sorted keys, not discovery order.
110
+ */
111
+ export function planConrefs(files) {
112
+ const notes = [];
113
+ const topicIndex = new Map();
114
+ const pendingRefs = [];
115
+ for (const file of files) {
116
+ const path = normalizePath(file.path);
117
+ const doc = parseDocument(file.xml, { xmlMode: true });
118
+ const topics = topicIndex.get(path) ?? new Map();
119
+ topicIndex.set(path, topics);
120
+ const walk = (nodes, current, topicId) => {
121
+ for (const node of nodes) {
122
+ if (!isElement(node))
123
+ continue;
124
+ const name = node.name.toLowerCase();
125
+ if (isTopicType(name)) {
126
+ // Element ids are scoped per topic; nested topics open a fresh scope
127
+ const id = node.attribs?.id;
128
+ const entry = { elements: new Map() };
129
+ if (id && !topics.has(id))
130
+ topics.set(id, entry);
131
+ walk(node.children, entry, id);
132
+ continue;
133
+ }
134
+ const elemId = node.attribs?.id;
135
+ if (current && elemId && !current.elements.has(elemId)) {
136
+ current.elements.set(elemId, node);
137
+ }
138
+ // conrefend ranges and conaction pushes are never auto-converted
139
+ if (node.attribs?.conref && !node.attribs?.conrefend && !node.attribs?.conaction) {
140
+ pendingRefs.push({ ref: node.attribs.conref, fromPath: path, topicId });
141
+ }
142
+ walk(node.children, current, topicId);
143
+ }
144
+ };
145
+ walk(doc.children, undefined, undefined);
146
+ }
147
+ // ---- resolve refs against the full index; keep extractable targets ---
148
+ const byKey = new Map();
149
+ for (const { ref, fromPath, topicId } of pendingRefs) {
150
+ const parsed = parseConrefValue(ref, fromPath, topicId);
151
+ if (!parsed?.topicId || !parsed.elementId)
152
+ continue;
153
+ const target = topicIndex.get(parsed.path)?.get(parsed.topicId)?.elements.get(parsed.elementId);
154
+ if (!target)
155
+ continue;
156
+ const name = target.name.toLowerCase();
157
+ if (!INLINE_TARGETS.has(name) &&
158
+ !ITEM_TARGETS.has(name) &&
159
+ !CONTAINER_TARGETS.has(name) &&
160
+ !isBlockTarget(name)) {
161
+ continue;
162
+ }
163
+ const key = `${parsed.path}#${parsed.topicId}/${parsed.elementId}`;
164
+ if (byKey.has(key))
165
+ continue;
166
+ byKey.set(key, {
167
+ key,
168
+ path: parsed.path,
169
+ topicId: parsed.topicId,
170
+ elementId: parsed.elementId,
171
+ el: target,
172
+ file: "", // named below
173
+ });
174
+ }
175
+ // ---- name snippets (deterministic, collision-safe) -------------------
176
+ const extractions = [...byKey.values()].sort((a, b) => a.key.localeCompare(b.key));
177
+ const takenNames = new Set();
178
+ for (const ext of extractions) {
179
+ const base = ext.path.split("/").pop().replace(/\.(dita|xml)$/i, "");
180
+ const candidates = [
181
+ `${slugify(base)}__${slugify(ext.elementId)}`,
182
+ `${slugify(base)}__${slugify(ext.topicId)}__${slugify(ext.elementId)}`,
183
+ ];
184
+ let name = candidates.find((c) => !takenNames.has(c));
185
+ if (!name) {
186
+ let i = 2;
187
+ while (takenNames.has(`${candidates[1]}-${i}`))
188
+ i++;
189
+ name = `${candidates[1]}-${i}`;
190
+ }
191
+ takenNames.add(name);
192
+ ext.file = `_conrefs/${name}.md`;
193
+ }
194
+ // ---- convert each extraction to a standalone snippet -----------------
195
+ // Lazy + recursive so snippet-to-snippet references (a conref target
196
+ // containing another conref, or containing another extracted element)
197
+ // resolve in dependency order; a cycle leaves the inner reference on
198
+ // the ledger instead of hanging.
199
+ const ensureConverted = (ext) => {
200
+ if (ext.snippet)
201
+ return ext.snippet;
202
+ if (ext.converting || !ext.el)
203
+ return undefined;
204
+ const el = ext.el;
205
+ ext.converting = true;
206
+ const site = {
207
+ resolve: (ref) => {
208
+ const parsed = parseConrefValue(ref, ext.path, ext.topicId);
209
+ if (!parsed?.topicId || !parsed.elementId)
210
+ return undefined;
211
+ const other = byKey.get(`${parsed.path}#${parsed.topicId}/${parsed.elementId}`);
212
+ if (!other || other === ext)
213
+ return undefined;
214
+ return ensureConverted(other);
215
+ },
216
+ definingSnippet: (elementId) => {
217
+ const other = byKey.get(`${ext.path}#${ext.topicId}/${elementId}`);
218
+ if (!other || other === ext)
219
+ return undefined;
220
+ return ensureConverted(other);
221
+ },
222
+ // Snippets live side by side in _conrefs/, so nested include paths
223
+ // are sibling filenames (minja resolves them against the fragment)
224
+ includePath: (snippet) => snippet.file.split("/").pop(),
225
+ };
226
+ const ctx = {
227
+ note: (construct, detail) => notes.push({ topicPath: ext.path, construct, detail }),
228
+ seenConstructs: new Set(),
229
+ headingLevel: 2,
230
+ conref: site,
231
+ };
232
+ const name = el.name.toLowerCase();
233
+ let nodes;
234
+ if (INLINE_TARGETS.has(name)) {
235
+ const inline = trimInline(convertInline([el], ctx));
236
+ nodes = inline.length > 0 ? [{ type: "paragraph", inline }] : [];
237
+ }
238
+ else if (ITEM_TARGETS.has(name)) {
239
+ nodes = convertItemContent(el, ctx);
240
+ }
241
+ else {
242
+ nodes = convertBlock(el, ctx);
243
+ }
244
+ let headingBase;
245
+ let carriesAnchor = false;
246
+ const walkNodes = (list) => {
247
+ for (const node of list) {
248
+ if (node.type === "heading") {
249
+ const level = Number(node.props?.level ?? 0);
250
+ if (level > 0 && (headingBase === undefined || level < headingBase)) {
251
+ headingBase = level;
252
+ }
253
+ if (node.props?.id === ext.elementId)
254
+ carriesAnchor = true;
255
+ }
256
+ if (node.children)
257
+ walkNodes(node.children);
258
+ }
259
+ };
260
+ walkNodes(nodes);
261
+ const body = treeToDogsbayMd(nodes).trimEnd();
262
+ const singleLine = !body.includes("\n");
263
+ // Single-line snippets stay bare, WITHOUT a trailing newline: they
264
+ // splice mid-sentence, into list items and table cells, where a
265
+ // newline would break the surrounding structure. Multi-line snippets
266
+ // carry a provenance comment for the migrating writer.
267
+ const provenance = `<!-- conref source: ${sanitizeCommentRef(`${ext.path}#${ext.topicId}/${ext.elementId}`)} -->`;
268
+ const markdown = singleLine ? body : `${provenance}\n\n${body}\n`;
269
+ ext.snippet = {
270
+ file: ext.file,
271
+ singleLine,
272
+ ...(headingBase !== undefined ? { headingBase } : {}),
273
+ carriesAnchor,
274
+ markdown,
275
+ source: { topicPath: ext.path, topicId: ext.topicId, elementId: ext.elementId },
276
+ };
277
+ ext.converting = false;
278
+ return ext.snippet;
279
+ };
280
+ for (const ext of extractions)
281
+ ensureConverted(ext);
282
+ // Snippets are final — drop the element refs so the parsed DOMs
283
+ // (pinned via parent pointers) become garbage-collectable while the
284
+ // plan lives on through the whole topic-conversion run
285
+ for (const ext of extractions)
286
+ ext.el = undefined;
287
+ return {
288
+ snippets: extractions
289
+ .map((ext) => ext.snippet)
290
+ .filter((s) => s !== undefined),
291
+ notes,
292
+ resolve(ref, fromTopicPath, currentTopicId) {
293
+ const parsed = parseConrefValue(ref, normalizePath(fromTopicPath), currentTopicId);
294
+ if (!parsed?.topicId || !parsed.elementId)
295
+ return undefined;
296
+ return byKey.get(`${parsed.path}#${parsed.topicId}/${parsed.elementId}`)?.snippet;
297
+ },
298
+ extractionFor(topicPath, topicId, elementId) {
299
+ return byKey.get(`${normalizePath(topicPath)}#${topicId}/${elementId}`)?.snippet;
300
+ },
301
+ };
302
+ }
303
+ //# sourceMappingURL=conref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conref.js","sourceRoot":"","sources":["../src/conref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,aAAa,GAEd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,gBAAgB,GAKjB,MAAM,YAAY,CAAC;AAoBpB,qEAAqE;AACrE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;IACrE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO;IAC9D,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ;IAChE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ;CAC3E,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CACxE,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;AAEpE,MAAM,SAAS,GAAG,CAAC,IAAa,EAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC;AAC1E,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE,CAC3C,gBAAsC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEzD,MAAM,aAAa,GAAG,CAAC,CAAS,EAAU,EAAE;IAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE7F,4EAA4E;AAC5E,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,OAAe,EAAiB,EAAE;IAC5E,MAAM,KAAK,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACzD,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG;YAAE,SAAS;QACxC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC,CAAC,0BAA0B;YAC/D,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AAQF;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,CACvB,GAAW,EACX,QAAgB,EAChB,cAAkC,EACb,EAAE;IACvB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,IAAI,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,IAAI,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvF,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,oEAAoE;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO;QACL,IAAI;QACJ,OAAO;QACP,SAAS,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;KACjE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,CAAS,EAAU,EAAE;IACpC,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACjF,OAAO,IAAI,IAAI,GAAG,CAAC;AACrB,CAAC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAcjF;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAyB;IACnD,MAAM,KAAK,GAAyB,EAAE,CAAC;IAUvC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC9D,MAAM,WAAW,GAA0D,EAAE,CAAC;IAE9E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAsB,CAAC;QACrE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE7B,MAAM,IAAI,GAAG,CAAC,KAAgB,EAAE,OAA+B,EAAE,OAAgB,EAAQ,EAAE;YACzF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAErC,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtB,qEAAqE;oBACrE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAe,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;oBAClD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;oBACjD,IAAI,CAAC,IAAI,CAAC,QAAqB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC5C,SAAS;gBACX,CAAC;gBAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAChC,IAAI,OAAO,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACrC,CAAC;gBACD,iEAAiE;gBACjE,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;oBACjF,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,QAAqB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,QAAqB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,yEAAyE;IACzE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE5C,KAAK,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,WAAW,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,SAAS;QACpD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChG,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,IACE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;YACzB,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YACvB,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;YAC5B,CAAC,aAAa,CAAC,IAAI,CAAC,EACpB,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACnE,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC7B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YACb,GAAG;YACH,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,EAAE,EAAE,cAAc;SACzB,CAAC,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG;YACjB,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC7C,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;SACvE,CAAC;QACF,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,CAAC,EAAE,CAAC;YACpD,IAAI,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrB,GAAG,CAAC,IAAI,GAAG,YAAY,IAAI,KAAK,CAAC;IACnC,CAAC;IAED,yEAAyE;IACzE,qEAAqE;IACrE,sEAAsE;IACtE,qEAAqE;IACrE,iCAAiC;IACjC,MAAM,eAAe,GAAG,CAAC,GAAe,EAA6B,EAAE;QACrE,IAAI,GAAG,CAAC,OAAO;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC;QACpC,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,SAAS,CAAC;QAChD,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QAClB,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;QAEtB,MAAM,IAAI,GAAsB;YAC9B,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACf,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5D,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS;oBAAE,OAAO,SAAS,CAAC;gBAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;gBAChF,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,SAAS,CAAC;gBAC9C,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YACD,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE;gBAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;gBACnE,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,SAAS,CAAC;gBAC9C,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YACD,mEAAmE;YACnE,mEAAmE;YACnE,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG;SACzD,CAAC;QAEF,MAAM,GAAG,GAAiB;YACxB,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YACxD,cAAc,EAAE,IAAI,GAAG,EAAE;YACzB,YAAY,EAAE,CAAC;YACf,MAAM,EAAE,IAAI;SACb,CAAC;QAEF,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,KAAiB,CAAC;QACtB,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACpD,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,CAAC;aAAM,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,KAAK,GAAG,kBAAkB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,WAA+B,CAAC;QACpC,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,MAAM,SAAS,GAAG,CAAC,IAAgB,EAAQ,EAAE;YAC3C,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;oBAC7C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC;wBACpE,WAAW,GAAG,KAAK,CAAC;oBACtB,CAAC;oBACD,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,GAAG,CAAC,SAAS;wBAAE,aAAa,GAAG,IAAI,CAAC;gBAC7D,CAAC;gBACD,IAAI,IAAI,CAAC,QAAQ;oBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC,CAAC;QACF,SAAS,CAAC,KAAK,CAAC,CAAC;QAEjB,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,mEAAmE;QACnE,gEAAgE;QAChE,qEAAqE;QACrE,uDAAuD;QACvD,MAAM,UAAU,GAAG,uBAAuB,kBAAkB,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;QAClH,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,OAAO,IAAI,IAAI,CAAC;QAElE,GAAG,CAAC,OAAO,GAAG;YACZ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,UAAU;YACV,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,aAAa;YACb,QAAQ;YACR,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE;SAChF,CAAC;QACF,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;QACvB,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,WAAW;QAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IACpD,gEAAgE;IAChE,oEAAoE;IACpE,uDAAuD;IACvD,KAAK,MAAM,GAAG,IAAI,WAAW;QAAE,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;IAElD,OAAO;QACL,QAAQ,EAAE,WAAW;aAClB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;QACrD,KAAK;QACL,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,cAAc;YACxC,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,CAAC;YACnF,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC;QACpF,CAAC;QACD,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS;YACzC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC;QACnF,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @dogsbay/format-dita
3
+ *
4
+ * DITA topic XML → TreeNode[] importer. The content half of DITA
5
+ * migration: `dogsbay import-ditamap` converts map structure to topic
6
+ * maps, this package converts topic content — emitting the TreeNode
7
+ * dialect @dogsbay/format-dogsbay-md serializes, with @id provenance in
8
+ * `meta.dita` and a conversion-note ledger (known loss, never silent
9
+ * loss).
10
+ *
11
+ * Reference design: ditablocks' saxes adapter (element coverage and
12
+ * round-trip thinking), retargeted from lossless BlockSuite flavours to
13
+ * the semantic TreeNode model.
14
+ */
15
+ export { DITA_TOPIC_TYPES, renameDitaHref, relativeIncludePath, type DitaConversionNote, type DitaTopicMeta, type DitaTopicResult, type DitaParseOptions, type ConrefSnippetRef, type ConrefPlanApi, type ConrefSiteContext, } from "./types.js";
16
+ export { ditaTopicToTree } from "./parse.js";
17
+ export { ditaTopicToDogsbayMd, type DitaMarkdownResult } from "./markdown.js";
18
+ export { planConrefs, type ConrefCorpusFile, type ConrefPlan, type ConrefSnippet, } from "./conref.js";
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @dogsbay/format-dita
3
+ *
4
+ * DITA topic XML → TreeNode[] importer. The content half of DITA
5
+ * migration: `dogsbay import-ditamap` converts map structure to topic
6
+ * maps, this package converts topic content — emitting the TreeNode
7
+ * dialect @dogsbay/format-dogsbay-md serializes, with @id provenance in
8
+ * `meta.dita` and a conversion-note ledger (known loss, never silent
9
+ * loss).
10
+ *
11
+ * Reference design: ditablocks' saxes adapter (element coverage and
12
+ * round-trip thinking), retargeted from lossless BlockSuite flavours to
13
+ * the semantic TreeNode model.
14
+ */
15
+ export { DITA_TOPIC_TYPES, renameDitaHref, relativeIncludePath, } from "./types.js";
16
+ export { ditaTopicToTree } from "./parse.js";
17
+ export { ditaTopicToDogsbayMd } from "./markdown.js";
18
+ export { planConrefs, } from "./conref.js";
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,mBAAmB,GAQpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAA2B,MAAM,eAAe,CAAC;AAC9E,OAAO,EACL,WAAW,GAIZ,MAAM,aAAa,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * DITA inline elements → InlineNode[] (Notion-style flat annotations).
3
+ *
4
+ * DITA's semantic inlines (uicontrol, filepath, apiname, …) map to their
5
+ * conventional visual rendering; the semantic distinction itself cannot be
6
+ * carried by the closed InlineNode union, so mappings that lose semantics
7
+ * are recorded as conversion notes exactly once per construct per topic.
8
+ */
9
+ import type { AnyNode } from "domhandler";
10
+ import type { InlineNode } from "@dogsbay/types";
11
+ import { type ConrefSiteContext, type ConrefSnippetRef } from "./types.js";
12
+ export interface InlineContext {
13
+ note: (construct: string, detail: string) => void;
14
+ /** Note each lossy construct only once per topic to keep ledgers readable. */
15
+ seenConstructs: Set<string>;
16
+ /** Corpus conref plan bound to the current topic (auto-include support). */
17
+ conref?: ConrefSiteContext;
18
+ }
19
+ /**
20
+ * A snippet is safe to splice INLINE (mid-sentence, list items, cells)
21
+ * only when it is a single line with no heading — anything else breaks
22
+ * the surrounding markdown structure when minja inlines it verbatim.
23
+ */
24
+ export declare const inlineSafeSnippet: (snippet: ConrefSnippetRef) => boolean;
25
+ /**
26
+ * Ledger detail for a conref that could not become an automatic include.
27
+ * When the target WAS extracted (snippet exists) the note names the
28
+ * snippet file so the manual fix is one paste away.
29
+ */
30
+ export declare const conrefLedgerDetail: (attribs: Record<string, string> | undefined, snippet: ConrefSnippetRef | undefined, hasPlan: boolean) => string;
31
+ interface Formatting {
32
+ bold?: boolean;
33
+ italic?: boolean;
34
+ strikethrough?: boolean;
35
+ }
36
+ /** Collapse XML whitespace runs the way HTML rendering would. */
37
+ export declare const collapseWhitespace: (text: string) => string;
38
+ export declare const textOf: (nodes: AnyNode[]) => string;
39
+ export declare const convertInline: (nodes: AnyNode[], ctx: InlineContext, formatting?: Formatting) => InlineNode[];
40
+ /** Trim leading/trailing whitespace-only fringe from an inline run. */
41
+ export declare const trimInline: (nodes: InlineNode[]) => InlineNode[];
42
+ export {};
43
+ //# sourceMappingURL=inline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline.d.ts","sourceRoot":"","sources":["../src/inline.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAiB,OAAO,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAkB,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE3F,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,8EAA8E;IAC9E,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,gBAAgB,KAAG,OACL,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC3C,SAAS,gBAAgB,GAAG,SAAS,EACrC,SAAS,OAAO,KACf,MAiBF,CAAC;AAEF,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAKD,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,MAAmC,CAAC;AAqBtF,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,EAAE,KAAG,MAO7B,CAAC;AAEd,eAAO,MAAM,aAAa,GACxB,OAAO,OAAO,EAAE,EAChB,KAAK,aAAa,EAClB,aAAY,UAAe,KAC1B,UAAU,EAoNZ,CAAC;AAuBF,uEAAuE;AACvE,eAAO,MAAM,UAAU,GAAI,OAAO,UAAU,EAAE,KAAG,UAAU,EAyB1D,CAAC"}