@refrakt-md/runes 0.14.4 → 0.16.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/aggregate-resolve.d.ts +4 -0
- package/dist/aggregate-resolve.d.ts.map +1 -0
- package/dist/aggregate-resolve.js +209 -0
- package/dist/aggregate-resolve.js.map +1 -0
- package/dist/collection-helpers.d.ts +101 -0
- package/dist/collection-helpers.d.ts.map +1 -0
- package/dist/collection-helpers.js +206 -0
- package/dist/collection-helpers.js.map +1 -0
- package/dist/collection-resolve.d.ts +5 -0
- package/dist/collection-resolve.d.ts.map +1 -0
- package/dist/collection-resolve.js +209 -0
- package/dist/collection-resolve.js.map +1 -0
- package/dist/config.d.ts +46 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +208 -88
- package/dist/config.js.map +1 -1
- package/dist/deferred-body.d.ts +19 -0
- package/dist/deferred-body.d.ts.map +1 -0
- package/dist/deferred-body.js +70 -0
- package/dist/deferred-body.js.map +1 -0
- package/dist/drawer-pipeline.d.ts +33 -0
- package/dist/drawer-pipeline.d.ts.map +1 -0
- package/dist/drawer-pipeline.js +206 -0
- package/dist/drawer-pipeline.js.map +1 -0
- package/dist/expand-pipeline.d.ts +51 -0
- package/dist/expand-pipeline.d.ts.map +1 -0
- package/dist/expand-pipeline.js +314 -0
- package/dist/expand-pipeline.js.map +1 -0
- package/dist/field-match.d.ts +43 -0
- package/dist/field-match.d.ts.map +1 -0
- package/dist/field-match.js +121 -0
- package/dist/field-match.js.map +1 -0
- package/dist/functions.d.ts +36 -0
- package/dist/functions.d.ts.map +1 -0
- package/dist/functions.js +74 -0
- package/dist/functions.js.map +1 -0
- package/dist/index.d.ts +34 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +95 -4
- package/dist/index.js.map +1 -1
- package/dist/lang-map.d.ts +32 -0
- package/dist/lang-map.d.ts.map +1 -0
- package/dist/lang-map.js +76 -0
- package/dist/lang-map.js.map +1 -0
- package/dist/lib/index.d.ts +6 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +9 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/read-file.d.ts +78 -0
- package/dist/lib/read-file.d.ts.map +1 -0
- package/dist/lib/read-file.js +166 -0
- package/dist/lib/read-file.js.map +1 -0
- package/dist/nodes.d.ts.map +1 -1
- package/dist/nodes.js +18 -2
- package/dist/nodes.js.map +1 -1
- package/dist/outline-scope.d.ts +46 -0
- package/dist/outline-scope.d.ts.map +1 -0
- package/dist/outline-scope.js +208 -0
- package/dist/outline-scope.js.map +1 -0
- package/dist/plugins.d.ts +13 -0
- package/dist/plugins.d.ts.map +1 -1
- package/dist/plugins.js +65 -1
- package/dist/plugins.js.map +1 -1
- package/dist/relationships-resolve.d.ts +4 -0
- package/dist/relationships-resolve.d.ts.map +1 -0
- package/dist/relationships-resolve.js +180 -0
- package/dist/relationships-resolve.js.map +1 -0
- package/dist/snippet-pipeline.d.ts +42 -0
- package/dist/snippet-pipeline.d.ts.map +1 -0
- package/dist/snippet-pipeline.js +219 -0
- package/dist/snippet-pipeline.js.map +1 -0
- package/dist/tags/aggregate.d.ts +19 -0
- package/dist/tags/aggregate.d.ts.map +1 -0
- package/dist/tags/aggregate.js +59 -0
- package/dist/tags/aggregate.js.map +1 -0
- package/dist/tags/card.d.ts +25 -0
- package/dist/tags/card.d.ts.map +1 -0
- package/dist/tags/card.js +138 -0
- package/dist/tags/card.js.map +1 -0
- package/dist/tags/collection.d.ts +10 -0
- package/dist/tags/collection.d.ts.map +1 -0
- package/dist/tags/collection.js +54 -0
- package/dist/tags/collection.js.map +1 -0
- package/dist/tags/conversation.d.ts.map +1 -1
- package/dist/tags/conversation.js +26 -6
- package/dist/tags/conversation.js.map +1 -1
- package/dist/tags/drawer.d.ts +26 -0
- package/dist/tags/drawer.d.ts.map +1 -0
- package/dist/tags/drawer.js +134 -0
- package/dist/tags/drawer.js.map +1 -0
- package/dist/tags/expand.d.ts +22 -0
- package/dist/tags/expand.d.ts.map +1 -0
- package/dist/tags/expand.js +76 -0
- package/dist/tags/expand.js.map +1 -0
- package/dist/tags/progress.d.ts +9 -0
- package/dist/tags/progress.d.ts.map +1 -0
- package/dist/tags/progress.js +96 -0
- package/dist/tags/progress.js.map +1 -0
- package/dist/tags/relationships.d.ts +12 -0
- package/dist/tags/relationships.d.ts.map +1 -0
- package/dist/tags/relationships.js +62 -0
- package/dist/tags/relationships.js.map +1 -0
- package/dist/tags/snippet.d.ts +19 -0
- package/dist/tags/snippet.d.ts.map +1 -0
- package/dist/tags/snippet.js +49 -0
- package/dist/tags/snippet.js.map +1 -0
- package/dist/util.d.ts +11 -0
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +35 -0
- package/dist/util.js.map +1 -1
- package/dist/xref-patterns.d.ts +57 -0
- package/dist/xref-patterns.d.ts.map +1 -0
- package/dist/xref-patterns.js +140 -0
- package/dist/xref-patterns.js.map +1 -0
- package/dist/xref-resolve.d.ts +22 -5
- package/dist/xref-resolve.d.ts.map +1 -1
- package/dist/xref-resolve.js +203 -79
- package/dist/xref-resolve.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* collection postProcess resolver (SPEC-070).
|
|
3
|
+
*
|
|
4
|
+
* Walks the serialized renderable, finds `collection` sentinels, queries the
|
|
5
|
+
* registry (filter / sort / group / limit via the shared field-match grammar),
|
|
6
|
+
* and renders either a per-entity body template (deferBody) or a built-in
|
|
7
|
+
* layout (list / cards / grid / table with `fields` projection).
|
|
8
|
+
*/
|
|
9
|
+
import Markdoc from '@markdoc/markdoc';
|
|
10
|
+
import { parseFieldMatch, matchesFieldMatch } from './field-match.js';
|
|
11
|
+
import { transformDeferredTemplate } from './deferred-body.js';
|
|
12
|
+
import { humanize } from './functions.js';
|
|
13
|
+
import { fieldValue, titleLink as titleLinkFor, sortEntities, groupEntities, projectItem, buildOrdering, splitBodyZones, renderItemTemplate, renderGroupAccordion, } from './collection-helpers.js';
|
|
14
|
+
import { COLLECTION_SENTINEL } from './tags/collection.js';
|
|
15
|
+
const { Tag, Ast } = Markdoc;
|
|
16
|
+
function titleLink(e) {
|
|
17
|
+
return titleLinkFor(e, 'rf-collection');
|
|
18
|
+
}
|
|
19
|
+
function isTag(node) {
|
|
20
|
+
return Tag.isTag(node);
|
|
21
|
+
}
|
|
22
|
+
function metaContent(tag, field) {
|
|
23
|
+
for (const child of tag.children ?? []) {
|
|
24
|
+
if (isTag(child) && child.name === 'meta' && child.attributes['data-field'] === field) {
|
|
25
|
+
return String(child.attributes.content ?? '');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return '';
|
|
29
|
+
}
|
|
30
|
+
function hasSentinel(tag) {
|
|
31
|
+
return (tag.children ?? []).some((c) => isTag(c) && c.name === 'meta' && c.attributes['data-field'] === COLLECTION_SENTINEL);
|
|
32
|
+
}
|
|
33
|
+
function readQuery(tag) {
|
|
34
|
+
const limitRaw = metaContent(tag, 'collection-limit');
|
|
35
|
+
const limitNum = Number(limitRaw);
|
|
36
|
+
return {
|
|
37
|
+
types: metaContent(tag, 'collection-type').split(',').map((s) => s.trim()).filter(Boolean),
|
|
38
|
+
filter: metaContent(tag, 'collection-filter'),
|
|
39
|
+
sort: metaContent(tag, 'collection-sort'),
|
|
40
|
+
group: metaContent(tag, 'collection-group'),
|
|
41
|
+
groupDisplay: metaContent(tag, 'collection-group-display') || 'headings',
|
|
42
|
+
limit: limitRaw && Number.isFinite(limitNum) && limitNum > 0 ? Math.floor(limitNum) : undefined,
|
|
43
|
+
fields: metaContent(tag, 'collection-fields').split(',').map((s) => s.trim()).filter(Boolean),
|
|
44
|
+
layout: metaContent(tag, 'collection-layout') || 'list',
|
|
45
|
+
bodySource: metaContent(tag, 'collection-body'),
|
|
46
|
+
empty: metaContent(tag, 'collection-empty'),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function renderBuiltInItem(e, q) {
|
|
50
|
+
const fieldSpans = q.fields.map((f) => new Tag('span', { class: 'rf-collection__field', 'data-field': f }, [fieldValue(e, f)]));
|
|
51
|
+
if (q.layout === 'list') {
|
|
52
|
+
return new Tag('div', { class: 'rf-collection__item', 'data-entity-id': e.id }, [titleLink(e)]);
|
|
53
|
+
}
|
|
54
|
+
// cards / grid
|
|
55
|
+
return new Tag('article', { class: 'rf-collection__card', 'data-entity-id': e.id }, [titleLink(e), ...fieldSpans]);
|
|
56
|
+
}
|
|
57
|
+
/** Split a captured body source into table columns by heading (SPEC-070 / WORK-264). */
|
|
58
|
+
function splitColumns(bodySource, ctx, pageUrl) {
|
|
59
|
+
const ast = Markdoc.parse(bodySource);
|
|
60
|
+
const columns = [];
|
|
61
|
+
let current = null;
|
|
62
|
+
for (const node of ast.children) {
|
|
63
|
+
if (node.type === 'heading') {
|
|
64
|
+
const label = Markdoc.format(node).replace(/^#+\s*/, '').trim();
|
|
65
|
+
if (label.includes('$item')) {
|
|
66
|
+
ctx.warn(`collection: $item in a table column heading ("${label}") is not per-row; use a static label`, pageUrl);
|
|
67
|
+
}
|
|
68
|
+
current = { label, cellNodes: [] };
|
|
69
|
+
columns.push({ label, cellSource: '' });
|
|
70
|
+
}
|
|
71
|
+
else if (current) {
|
|
72
|
+
current.cellNodes.push(node);
|
|
73
|
+
columns[columns.length - 1].cellSource = Markdoc.format(new Ast.Node('document', {}, current.cellNodes));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return columns;
|
|
77
|
+
}
|
|
78
|
+
function renderHeadingTable(entities, bodySource, embedConfig, ctx, pageUrl) {
|
|
79
|
+
const columns = splitColumns(bodySource, ctx, pageUrl);
|
|
80
|
+
if (!embedConfig) {
|
|
81
|
+
ctx.error('collection — table column templates present but no embedConfig threaded through the pipeline', pageUrl);
|
|
82
|
+
return new Tag('table', { class: 'rf-collection__table' }, []);
|
|
83
|
+
}
|
|
84
|
+
const thead = new Tag('thead', {}, [new Tag('tr', {}, columns.map((c) => new Tag('th', {}, [c.label])))]);
|
|
85
|
+
const rows = entities.map((e) => {
|
|
86
|
+
const item = projectItem(e);
|
|
87
|
+
const cells = columns.map((c) => {
|
|
88
|
+
const out = transformDeferredTemplate(c.cellSource, embedConfig, { item });
|
|
89
|
+
const kids = Array.isArray(out) ? out : [out];
|
|
90
|
+
return new Tag('td', {}, kids);
|
|
91
|
+
});
|
|
92
|
+
return new Tag('tr', { 'data-entity-id': e.id }, cells);
|
|
93
|
+
});
|
|
94
|
+
return new Tag('table', { class: 'rf-collection__table' }, [thead, new Tag('tbody', {}, rows)]);
|
|
95
|
+
}
|
|
96
|
+
function renderTable(entities, q) {
|
|
97
|
+
const headCells = [new Tag('th', {}, ['Title']), ...q.fields.map((f) => new Tag('th', {}, [humanize(f)]))];
|
|
98
|
+
const thead = new Tag('thead', {}, [new Tag('tr', {}, headCells)]);
|
|
99
|
+
const rows = entities.map((e) => {
|
|
100
|
+
const cells = [
|
|
101
|
+
new Tag('td', {}, [titleLink(e)]),
|
|
102
|
+
...q.fields.map((f) => new Tag('td', { 'data-field': f }, [fieldValue(e, f)])),
|
|
103
|
+
];
|
|
104
|
+
return new Tag('tr', { 'data-entity-id': e.id }, cells);
|
|
105
|
+
});
|
|
106
|
+
return new Tag('table', { class: 'rf-collection__table' }, [thead, new Tag('tbody', {}, rows)]);
|
|
107
|
+
}
|
|
108
|
+
function renderBody(entities, bodySource, embedConfig, ctx, pageUrl) {
|
|
109
|
+
if (!embedConfig) {
|
|
110
|
+
ctx.error('collection — body template present but no embedConfig threaded through the pipeline', pageUrl);
|
|
111
|
+
return [];
|
|
112
|
+
}
|
|
113
|
+
return entities.map((e) => {
|
|
114
|
+
const item = projectItem(e);
|
|
115
|
+
const out = transformDeferredTemplate(bodySource, embedConfig, { item });
|
|
116
|
+
const children = Array.isArray(out) ? out : [out];
|
|
117
|
+
return new Tag('div', { class: 'rf-collection__item', 'data-entity-id': e.id, 'data-block': '' }, children);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
function renderGroupOrFlat(entities, q, ordering, renderItems) {
|
|
121
|
+
if (!q.group)
|
|
122
|
+
return renderItems(entities);
|
|
123
|
+
const groups = groupEntities(entities, q.group, ordering);
|
|
124
|
+
if (q.groupDisplay === 'accordion') {
|
|
125
|
+
return renderGroupAccordion([...groups].map(([name, es]) => ({ key: name, label: name, count: es.length, nodes: renderItems(es) })));
|
|
126
|
+
}
|
|
127
|
+
const out = [];
|
|
128
|
+
for (const [name, es] of groups) {
|
|
129
|
+
out.push(new Tag('div', { class: 'rf-collection__group', 'data-group': name }, [
|
|
130
|
+
new Tag('h3', { class: 'rf-collection__group-title' }, [name]),
|
|
131
|
+
...renderItems(es),
|
|
132
|
+
]));
|
|
133
|
+
}
|
|
134
|
+
return out;
|
|
135
|
+
}
|
|
136
|
+
function resolveOne(tag, registry, embedConfig, ordering, ctx, pageUrl) {
|
|
137
|
+
const q = readQuery(tag);
|
|
138
|
+
// Query
|
|
139
|
+
let entities = [];
|
|
140
|
+
for (const type of q.types)
|
|
141
|
+
entities.push(...registry.getAll(type));
|
|
142
|
+
if (q.filter) {
|
|
143
|
+
const parsed = parseFieldMatch(q.filter);
|
|
144
|
+
for (const w of parsed.warnings)
|
|
145
|
+
ctx.warn(`collection filter: ${w}`, pageUrl);
|
|
146
|
+
entities = entities.filter((e) => matchesFieldMatch(e, parsed));
|
|
147
|
+
}
|
|
148
|
+
entities = sortEntities(entities, q.sort, ordering);
|
|
149
|
+
// `$count` = total matched (pre-limit); `$shown` = rendered (post-limit).
|
|
150
|
+
const matched = entities.length;
|
|
151
|
+
if (q.limit !== undefined && entities.length > q.limit)
|
|
152
|
+
entities = entities.slice(0, q.limit);
|
|
153
|
+
const counts = { count: matched, shown: entities.length };
|
|
154
|
+
const zones = splitBodyZones(q.bodySource);
|
|
155
|
+
const tmpl = zones.template;
|
|
156
|
+
const attrs = { ...tag.attributes, 'data-type': q.types.join(','), 'data-layout': q.layout };
|
|
157
|
+
// Empty state (SPEC-072 Cap 5): fallback zone, else the `empty` attribute,
|
|
158
|
+
// else nothing. No preamble when empty.
|
|
159
|
+
if (entities.length === 0) {
|
|
160
|
+
const out = [];
|
|
161
|
+
if (zones.fallback && embedConfig) {
|
|
162
|
+
out.push(new Tag('div', { 'data-name': 'empty', class: 'rf-collection__empty' }, renderItemTemplate(zones.fallback, embedConfig, counts)));
|
|
163
|
+
}
|
|
164
|
+
else if (q.empty) {
|
|
165
|
+
out.push(new Tag('div', { 'data-name': 'empty', class: 'rf-collection__empty' }, [q.empty]));
|
|
166
|
+
}
|
|
167
|
+
return new Tag(tag.name, attrs, out);
|
|
168
|
+
}
|
|
169
|
+
// Render items from the template zone (or the built-in when it's empty).
|
|
170
|
+
let children;
|
|
171
|
+
if (q.layout === 'table' && tmpl) {
|
|
172
|
+
// Heading-delimited column templates (WORK-264).
|
|
173
|
+
children = renderGroupOrFlat(entities, q, ordering, (es) => [renderHeadingTable(es, tmpl, embedConfig, ctx, pageUrl)]);
|
|
174
|
+
}
|
|
175
|
+
else if (tmpl) {
|
|
176
|
+
children = renderGroupOrFlat(entities, q, ordering, (es) => renderBody(es, tmpl, embedConfig, ctx, pageUrl));
|
|
177
|
+
}
|
|
178
|
+
else if (q.layout === 'table') {
|
|
179
|
+
children = renderGroupOrFlat(entities, q, ordering, (es) => [renderTable(es, q)]);
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
children = renderGroupOrFlat(entities, q, ordering, (es) => es.map((e) => renderBuiltInItem(e, q)));
|
|
183
|
+
}
|
|
184
|
+
const itemsDiv = new Tag('div', { 'data-name': 'items', class: 'rf-collection__items' }, children);
|
|
185
|
+
// Preamble renders once, above items, only when non-empty.
|
|
186
|
+
const head = [];
|
|
187
|
+
if (zones.preamble && embedConfig) {
|
|
188
|
+
head.push(new Tag('div', { 'data-name': 'preamble', class: 'rf-collection__preamble' }, renderItemTemplate(zones.preamble, embedConfig, counts)));
|
|
189
|
+
}
|
|
190
|
+
return new Tag(tag.name, attrs, [...head, itemsDiv]);
|
|
191
|
+
}
|
|
192
|
+
export function resolveCollections(renderable, pageUrl, registry, embedConfig, ctx) {
|
|
193
|
+
const ordering = buildOrdering(embedConfig);
|
|
194
|
+
const walk = (node) => {
|
|
195
|
+
if (Array.isArray(node))
|
|
196
|
+
return node.map(walk);
|
|
197
|
+
if (!isTag(node))
|
|
198
|
+
return node;
|
|
199
|
+
const tag = node;
|
|
200
|
+
if (tag.attributes?.['data-rune'] === 'collection' && hasSentinel(tag)) {
|
|
201
|
+
return resolveOne(tag, registry, embedConfig, ordering, ctx, pageUrl);
|
|
202
|
+
}
|
|
203
|
+
if (!tag.children || tag.children.length === 0)
|
|
204
|
+
return tag;
|
|
205
|
+
return new Tag(tag.name, tag.attributes, tag.children.map(walk));
|
|
206
|
+
};
|
|
207
|
+
return walk(renderable);
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=collection-resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-resolve.js","sourceRoot":"","sources":["../src/collection-resolve.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ThemeConfig } from '@refrakt-md/transform';
|
|
2
2
|
import type { PluginPipelineHooks, EntityRegistry, PipelineContext } from '@refrakt-md/types';
|
|
3
|
+
import type { CompiledXrefPattern } from './xref-patterns.js';
|
|
3
4
|
/** Core theme configuration — universal rune-to-BEM-block mappings shared by all themes.
|
|
4
5
|
* Icons are empty; themes provide their own icon SVGs via mergeThemeConfig. */
|
|
5
6
|
export declare const coreConfig: ThemeConfig;
|
|
@@ -40,16 +41,57 @@ export declare function resolveCoreSentinels(renderable: unknown, pageUrl: strin
|
|
|
40
41
|
}>;
|
|
41
42
|
allPosts: BlogPostData[];
|
|
42
43
|
registry: Readonly<EntityRegistry>;
|
|
44
|
+
/** Compiled xref patterns from `refrakt.config.json#/xrefs`. Empty
|
|
45
|
+
* array when no patterns are configured (the resolver's
|
|
46
|
+
* "patterns step" then matches nothing and falls through to
|
|
47
|
+
* unresolved). */
|
|
48
|
+
xrefPatterns?: CompiledXrefPattern[];
|
|
43
49
|
}, ctx: PipelineContext,
|
|
44
50
|
/** Extra trees (e.g. layout regions + page content) to scan when looking
|
|
45
51
|
* for nav sequences during auto-pagination. Required when calling against
|
|
46
52
|
* a layout region where the sidebar nav lives in a different region. */
|
|
47
53
|
navSearchScope?: unknown[]): unknown;
|
|
54
|
+
/** Options accepted by {@link createCorePipelineHooks}. */
|
|
55
|
+
export interface CorePipelineHooksOptions {
|
|
56
|
+
/** Compiled xref patterns from `refrakt.config.json#/xrefs`. Threaded
|
|
57
|
+
* through `aggregate` into the postProcess `coreData` shape so the xref
|
|
58
|
+
* resolver can use them as a URL-resolution fallback. */
|
|
59
|
+
xrefPatterns?: CompiledXrefPattern[];
|
|
60
|
+
/** Merged Markdoc transform config (tags + nodes from core + every
|
|
61
|
+
* loaded plugin) plus the project root. Threaded through `aggregate`
|
|
62
|
+
* so the expand postProcess (SPEC-066) can re-transform embedded
|
|
63
|
+
* AST subtrees using the same rune schemas the host page used,
|
|
64
|
+
* and read source files with the same sandbox boundary as snippet. */
|
|
65
|
+
embedConfig?: {
|
|
66
|
+
tags: Record<string, unknown>;
|
|
67
|
+
nodes: Record<string, unknown>;
|
|
68
|
+
functions?: Record<string, unknown>;
|
|
69
|
+
/** Parsed partials from the content tree's `_partials/` and any
|
|
70
|
+
* registered file-root namespaces. Threaded through so partial
|
|
71
|
+
* references inside deferred-body templates (collection, expand)
|
|
72
|
+
* resolve the same way they do in top-level page transforms. */
|
|
73
|
+
partials?: Record<string, unknown>;
|
|
74
|
+
projectRoot?: string;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
48
77
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
78
|
+
* Build core cross-page pipeline hooks parameterized by build-time options.
|
|
79
|
+
*
|
|
80
|
+
* Most callers (existing adapters, tests) use the {@link corePipelineHooks}
|
|
81
|
+
* default below — equivalent to `createCorePipelineHooks()` with no patterns
|
|
82
|
+
* configured. The content-loader bootstrap passes compiled
|
|
83
|
+
* {@link CompiledXrefPattern}s when `refrakt.config.json#/xrefs` is set.
|
|
84
|
+
*/
|
|
85
|
+
export declare function createCorePipelineHooks(opts?: CorePipelineHooksOptions): PluginPipelineHooks;
|
|
86
|
+
/**
|
|
87
|
+
* Core cross-page pipeline hooks (no xref patterns configured).
|
|
88
|
+
*
|
|
89
|
+
* Equivalent to `createCorePipelineHooks()`. The content loader bootstrap
|
|
90
|
+
* uses {@link createCorePipelineHooks} directly when
|
|
91
|
+
* `refrakt.config.json#/xrefs` is configured so the resolver can use the
|
|
92
|
+
* compiled patterns as a URL-resolution fallback. Run for every site,
|
|
93
|
+
* before any plugin hooks. Registers page and heading entities, aggregates
|
|
94
|
+
* the page tree and breadcrumb paths, and resolves blog post listings.
|
|
53
95
|
*/
|
|
54
96
|
export declare const corePipelineHooks: PluginPipelineHooks;
|
|
55
97
|
export {};
|
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;AAEtF,OAAO,KAAK,EAAE,mBAAmB,EAAmB,cAAc,EAAkB,eAAe,EAAE,MAAM,mBAAmB,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;AAEtF,OAAO,KAAK,EAAE,mBAAmB,EAAmB,cAAc,EAAkB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAS/H,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAgF9D;gFACgF;AAChF,eAAO,MAAM,UAAU,EAAE,WAswBxB,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;AA0vCD,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;AAiLD;;;;;;;;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,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChI,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,CAqBT;AAED,2DAA2D;AAC3D,MAAM,WAAW,wBAAwB;IACxC;;8DAE0D;IAC1D,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC;;;;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;KACrB,CAAC;CACF;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,GAAE,wBAA6B,GAAG,mBAAmB,CAiQhG;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,mBAA+C,CAAC"}
|