@refrakt-md/runes 0.38.0 → 0.39.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/collection-helpers.d.ts +21 -2
- package/dist/collection-helpers.d.ts.map +1 -1
- package/dist/collection-helpers.js +72 -15
- package/dist/collection-helpers.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +73 -40
- package/dist/config.js.map +1 -1
- package/dist/data-pipeline.d.ts +24 -10
- package/dist/data-pipeline.d.ts.map +1 -1
- package/dist/data-pipeline.js +34 -56
- package/dist/data-pipeline.js.map +1 -1
- package/dist/file-ref-resolve.js +9 -13
- package/dist/file-ref-resolve.js.map +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/index.d.ts +47 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +112 -5
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/preprocess.d.ts +63 -0
- package/dist/lib/preprocess.d.ts.map +1 -0
- package/dist/lib/preprocess.js +71 -0
- package/dist/lib/preprocess.js.map +1 -0
- package/dist/lib/registers.d.ts +132 -0
- package/dist/lib/registers.d.ts.map +1 -0
- package/dist/lib/registers.js +328 -0
- package/dist/lib/registers.js.map +1 -0
- package/dist/lib/resolver.d.ts +9 -1
- package/dist/lib/resolver.d.ts.map +1 -1
- package/dist/lib/resolver.js +16 -0
- package/dist/lib/resolver.js.map +1 -1
- package/dist/lib/schema-table.d.ts +46 -9
- package/dist/lib/schema-table.d.ts.map +1 -1
- package/dist/lib/schema-table.js +111 -22
- package/dist/lib/schema-table.js.map +1 -1
- package/dist/lib/slots.d.ts +99 -0
- package/dist/lib/slots.d.ts.map +1 -0
- package/dist/lib/slots.js +448 -0
- package/dist/lib/slots.js.map +1 -0
- package/dist/reference.d.ts +18 -0
- package/dist/reference.d.ts.map +1 -1
- package/dist/reference.js +34 -1
- package/dist/reference.js.map +1 -1
- package/dist/registers-pipeline.d.ts +50 -0
- package/dist/registers-pipeline.d.ts.map +1 -0
- package/dist/registers-pipeline.js +218 -0
- package/dist/registers-pipeline.js.map +1 -0
- package/dist/schema-row.d.ts +5 -0
- package/dist/schema-row.d.ts.map +1 -1
- package/dist/schema-row.js +1 -0
- package/dist/schema-row.js.map +1 -1
- package/dist/tags/data.d.ts +2 -2
- package/dist/tags/data.d.ts.map +1 -1
- package/dist/tags/data.js +6 -4
- package/dist/tags/data.js.map +1 -1
- package/dist/tags/figure.d.ts +10 -4
- package/dist/tags/figure.d.ts.map +1 -1
- package/dist/tags/figure.js +65 -20
- package/dist/tags/figure.js.map +1 -1
- package/dist/tags/include.d.ts +51 -7
- package/dist/tags/include.d.ts.map +1 -1
- package/dist/tags/include.js +216 -7
- package/dist/tags/include.js.map +1 -1
- package/dist/tags/snippet.d.ts +9 -10
- package/dist/tags/snippet.d.ts.map +1 -1
- package/dist/tags/snippet.js +213 -10
- package/dist/tags/snippet.js.map +1 -1
- package/dist/universal-attributes.d.ts +1 -1
- package/package.json +3 -3
- package/dist/include-pipeline.d.ts +0 -52
- package/dist/include-pipeline.d.ts.map +0 -1
- package/dist/include-pipeline.js +0 -206
- package/dist/include-pipeline.js.map +0 -1
- package/dist/snippet-pipeline.d.ts +0 -44
- package/dist/snippet-pipeline.d.ts.map +0 -1
- package/dist/snippet-pipeline.js +0 -307
- package/dist/snippet-pipeline.js.map +0 -1
|
@@ -60,7 +60,18 @@ export declare class Ordering {
|
|
|
60
60
|
export declare function buildOrdering(embedConfig: CollectionEmbedConfig | undefined): Ordering;
|
|
61
61
|
export declare function entityUrl(e: EntityRegistration): string;
|
|
62
62
|
export declare function entityTitle(e: EntityRegistration): string;
|
|
63
|
+
/** A field rendered for display — an array is joined with `, `. Not a
|
|
64
|
+
* grouping or sorting key: a multi-value field reads as one combined string
|
|
65
|
+
* here (BUG-025); use {@link fieldMembers} / {@link groupKeys} for that. */
|
|
63
66
|
export declare function fieldValue(e: EntityRegistration, field: string): string;
|
|
67
|
+
/** A field's individual values — the split the filter side applies
|
|
68
|
+
* (`candidates()` in `field-match.ts`): a genuine array fans out by element, a
|
|
69
|
+
* comma-string by member, each trimmed. Empty members are dropped and repeats
|
|
70
|
+
* collapse, so `"a, , a, b"` is `['a', 'b']` and a missing value is `[]`. */
|
|
71
|
+
export declare function fieldMembers(e: EntityRegistration, field: string): string[];
|
|
72
|
+
/** The groups an entity joins under `group="<field>"` — one per member of a
|
|
73
|
+
* multi-value field (BUG-025), or `(none)` when it carries no value. */
|
|
74
|
+
export declare function groupKeys(e: EntityRegistration, field: string): string[];
|
|
64
75
|
/** A title link to an entity, or a plain span when it has no URL. The BEM
|
|
65
76
|
* block is the caller's (collection / relationships). */
|
|
66
77
|
export declare function titleLink(e: EntityRegistration, block: string): TagNode;
|
|
@@ -91,11 +102,19 @@ export declare function projectItem(e: EntityRegistration, opts?: {
|
|
|
91
102
|
/** Sort entities by a `sort` expression (`field`, `-field`, `field-desc`).
|
|
92
103
|
* With an {@link Ordering}, enum fields sort by domain rank (each entity ranked
|
|
93
104
|
* within its *own* `(type, field)` order — so mixed-type sets compose); ranked
|
|
94
|
-
* items come before unranked, which then fall back to numeric/lexical.
|
|
105
|
+
* items come before unranked, which then fall back to numeric/lexical.
|
|
106
|
+
*
|
|
107
|
+
* A multi-value field sorts each entity by one representative member, never by
|
|
108
|
+
* the joined string (BUG-025): its smallest member ascending, its largest
|
|
109
|
+
* descending — MongoDB's rule for sorting on an array. With an ordering, a
|
|
110
|
+
* ranked member is preferred over an unranked one. */
|
|
95
111
|
export declare function sortEntities(entities: EntityRegistration[], sortExpr: string, ordering?: Ordering): EntityRegistration[];
|
|
96
112
|
/** Group items into an insertion-ordered map keyed by a derived string. */
|
|
97
113
|
export declare function groupBy<T>(items: T[], keyOf: (item: T) => string): Map<string, T[]>;
|
|
98
|
-
/** Group entities by one of their fields (empty → `(none)`).
|
|
114
|
+
/** Group entities by one of their fields (empty → `(none)`). A multi-value
|
|
115
|
+
* field fans out (BUG-025): an entity tagged `runes, data` joins both the
|
|
116
|
+
* `runes` and the `data` group, so group sizes can sum past the entity count —
|
|
117
|
+
* a group's size is the number of entities *carrying* that value. With an
|
|
99
118
|
* {@link Ordering}, groups are emitted in domain order — each group's
|
|
100
119
|
* representative (minimum) rank across its members, ranked groups first. */
|
|
101
120
|
export declare function groupEntities(entities: EntityRegistration[], field: string, ordering?: Ordering): Map<string, EntityRegistration[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-helpers.d.ts","sourceRoot":"","sources":["../src/collection-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAQ,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAQ,GAAG,oBAAiB,CAAC;AAC7B,KAAK,OAAO,GAAG,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC;AAExC,+EAA+E;AAC/E,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAmB5D;AAED;mDACmD;AACnD,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;+EAE2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACrD;;;gDAG4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CACpE;AAED;;+EAE+E;AAC/E,qBAAa,QAAQ;IAEnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EACjD,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;IAG1E,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAIxD;gDAC4C;IAC5C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CAKxD;AAED;6EAC6E;AAC7E,wBAAgB,aAAa,CAAC,WAAW,EAAE,qBAAqB,GAAG,SAAS,GAAG,QAAQ,CActF;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAEvD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAGzD;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIvE;AAED;0DAC0D;AAC1D,wBAAgB,SAAS,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAOvE;AAED;8EAC8E;AAC9E,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAE9D;AAED;;;;kBAIkB;AAClB,wBAAgB,WAAW,CAC1B,CAAC,EAAE,kBAAkB,EACrB,IAAI,CAAC,EAAE;IACN,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;;;;;;;;;;EAeD;
|
|
1
|
+
{"version":3,"file":"collection-helpers.d.ts","sourceRoot":"","sources":["../src/collection-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,12 +88,30 @@ export function entityTitle(e) {
|
|
|
88
88
|
const d = e.data;
|
|
89
89
|
return String(d.title ?? d.name ?? e.id);
|
|
90
90
|
}
|
|
91
|
+
/** A field rendered for display — an array is joined with `, `. Not a
|
|
92
|
+
* grouping or sorting key: a multi-value field reads as one combined string
|
|
93
|
+
* here (BUG-025); use {@link fieldMembers} / {@link groupKeys} for that. */
|
|
91
94
|
export function fieldValue(e, field) {
|
|
92
95
|
const v = resolveEntityField(e, field);
|
|
93
96
|
if (Array.isArray(v))
|
|
94
97
|
return v.join(', ');
|
|
95
98
|
return String(v ?? '');
|
|
96
99
|
}
|
|
100
|
+
/** A field's individual values — the split the filter side applies
|
|
101
|
+
* (`candidates()` in `field-match.ts`): a genuine array fans out by element, a
|
|
102
|
+
* comma-string by member, each trimmed. Empty members are dropped and repeats
|
|
103
|
+
* collapse, so `"a, , a, b"` is `['a', 'b']` and a missing value is `[]`. */
|
|
104
|
+
export function fieldMembers(e, field) {
|
|
105
|
+
const v = resolveEntityField(e, field);
|
|
106
|
+
const raw = Array.isArray(v) ? v.map((x) => String(x ?? '')) : String(v ?? '').split(',');
|
|
107
|
+
return [...new Set(raw.map((m) => m.trim()).filter(Boolean))];
|
|
108
|
+
}
|
|
109
|
+
/** The groups an entity joins under `group="<field>"` — one per member of a
|
|
110
|
+
* multi-value field (BUG-025), or `(none)` when it carries no value. */
|
|
111
|
+
export function groupKeys(e, field) {
|
|
112
|
+
const members = fieldMembers(e, field);
|
|
113
|
+
return members.length ? members : ['(none)'];
|
|
114
|
+
}
|
|
97
115
|
/** A title link to an entity, or a plain span when it has no URL. The BEM
|
|
98
116
|
* block is the caller's (collection / relationships). */
|
|
99
117
|
export function titleLink(e, block) {
|
|
@@ -129,10 +147,24 @@ export function projectItem(e, opts) {
|
|
|
129
147
|
groupCount: opts?.groupCount ?? 0,
|
|
130
148
|
};
|
|
131
149
|
}
|
|
150
|
+
/** Order two scalar field values: numeric when both are finite numbers,
|
|
151
|
+
* lexical otherwise. */
|
|
152
|
+
function compareScalar(av, bv) {
|
|
153
|
+
const an = Number(av);
|
|
154
|
+
const bn = Number(bv);
|
|
155
|
+
if (av !== '' && bv !== '' && Number.isFinite(an) && Number.isFinite(bn))
|
|
156
|
+
return an - bn;
|
|
157
|
+
return av.localeCompare(bv);
|
|
158
|
+
}
|
|
132
159
|
/** Sort entities by a `sort` expression (`field`, `-field`, `field-desc`).
|
|
133
160
|
* With an {@link Ordering}, enum fields sort by domain rank (each entity ranked
|
|
134
161
|
* within its *own* `(type, field)` order — so mixed-type sets compose); ranked
|
|
135
|
-
* items come before unranked, which then fall back to numeric/lexical.
|
|
162
|
+
* items come before unranked, which then fall back to numeric/lexical.
|
|
163
|
+
*
|
|
164
|
+
* A multi-value field sorts each entity by one representative member, never by
|
|
165
|
+
* the joined string (BUG-025): its smallest member ascending, its largest
|
|
166
|
+
* descending — MongoDB's rule for sorting on an array. With an ordering, a
|
|
167
|
+
* ranked member is preferred over an unranked one. */
|
|
136
168
|
export function sortEntities(entities, sortExpr, ordering) {
|
|
137
169
|
if (!sortExpr)
|
|
138
170
|
return entities;
|
|
@@ -150,10 +182,29 @@ export function sortEntities(entities, sortExpr, ordering) {
|
|
|
150
182
|
field = field.slice(0, -4);
|
|
151
183
|
}
|
|
152
184
|
const ranked = ordering && entities.some((e) => ordering.order(e.type, field));
|
|
185
|
+
const rankOf = (e, v) => ranked ? ordering.rank(e.type, field, v) : -1;
|
|
186
|
+
// The value each entity sorts by — its own value when single-valued, else
|
|
187
|
+
// the member that sorts first in this direction.
|
|
188
|
+
const keyOf = (e) => {
|
|
189
|
+
const members = fieldMembers(e, field);
|
|
190
|
+
if (members.length < 2)
|
|
191
|
+
return fieldValue(e, field);
|
|
192
|
+
return members.reduce((best, m) => {
|
|
193
|
+
const rm = rankOf(e, m);
|
|
194
|
+
const rb = rankOf(e, best);
|
|
195
|
+
if (rm >= 0 !== rb >= 0)
|
|
196
|
+
return rm >= 0 ? m : best;
|
|
197
|
+
const c = rm >= 0 ? rm - rb : compareScalar(m, best);
|
|
198
|
+
return c * dir < 0 ? m : best;
|
|
199
|
+
});
|
|
200
|
+
};
|
|
201
|
+
const keys = new Map(entities.map((e) => [e, keyOf(e)]));
|
|
153
202
|
return [...entities].sort((a, b) => {
|
|
203
|
+
const av = keys.get(a);
|
|
204
|
+
const bv = keys.get(b);
|
|
154
205
|
if (ranked) {
|
|
155
|
-
const ra =
|
|
156
|
-
const rb =
|
|
206
|
+
const ra = rankOf(a, av);
|
|
207
|
+
const rb = rankOf(b, bv);
|
|
157
208
|
const aR = ra >= 0, bR = rb >= 0;
|
|
158
209
|
if (aR && bR) {
|
|
159
210
|
if (ra !== rb)
|
|
@@ -162,13 +213,7 @@ export function sortEntities(entities, sortExpr, ordering) {
|
|
|
162
213
|
else if (aR !== bR)
|
|
163
214
|
return aR ? -1 : 1; // ranked before unranked, dir-independent
|
|
164
215
|
}
|
|
165
|
-
|
|
166
|
-
const bv = fieldValue(b, field);
|
|
167
|
-
const an = Number(av);
|
|
168
|
-
const bn = Number(bv);
|
|
169
|
-
if (av !== '' && bv !== '' && Number.isFinite(an) && Number.isFinite(bn))
|
|
170
|
-
return (an - bn) * dir;
|
|
171
|
-
return av.localeCompare(bv) * dir;
|
|
216
|
+
return compareScalar(av, bv) * dir;
|
|
172
217
|
});
|
|
173
218
|
}
|
|
174
219
|
/** Group items into an insertion-ordered map keyed by a derived string. */
|
|
@@ -184,23 +229,35 @@ export function groupBy(items, keyOf) {
|
|
|
184
229
|
}
|
|
185
230
|
return groups;
|
|
186
231
|
}
|
|
187
|
-
/** Group entities by one of their fields (empty → `(none)`).
|
|
232
|
+
/** Group entities by one of their fields (empty → `(none)`). A multi-value
|
|
233
|
+
* field fans out (BUG-025): an entity tagged `runes, data` joins both the
|
|
234
|
+
* `runes` and the `data` group, so group sizes can sum past the entity count —
|
|
235
|
+
* a group's size is the number of entities *carrying* that value. With an
|
|
188
236
|
* {@link Ordering}, groups are emitted in domain order — each group's
|
|
189
237
|
* representative (minimum) rank across its members, ranked groups first. */
|
|
190
238
|
export function groupEntities(entities, field, ordering) {
|
|
191
|
-
const groups =
|
|
239
|
+
const groups = new Map();
|
|
240
|
+
for (const e of entities) {
|
|
241
|
+
for (const key of groupKeys(e, field)) {
|
|
242
|
+
const arr = groups.get(key);
|
|
243
|
+
if (arr)
|
|
244
|
+
arr.push(e);
|
|
245
|
+
else
|
|
246
|
+
groups.set(key, [e]);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
192
249
|
if (!ordering || ![...entities].some((e) => ordering.order(e.type, field)))
|
|
193
250
|
return groups;
|
|
194
|
-
const repRank = (members) => {
|
|
251
|
+
const repRank = (key, members) => {
|
|
195
252
|
let min = Infinity;
|
|
196
253
|
for (const m of members) {
|
|
197
|
-
const r = ordering.rank(m.type, field,
|
|
254
|
+
const r = ordering.rank(m.type, field, key);
|
|
198
255
|
if (r >= 0 && r < min)
|
|
199
256
|
min = r;
|
|
200
257
|
}
|
|
201
258
|
return min;
|
|
202
259
|
};
|
|
203
|
-
const sorted = [...groups.entries()].sort((a, b) => repRank(a
|
|
260
|
+
const sorted = [...groups.entries()].sort((a, b) => repRank(...a) - repRank(...b));
|
|
204
261
|
return new Map(sorted);
|
|
205
262
|
}
|
|
206
263
|
/** Render grouped items as an accordion of native `<details>` panels, styled to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-helpers.js","sourceRoot":"","sources":["../src/collection-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAGvC,OAAO,EAAE,kBAAkB,EAAwB,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AAU7B;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB;IAChD,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACzC,iEAAiE;IACjE,wEAAwE;IACxE,2EAA2E;IAC3E,wEAAwE;IACxE,qEAAqE;IACrE,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAa,CAAC,EAAE,CAAC,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;YACrC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAC3D,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,EAAE,CAC7B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;AACrF,CAAC;AAmBD;;+EAE+E;AAC/E,MAAM,OAAO,QAAQ;IACpB,YACkB,OAAiD,EACjD,YAAsD,EAAE;QADxD,YAAO,GAAP,OAAO,CAA0C;QACjD,cAAS,GAAT,SAAS,CAA+C;IACvE,CAAC;IAEJ,KAAK,CAAC,IAAY,EAAE,KAAa;QAChC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;IAED;gDAC4C;IAC5C,IAAI,CAAC,IAAY,EAAE,KAAa,EAAE,KAAa;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG;YAAE,OAAO,CAAC,CAAC,CAAC;QACpB,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;CACD;AAED;6EAC6E;AAC7E,MAAM,UAAU,aAAa,CAAC,WAA8C;IAC3E,MAAM,OAAO,GAA6C,EAAE,CAAC;IAC7D,MAAM,IAAI,GAAG,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,KAAK,GAAI,MAAiE,EAAE,UAAU,CAAC;QAC7F,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC/D,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC;YAC/C,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,CAAqB;IAC9C,OAAO,CAAC,CAAC,SAAS,IAAI,MAAM,CAAE,CAAC,CAAC,IAAgC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAqB;IAChD,MAAM,CAAC,GAAG,CAAC,CAAC,IAA+B,CAAC;IAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAqB,EAAE,KAAa;IAC9D,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAoB,EAAE,KAAK,CAAC,CAAC;IAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACxB,CAAC;AAED;0DAC0D;AAC1D,MAAM,UAAU,SAAS,CAAC,CAAqB,EAAE,KAAa;IAC7D,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,GAAG,KAAK,SAAS,CAAC;IAC9B,OAAO,GAAG;QACT,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;8EAC8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,CAAqB;IACrD,OAAO,CAAC,CAAC,EAAE,IAAI,MAAM,CAAE,CAAC,CAAC,IAAgC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;;;kBAIkB;AAClB,MAAM,UAAU,WAAW,CAC1B,CAAqB,EACrB,IAKC;IAED,MAAM,MAAM,GAAI,CAAC,CAAC,IAAgC,EAAE,MAA4B,CAAC;IACjF,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,OAAO;QACN,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC/B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;QACjB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,SAAS;QACT,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK;QAC3B,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,CAAC;KACjC,CAAC;AACH,CAAC;AAED;;;2EAG2E;AAC3E,MAAM,UAAU,YAAY,CAC3B,QAA8B,EAC9B,QAAgB,EAChB,QAAmB;IAEnB,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC/B,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,GAAG,CAAC,CAAC,CAAC;QACT,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,GAAG,GAAG,CAAC,CAAC,CAAC;QACT,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAClC,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,EAAE,GAAG,QAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/D,MAAM,EAAE,GAAG,QAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/D,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,EACjB,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACd,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;gBACd,IAAI,EAAE,KAAK,EAAE;oBAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;YACvC,CAAC;iBAAM,IAAI,EAAE,KAAK,EAAE;gBAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C;QACrF,CAAC;QACD,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAChC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAChC,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACtB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACxB,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACnC,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,OAAO,CAAI,KAAU,EAAE,KAA0B;IAChE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAe,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACnB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;6EAE6E;AAC7E,MAAM,UAAU,aAAa,CAC5B,QAA8B,EAC9B,KAAa,EACb,QAAmB;IAEnB,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC;IAC1E,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1F,MAAM,OAAO,GAAG,CAAC,OAA6B,EAAU,EAAE;QACzD,IAAI,GAAG,GAAG,QAAQ,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG;gBAAE,GAAG,GAAG,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAcD;;;;yEAIyE;AACzE,MAAM,UAAU,oBAAoB,CAAC,MAAwB;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CACvB,CAAC,CAAC,EAAE,EAAE,CACL,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE;QACvE,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,EAAE;YAC1D,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACjE,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;SACzE,CAAC;QACF,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;KAC7D,CAAC,CACH,CAAC;IACF,OAAO,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;4EAC4E;AAC5E,MAAM,UAAU,kBAAkB,CACjC,UAAkB,EAClB,WAAkC,EAClC,SAAkC;IAElC,MAAM,GAAG,GAAG,yBAAyB,CAAC,UAAU,EAAE,WAAoB,EAAE,SAAS,CAAC,CAAC;IACnF,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAyB,CAAC;AACnE,CAAC"}
|
|
1
|
+
{"version":3,"file":"collection-helpers.js","sourceRoot":"","sources":["../src/collection-helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA+B,MAAM,uBAAuB,CAAC;AAUtF,OAAO,KAAK,EACX,mBAAmB,EAEnB,cAAc,EAEd,eAAe,EACf,YAAY,EACZ,MAAM,mBAAmB,CAAC;AAS3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA+B,MAAM,uBAAuB,CAAC;AAUtF,OAAO,KAAK,EACX,mBAAmB,EAEnB,cAAc,EAEd,eAAe,EACf,YAAY,EACZ,MAAM,mBAAmB,CAAC;AAS3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAqE9D;gFACgF;AAChF,eAAO,MAAM,UAAU,EAAE,WA4pBxB,CAAC;AAEF,sGAAsG;AACtG,eAAO,MAAM,UAAU,aAAa,CAAC;AAIrC,gEAAgE;AAChE,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,YAAY,EAAE,CAAC;CACzB;AA63CD,UAAU,YAAY;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAuKD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CACnC,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE;IACT,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,UAAU,EAAE,GAAG,CACd,MAAM,EACN;QACC,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CACD,CAAC;IACF,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IACnC;;;uBAGmB;IACnB,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACrC,EACD,GAAG,EAAE,eAAe;AACpB;;yEAEyE;AACzE,cAAc,CAAC,EAAE,OAAO,EAAE,GACxB,OAAO,CA0BT;AAED,2DAA2D;AAC3D,MAAM,WAAW,wBAAwB;IACxC;;8DAE0D;IAC1D,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC;;kFAE8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;6CACyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;2EAIuE;IACvE,WAAW,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC;;;yEAGiE;QACjE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;2CACmC;QACnC,YAAY,CAAC,EAAE,YAAY,CAAC;KAC5B,CAAC;CACF;AA6BD,wBAAgB,uBAAuB,CAAC,IAAI,GAAE,wBAA6B,GAAG,mBAAmB,CA0ThG;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,mBAA+C,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -6,9 +6,10 @@ import { BREADCRUMB_AUTO_SENTINEL, breadcrumbSchema } from './tags/breadcrumb.js
|
|
|
6
6
|
import { NAV_AUTO_SENTINEL, NAV_COLLAPSED_AUTO } from './tags/nav.js';
|
|
7
7
|
import { PAGINATION_AUTO_SENTINEL } from './tags/pagination.js';
|
|
8
8
|
import { resolveXrefs } from './xref-resolve.js';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
9
|
+
import { preprocessTree } from './lib/preprocess.js';
|
|
10
|
+
import { snippet } from './tags/snippet.js';
|
|
11
|
+
import { data } from './tags/data.js';
|
|
12
|
+
import { include } from './tags/include.js';
|
|
12
13
|
import { registerDrawers, resolveAutoDrawerTitleLevels, hoistPreviewDrawers, } from './drawer-pipeline.js';
|
|
13
14
|
import { resolveFileRefs } from './file-ref-resolve.js';
|
|
14
15
|
import { resolveXrefPreviews } from './xref-preview-resolve.js';
|
|
@@ -156,11 +157,10 @@ export const coreConfig = {
|
|
|
156
157
|
PageSection: { block: 'page-section' },
|
|
157
158
|
TableOfContents: { block: 'toc', defaultElevation: 'flush' },
|
|
158
159
|
/* Snippet doesn't have a normal schema transform — its preprocess
|
|
159
|
-
* hook replaces the tag with a `fence` node,
|
|
160
|
-
*
|
|
161
|
-
* The engine never sees a `Snippet` tag
|
|
162
|
-
*
|
|
163
|
-
* `snippet.css` in CSS tree-shaking when the figure is rendered. */
|
|
160
|
+
* hook replaces the tag with a `fence` node, which renders as a
|
|
161
|
+
* `<pre data-source>` (SPEC-141 D5: no wrapper, no `snippet` block CSS).
|
|
162
|
+
* The engine never sees a `Snippet` tag; the entry exists so the rune
|
|
163
|
+
* is known to inspect/contracts tooling, like Data and Include below. */
|
|
164
164
|
Snippet: { block: 'snippet' },
|
|
165
165
|
/* Data, like Snippet, has no normal schema transform — its preprocess
|
|
166
166
|
* hook replaces the `{% data %}` tag with a Markdoc `table` node before
|
|
@@ -749,8 +749,13 @@ function buildPageTree(pages) {
|
|
|
749
749
|
}
|
|
750
750
|
return root;
|
|
751
751
|
}
|
|
752
|
-
/** Build breadcrumb paths: url → ordered ancestor urls (root first, parent last)
|
|
752
|
+
/** Build breadcrumb paths: url → ordered ancestor urls (root first, parent last).
|
|
753
|
+
*
|
|
754
|
+
* Only registered pages appear in a path. A directory with no index page is a
|
|
755
|
+
* gap, not a dead end: the walk steps over it by path and carries on, so
|
|
756
|
+
* `/docs/guide` with no `/docs` page still reaches `/`. */
|
|
753
757
|
function buildBreadcrumbPaths(pages) {
|
|
758
|
+
const registered = new Set(pages.map((p) => p.url));
|
|
754
759
|
const parentOf = new Map();
|
|
755
760
|
for (const p of pages) {
|
|
756
761
|
if (p.url !== '/') {
|
|
@@ -760,23 +765,49 @@ function buildBreadcrumbPaths(pages) {
|
|
|
760
765
|
const paths = new Map();
|
|
761
766
|
for (const p of pages) {
|
|
762
767
|
const ancestors = [];
|
|
768
|
+
const seen = new Set([p.url]);
|
|
763
769
|
let current = parentOf.get(p.url);
|
|
764
|
-
while (current !== undefined) {
|
|
765
|
-
|
|
766
|
-
|
|
770
|
+
while (current !== undefined && !seen.has(current)) {
|
|
771
|
+
seen.add(current);
|
|
772
|
+
if (registered.has(current)) {
|
|
773
|
+
ancestors.unshift(current);
|
|
774
|
+
current = parentOf.get(current);
|
|
775
|
+
}
|
|
776
|
+
else {
|
|
777
|
+
current = current === '/' ? undefined : resolveParentUrl(current, registered);
|
|
778
|
+
}
|
|
767
779
|
}
|
|
768
780
|
paths.set(p.url, ancestors);
|
|
769
781
|
}
|
|
770
782
|
return paths;
|
|
771
783
|
}
|
|
772
|
-
/** Derive the parent url by stripping the last path segment
|
|
784
|
+
/** Derive the parent url by stripping the last path segment, in the router's
|
|
785
|
+
* shape: no trailing slash, except the root `/`.
|
|
786
|
+
*
|
|
787
|
+
* BUG-018 — this used to keep the trailing slash (`/docs/guide` → `/docs/`)
|
|
788
|
+
* while the router registers `/docs`, so every lookup keyed on `parentUrl`
|
|
789
|
+
* missed below depth 1. */
|
|
773
790
|
function deriveParentUrl(url) {
|
|
774
791
|
if (url === '/' || !url.includes('/'))
|
|
775
792
|
return '/';
|
|
776
|
-
// '/docs/guide/' → strip trailing slash, then strip last segment
|
|
777
793
|
const trimmed = url.endsWith('/') ? url.slice(0, -1) : url;
|
|
778
794
|
const parent = trimmed.lastIndexOf('/');
|
|
779
|
-
return parent <= 0 ? '/' : trimmed.slice(0, parent
|
|
795
|
+
return parent <= 0 ? '/' : trimmed.slice(0, parent);
|
|
796
|
+
}
|
|
797
|
+
/** Resolve a page's `parentUrl` to the key its parent is actually registered
|
|
798
|
+
* under. Every consumer of `parentUrl` — `buildPageTree`, the breadcrumb walk,
|
|
799
|
+
* `nav auto`, auto-pagination — compares it against a page `url`, so it must
|
|
800
|
+
* be spelled exactly as that page's `url` is. The router never emits a
|
|
801
|
+
* trailing slash, but a base path makes its root `/base/`, and a `slug`
|
|
802
|
+
* override can carry one, so both spellings are tried. When no page sits at
|
|
803
|
+
* the parent path, the router's shape is returned. */
|
|
804
|
+
function resolveParentUrl(url, registered) {
|
|
805
|
+
const derived = deriveParentUrl(url);
|
|
806
|
+
if (registered.has(derived))
|
|
807
|
+
return derived;
|
|
808
|
+
if (derived !== '/' && registered.has(`${derived}/`))
|
|
809
|
+
return `${derived}/`;
|
|
810
|
+
return derived;
|
|
780
811
|
}
|
|
781
812
|
/** Walk a Markdoc renderable tree, resolving any auto-breadcrumb placeholders */
|
|
782
813
|
function resolveAutoBreadcrumbs(renderable, pageUrl, breadcrumbPaths, pagesByUrl, ctx) {
|
|
@@ -830,8 +861,14 @@ function buildAutoBreadcrumb(originalTag, pageUrl, breadcrumbPaths, pagesByUrl,
|
|
|
830
861
|
const listItems = [];
|
|
831
862
|
for (const ancestorUrl of ancestorUrls) {
|
|
832
863
|
const ancestorPage = pagesByUrl.get(ancestorUrl);
|
|
833
|
-
if (!ancestorPage)
|
|
864
|
+
if (!ancestorPage) {
|
|
865
|
+
// BUG-018 — a short trail used to be the only symptom of this. The
|
|
866
|
+
// breadcrumb paths name only registered pages, so a miss here means the
|
|
867
|
+
// two indexes disagree about a page's key: say so instead of quietly
|
|
868
|
+
// dropping a level.
|
|
869
|
+
ctx.warn(`Breadcrumb auto: ancestor "${ancestorUrl}" of page "${pageUrl}" is on the breadcrumb path but has no page entry; it was left out of the trail`, pageUrl);
|
|
834
870
|
continue;
|
|
871
|
+
}
|
|
835
872
|
const nameSpan = new Tag('span', { hidden: true }, [ancestorPage.title]);
|
|
836
873
|
const urlLink = new Tag('a', { href: ancestorUrl }, [ancestorPage.title]);
|
|
837
874
|
listItems.push(createComponentRenderable({
|
|
@@ -2057,25 +2094,25 @@ export function createCorePipelineHooks(opts = {}) {
|
|
|
2057
2094
|
const embedConfig = opts.embedConfig;
|
|
2058
2095
|
const repoUrl = opts.repoUrl;
|
|
2059
2096
|
const repoBranch = opts.repoBranch;
|
|
2097
|
+
// The page's merged tag table when the loader passes one (core + plugins),
|
|
2098
|
+
// else core's own preprocessing runes — enough for a caller with no plugins.
|
|
2099
|
+
const preprocessSchemas = opts.embedConfig?.tags ?? {
|
|
2100
|
+
include,
|
|
2101
|
+
snippet,
|
|
2102
|
+
data,
|
|
2103
|
+
};
|
|
2060
2104
|
return {
|
|
2061
|
-
//
|
|
2062
|
-
//
|
|
2063
|
-
//
|
|
2064
|
-
//
|
|
2065
|
-
//
|
|
2066
|
-
// **Include runs first, and the order is load-bearing** (SPEC-129): the
|
|
2067
|
-
// whole point of the rune is that the pasted content is in the tree when the
|
|
2068
|
-
// later preprocessors walk it. Anything added to this phase that authors may
|
|
2069
|
-
// want inside an included file belongs after include, not before.
|
|
2105
|
+
// SPEC-141 — every rune that declares `preprocess` on its schema resolves
|
|
2106
|
+
// here, in one walk over the page in tree order. Which runes take part is
|
|
2107
|
+
// read off the tag table, so a plugin rune's hook runs exactly as a core
|
|
2108
|
+
// one does; the order between them is where they sit in the tree.
|
|
2070
2109
|
preprocess(ast, page, ctx) {
|
|
2071
|
-
|
|
2072
|
-
const snippetChanged = preprocessSnippets(ast, page, ctx);
|
|
2073
|
-
const dataChanged = preprocessData(ast, page, ctx);
|
|
2074
|
-
return includeChanged || snippetChanged || dataChanged ? ast : undefined;
|
|
2110
|
+
return preprocessTree(ast, page, ctx, preprocessSchemas);
|
|
2075
2111
|
},
|
|
2076
2112
|
register(pages, registry, ctx) {
|
|
2113
|
+
const registeredUrls = new Set(pages.map((p) => p.url));
|
|
2077
2114
|
for (const page of pages) {
|
|
2078
|
-
const parentUrl =
|
|
2115
|
+
const parentUrl = resolveParentUrl(page.url, registeredUrls);
|
|
2079
2116
|
const existingPage = registry.getById('page', page.url);
|
|
2080
2117
|
if (existingPage && existingPage.sourceUrl !== page.url) {
|
|
2081
2118
|
ctx.warn(`Page '${page.url}' already registered from '${existingPage.sourceUrl}'`, page.url);
|
|
@@ -2219,28 +2256,24 @@ export function createCorePipelineHooks(opts = {}) {
|
|
|
2219
2256
|
// registry and inject the JSON for the iframe to expose as window.RF_DATA.
|
|
2220
2257
|
renderable = resolveDataBindings(renderable, coreData.registry, ctx, page.url);
|
|
2221
2258
|
renderable = resolveXrefs(renderable, page.url, coreData.registry, coreData.xrefPatterns ?? [], ctx);
|
|
2222
|
-
|
|
2223
|
-
// into `<figure class="rf-snippet">` when not inside a fence-consuming
|
|
2224
|
-
// container (codegroup, diff). The wrap is a no-op when the page
|
|
2225
|
-
// has no snippet-derived fences.
|
|
2226
|
-
const wrappedPage = wrapStandaloneSnippets(renderable === page.renderable ? page : { ...page, renderable }, aggregated, ctx);
|
|
2259
|
+
const finalPage = renderable === page.renderable ? page : { ...page, renderable };
|
|
2227
2260
|
// SPEC-066 outline-scope walkers: prefix heading IDs and drop TOC
|
|
2228
2261
|
// items inside any `data-outline-scope` subtree. Generic — any rune
|
|
2229
2262
|
// can set the attribute and get the behaviour. Runs last so it can
|
|
2230
2263
|
// see the final tree (including expand-substituted content once
|
|
2231
2264
|
// that lands in v0.15.0).
|
|
2232
|
-
applyOutlineScopeWalkers(
|
|
2265
|
+
applyOutlineScopeWalkers(finalPage.renderable);
|
|
2233
2266
|
// Refresh `page.headings` from the final renderable. Parse-time
|
|
2234
2267
|
// `extractHeadings` only saw the raw AST — anything inlined by
|
|
2235
2268
|
// postProcess (expand `level=N`, collection bodies) wouldn't make
|
|
2236
2269
|
// it into the parse-time list, leaving the page TOC blind to those
|
|
2237
2270
|
// headings. Skips `data-outline-scope` subtrees so peer-document
|
|
2238
2271
|
// embeds stay isolated, matching the TOC walker.
|
|
2239
|
-
const harvested = harvestHeadingsFromRenderable(
|
|
2240
|
-
if (harvested.length > 0 ||
|
|
2241
|
-
return { ...
|
|
2272
|
+
const harvested = harvestHeadingsFromRenderable(finalPage.renderable);
|
|
2273
|
+
if (harvested.length > 0 || finalPage.headings.length > 0) {
|
|
2274
|
+
return { ...finalPage, headings: harvested };
|
|
2242
2275
|
}
|
|
2243
|
-
return
|
|
2276
|
+
return finalPage;
|
|
2244
2277
|
},
|
|
2245
2278
|
};
|
|
2246
2279
|
}
|