@refrakt-md/content 0.14.3 → 0.15.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/file-roots.d.ts +70 -0
- package/dist/file-roots.d.ts.map +1 -0
- package/dist/file-roots.js +146 -0
- package/dist/file-roots.js.map +1 -0
- package/dist/format.d.ts +27 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +50 -0
- package/dist/format.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/loader.d.ts +22 -0
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +4 -1
- package/dist/loader.js.map +1 -1
- package/dist/refract-loader.d.ts +21 -1
- package/dist/refract-loader.d.ts.map +1 -1
- package/dist/refract-loader.js +84 -1
- package/dist/refract-loader.js.map +1 -1
- package/dist/registry.d.ts +22 -3
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +106 -23
- package/dist/registry.js.map +1 -1
- package/dist/site.d.ts +15 -1
- package/dist/site.d.ts.map +1 -1
- package/dist/site.js +150 -16
- package/dist/site.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refract-loader.js","sourceRoot":"","sources":["../src/refract-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9F,OAAO,EACN,gBAAgB,EAChB,uBAAuB,GAEvB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"refract-loader.js","sourceRoot":"","sources":["../src/refract-loader.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -6,7 +6,13 @@ import type { EntityRegistration, EntityRegistry } from '@refrakt-md/types';
|
|
|
6
6
|
* - byTypeAndId: primary index for getAll() and getById()
|
|
7
7
|
* - byTypeAndUrl: secondary index for getByUrl()
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
* Page-scoped entries (SPEC-060, WORK-256) are keyed internally by
|
|
10
|
+
* `${sourceUrl}::${id}` in the primary index, so two pages can register
|
|
11
|
+
* the same `(type, id)` without colliding. Site-scoped entries (the
|
|
12
|
+
* default) keep using the bare `id` as their key, preserving the
|
|
13
|
+
* pre-WORK-256 collision semantics (last-write-wins on `(type, id)`).
|
|
14
|
+
*
|
|
15
|
+
* On collision within the same scope, the last registration wins.
|
|
10
16
|
*/
|
|
11
17
|
export declare class EntityRegistryImpl implements EntityRegistry {
|
|
12
18
|
private byTypeAndId;
|
|
@@ -16,8 +22,21 @@ export declare class EntityRegistryImpl implements EntityRegistry {
|
|
|
16
22
|
getAll(type: string): EntityRegistration[];
|
|
17
23
|
/** All entities of a given type registered from a specific page URL */
|
|
18
24
|
getByUrl(type: string, url: string): EntityRegistration[];
|
|
19
|
-
/** Find a specific entity by type and id
|
|
20
|
-
|
|
25
|
+
/** Find a specific entity by type and id. Lookup order:
|
|
26
|
+
* 1. **Page-scoped match from `pageUrl`** — when `pageUrl` is provided,
|
|
27
|
+
* check for a page-scoped entry registered from that page. Fragments
|
|
28
|
+
* and trailing slashes are normalised so callers may pass the URL in
|
|
29
|
+
* any shape an adapter produces.
|
|
30
|
+
* 2. **Site-scoped match** — the entry registered with the bare `id`.
|
|
31
|
+
* 3. **Cross-page fallback** — when neither of the above hits, scan
|
|
32
|
+
* for any page-scoped entry with the same id from any page. This
|
|
33
|
+
* is the SPEC-060 cross-page drawer-trigger path: a drawer
|
|
34
|
+
* registered on page A is still findable when a xref on page B
|
|
35
|
+
* references its id. Returns the first match in registration
|
|
36
|
+
* order; cross-page id collisions are extraordinary enough that
|
|
37
|
+
* callers wanting strict resolution can pass `pageUrl` and check
|
|
38
|
+
* `sourceUrl` on the returned entry. */
|
|
39
|
+
getById(type: string, id: string, pageUrl?: string): EntityRegistration | undefined;
|
|
21
40
|
/** All registered entity type names */
|
|
22
41
|
getTypes(): string[];
|
|
23
42
|
}
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE5E
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE5E;;;;;;;;;;;;;;GAcG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACxD,OAAO,CAAC,WAAW,CAAsD;IACzE,OAAO,CAAC,YAAY,CAAwD;IAE5E,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAyCzC,0DAA0D;IAC1D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAM1C,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAIzD;;;;;;;;;;;;;gDAa4C;IAC5C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAiBnF,uCAAuC;IACvC,QAAQ,IAAI,MAAM,EAAE;CAGpB"}
|
package/dist/registry.js
CHANGED
|
@@ -5,39 +5,54 @@
|
|
|
5
5
|
* - byTypeAndId: primary index for getAll() and getById()
|
|
6
6
|
* - byTypeAndUrl: secondary index for getByUrl()
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* Page-scoped entries (SPEC-060, WORK-256) are keyed internally by
|
|
9
|
+
* `${sourceUrl}::${id}` in the primary index, so two pages can register
|
|
10
|
+
* the same `(type, id)` without colliding. Site-scoped entries (the
|
|
11
|
+
* default) keep using the bare `id` as their key, preserving the
|
|
12
|
+
* pre-WORK-256 collision semantics (last-write-wins on `(type, id)`).
|
|
13
|
+
*
|
|
14
|
+
* On collision within the same scope, the last registration wins.
|
|
9
15
|
*/
|
|
10
16
|
export class EntityRegistryImpl {
|
|
11
17
|
byTypeAndId = new Map();
|
|
12
18
|
byTypeAndUrl = new Map();
|
|
13
19
|
register(entry) {
|
|
20
|
+
// Normalize empty-string sourceUrl to undefined — distinguishing
|
|
21
|
+
// "explicitly empty" from "missing" isn't useful, and the resolver
|
|
22
|
+
// treats both the same downstream.
|
|
23
|
+
const normalized = entry.sourceUrl === '' ? { ...entry, sourceUrl: undefined } : entry;
|
|
24
|
+
const key = primaryKey(normalized);
|
|
14
25
|
// Primary index
|
|
15
|
-
let typeMap = this.byTypeAndId.get(
|
|
26
|
+
let typeMap = this.byTypeAndId.get(normalized.type);
|
|
16
27
|
if (!typeMap) {
|
|
17
28
|
typeMap = new Map();
|
|
18
|
-
this.byTypeAndId.set(
|
|
19
|
-
}
|
|
20
|
-
typeMap.set(entry.id, entry);
|
|
21
|
-
// Secondary index
|
|
22
|
-
let urlMap = this.byTypeAndUrl.get(entry.type);
|
|
23
|
-
if (!urlMap) {
|
|
24
|
-
urlMap = new Map();
|
|
25
|
-
this.byTypeAndUrl.set(entry.type, urlMap);
|
|
29
|
+
this.byTypeAndId.set(normalized.type, typeMap);
|
|
26
30
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
typeMap.set(key, normalized);
|
|
32
|
+
// Secondary index — only meaningful when the entity has a sourceUrl.
|
|
33
|
+
// Entries without one (plan content not published to any site, etc.)
|
|
34
|
+
// are still in the primary index for getById; they just don't
|
|
35
|
+
// participate in URL-based lookups.
|
|
36
|
+
if (normalized.sourceUrl !== undefined) {
|
|
37
|
+
let urlMap = this.byTypeAndUrl.get(normalized.type);
|
|
38
|
+
if (!urlMap) {
|
|
39
|
+
urlMap = new Map();
|
|
40
|
+
this.byTypeAndUrl.set(normalized.type, urlMap);
|
|
41
|
+
}
|
|
42
|
+
const urlList = urlMap.get(normalized.sourceUrl);
|
|
43
|
+
if (urlList) {
|
|
44
|
+
const idx = urlList.findIndex(e => sameIdentity(e, normalized));
|
|
45
|
+
if (idx >= 0) {
|
|
46
|
+
urlList[idx] = normalized;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
urlList.push(normalized);
|
|
50
|
+
}
|
|
33
51
|
}
|
|
34
52
|
else {
|
|
35
|
-
|
|
53
|
+
urlMap.set(normalized.sourceUrl, [normalized]);
|
|
36
54
|
}
|
|
37
55
|
}
|
|
38
|
-
else {
|
|
39
|
-
urlMap.set(entry.sourceUrl, [entry]);
|
|
40
|
-
}
|
|
41
56
|
}
|
|
42
57
|
/** All entities of a given type, in registration order */
|
|
43
58
|
getAll(type) {
|
|
@@ -50,13 +65,81 @@ export class EntityRegistryImpl {
|
|
|
50
65
|
getByUrl(type, url) {
|
|
51
66
|
return this.byTypeAndUrl.get(type)?.get(url) ?? [];
|
|
52
67
|
}
|
|
53
|
-
/** Find a specific entity by type and id
|
|
54
|
-
|
|
55
|
-
|
|
68
|
+
/** Find a specific entity by type and id. Lookup order:
|
|
69
|
+
* 1. **Page-scoped match from `pageUrl`** — when `pageUrl` is provided,
|
|
70
|
+
* check for a page-scoped entry registered from that page. Fragments
|
|
71
|
+
* and trailing slashes are normalised so callers may pass the URL in
|
|
72
|
+
* any shape an adapter produces.
|
|
73
|
+
* 2. **Site-scoped match** — the entry registered with the bare `id`.
|
|
74
|
+
* 3. **Cross-page fallback** — when neither of the above hits, scan
|
|
75
|
+
* for any page-scoped entry with the same id from any page. This
|
|
76
|
+
* is the SPEC-060 cross-page drawer-trigger path: a drawer
|
|
77
|
+
* registered on page A is still findable when a xref on page B
|
|
78
|
+
* references its id. Returns the first match in registration
|
|
79
|
+
* order; cross-page id collisions are extraordinary enough that
|
|
80
|
+
* callers wanting strict resolution can pass `pageUrl` and check
|
|
81
|
+
* `sourceUrl` on the returned entry. */
|
|
82
|
+
getById(type, id, pageUrl) {
|
|
83
|
+
const typeMap = this.byTypeAndId.get(type);
|
|
84
|
+
if (!typeMap)
|
|
85
|
+
return undefined;
|
|
86
|
+
if (pageUrl !== undefined) {
|
|
87
|
+
const normalized = normalizePageUrl(stripFragment(pageUrl));
|
|
88
|
+
const pageHit = typeMap.get(pageScopedKey(normalized, id));
|
|
89
|
+
if (pageHit)
|
|
90
|
+
return pageHit;
|
|
91
|
+
}
|
|
92
|
+
const siteHit = typeMap.get(id);
|
|
93
|
+
if (siteHit)
|
|
94
|
+
return siteHit;
|
|
95
|
+
// Cross-page fallback for page-scoped entries with this id.
|
|
96
|
+
for (const entry of typeMap.values()) {
|
|
97
|
+
if (entry.id === id && entry.scope === 'page')
|
|
98
|
+
return entry;
|
|
99
|
+
}
|
|
100
|
+
return undefined;
|
|
56
101
|
}
|
|
57
102
|
/** All registered entity type names */
|
|
58
103
|
getTypes() {
|
|
59
104
|
return [...this.byTypeAndId.keys()];
|
|
60
105
|
}
|
|
61
106
|
}
|
|
107
|
+
/** Internal storage key for an entry. Site-scoped uses the bare id (so
|
|
108
|
+
* pre-WORK-256 callers keep working unchanged); page-scoped namespaces
|
|
109
|
+
* by the normalised page part of sourceUrl (fragment stripped, trailing
|
|
110
|
+
* slash trimmed) so the same id on the same page lands in one bucket
|
|
111
|
+
* regardless of href shape. A page-scoped entry without a usable
|
|
112
|
+
* sourceUrl falls back to the site-scoped key — that path is degenerate
|
|
113
|
+
* (it'll collide with site-scoped entries of the same id) and reflects
|
|
114
|
+
* a misconfiguration at the registration site rather than something the
|
|
115
|
+
* registry can recover from. */
|
|
116
|
+
function primaryKey(entry) {
|
|
117
|
+
if (entry.scope === 'page' && entry.sourceUrl) {
|
|
118
|
+
return pageScopedKey(normalizePageUrl(stripFragment(entry.sourceUrl)), entry.id);
|
|
119
|
+
}
|
|
120
|
+
return entry.id;
|
|
121
|
+
}
|
|
122
|
+
function pageScopedKey(pageUrl, id) {
|
|
123
|
+
return `${pageUrl}::${id}`;
|
|
124
|
+
}
|
|
125
|
+
function stripFragment(url) {
|
|
126
|
+
const i = url.indexOf('#');
|
|
127
|
+
return i === -1 ? url : url.slice(0, i);
|
|
128
|
+
}
|
|
129
|
+
/** Normalise a page URL for keying purposes — strip a trailing slash so
|
|
130
|
+
* adapters that emit `/x/` and ones that emit `/x` (or the resolver
|
|
131
|
+
* passing either form) coalesce into one bucket. Root (`/`) is preserved. */
|
|
132
|
+
function normalizePageUrl(url) {
|
|
133
|
+
if (url.length > 1 && url.endsWith('/'))
|
|
134
|
+
return url.slice(0, -1);
|
|
135
|
+
return url;
|
|
136
|
+
}
|
|
137
|
+
/** Two registrations refer to the same logical entry when their identity
|
|
138
|
+
* fields line up — used by the byTypeAndUrl secondary index to dedupe
|
|
139
|
+
* re-registrations from the same page. Scope participates because the
|
|
140
|
+
* same `(type, id)` can legitimately exist twice on a page when one is
|
|
141
|
+
* site-scoped and the other page-scoped (rare, but well-defined). */
|
|
142
|
+
function sameIdentity(a, b) {
|
|
143
|
+
return a.id === b.id && (a.scope ?? 'site') === (b.scope ?? 'site');
|
|
144
|
+
}
|
|
62
145
|
//# sourceMappingURL=registry.js.map
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/site.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { RenderableTreeNodes, Schema } from '@markdoc/markdoc';
|
|
2
|
+
import type { CompiledXrefPattern } from '@refrakt-md/runes';
|
|
2
3
|
import type { PageSeo, HeadingInfo } from '@refrakt-md/runes';
|
|
3
4
|
import type { Plugin, PipelineWarning, AggregatedData, SecurityPolicy } from '@refrakt-md/types';
|
|
4
5
|
import type { PipelineStats } from './pipeline.js';
|
|
@@ -8,6 +9,7 @@ import { Route } from './router.js';
|
|
|
8
9
|
import { ResolvedLayout } from './layout.js';
|
|
9
10
|
import { type ResolvedTintCascade } from './tint-cascade.js';
|
|
10
11
|
import { NavTree } from './navigation.js';
|
|
12
|
+
import { type FileRoots } from './file-roots.js';
|
|
11
13
|
/** Async reader for ad-hoc lookups in virtual (non-FS) hosting environments.
|
|
12
14
|
* Returns the file content or `null` when the path is unknown. */
|
|
13
15
|
export type VirtualReader = (path: string) => Promise<string | null>;
|
|
@@ -54,7 +56,7 @@ export interface SitePage {
|
|
|
54
56
|
* to `'trusted'` (current behaviour). Set `'strict'` for hosted-product use
|
|
55
57
|
* to strip scripts and harden the sandbox iframe.
|
|
56
58
|
*/
|
|
57
|
-
export declare function loadContent(dirPath: string, basePath?: string, icons?: Record<string, Record<string, string>>, additionalTags?: Record<string, Schema>, packages?: Plugin[], sandboxExamplesDir?: string, variables?: Record<string, unknown>, securityPolicy?: SecurityPolicy): Promise<Site>;
|
|
59
|
+
export declare function loadContent(dirPath: string, basePath?: string, icons?: Record<string, Record<string, string>>, additionalTags?: Record<string, Schema>, packages?: Plugin[], sandboxExamplesDir?: string, variables?: Record<string, unknown>, securityPolicy?: SecurityPolicy, projectRoot?: string, xrefPatterns?: CompiledXrefPattern[], fileRoots?: FileRoots): Promise<Site>;
|
|
58
60
|
/** Options accepted by {@link loadContentFromTree}. */
|
|
59
61
|
export interface LoadContentFromTreeOptions {
|
|
60
62
|
/** URL base path for the Router. Default: `'/'`. */
|
|
@@ -81,6 +83,18 @@ export interface LoadContentFromTreeOptions {
|
|
|
81
83
|
* hosts can wire it once and not need to thread it again when new internal
|
|
82
84
|
* consumers land. */
|
|
83
85
|
reader?: VirtualReader;
|
|
86
|
+
/** Absolute path to the project root (where `refrakt.config.json` lives).
|
|
87
|
+
* Used to compute `$file.path` as a project-root-relative POSIX path.
|
|
88
|
+
* When omitted, `$file.path` falls back to the page's content-root-relative
|
|
89
|
+
* path. Hosted environments that have a meaningful project-root concept
|
|
90
|
+
* should pass it; pure in-memory hosts that don't can leave it undefined. */
|
|
91
|
+
projectRoot?: string;
|
|
92
|
+
/** Compiled xref patterns from `refrakt.config.json#/xrefs`. Hosted
|
|
93
|
+
* environments that own their config resolution can compile patterns via
|
|
94
|
+
* `compileXrefPatterns` and pass them here. */
|
|
95
|
+
xrefPatterns?: CompiledXrefPattern[];
|
|
96
|
+
/** Registered file roots — namespace → absolute directory path. */
|
|
97
|
+
fileRoots?: FileRoots;
|
|
84
98
|
}
|
|
85
99
|
/**
|
|
86
100
|
* Like {@link loadContent}, but driven by a pre-built {@link ContentTree}
|
package/dist/site.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site.d.ts","sourceRoot":"","sources":["../src/site.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAQ,mBAAmB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEjG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAoB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAU,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAkB,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"site.d.ts","sourceRoot":"","sources":["../src/site.ts"],"names":[],"mappings":"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"}
|
package/dist/site.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { readFileSync, readdirSync, statSync } from 'node:fs';
|
|
2
|
-
import { resolve } from 'node:path';
|
|
2
|
+
import { resolve, relative, sep as pathSep, posix as pathPosix } from 'node:path';
|
|
3
3
|
import Markdoc from '@markdoc/markdoc';
|
|
4
|
-
import { tags, nodes, extractHeadings, extractSeo, corePipelineHooks, escapeFenceTags, resolveCoreSentinels } from '@refrakt-md/runes';
|
|
4
|
+
import { tags, nodes, extractHeadings, firstH1, extractSeo, corePipelineHooks, createCorePipelineHooks, escapeFenceTags, resolveCoreSentinels } from '@refrakt-md/runes';
|
|
5
5
|
import { resolveSecurityPolicy } from '@refrakt-md/types';
|
|
6
6
|
import { ContentTree } from './content-tree.js';
|
|
7
7
|
import { parseFrontmatter } from './frontmatter.js';
|
|
@@ -10,6 +10,7 @@ import { resolveLayouts } from './layout.js';
|
|
|
10
10
|
import { resolveTintCascade } from './tint-cascade.js';
|
|
11
11
|
import { runPipeline } from './pipeline.js';
|
|
12
12
|
import { getGitTimestamps, resolveTimestamps } from './timestamps.js';
|
|
13
|
+
import { readFileRoots } from './file-roots.js';
|
|
13
14
|
/** Synchronous file reader that returns null on failure. */
|
|
14
15
|
function sandboxReadFile(p) {
|
|
15
16
|
try {
|
|
@@ -37,8 +38,7 @@ function sandboxDirExists(p) {
|
|
|
37
38
|
return false;
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
|
-
function transformContent(content, path, sourcePath, icons, additionalTags, contentVariables, partials) {
|
|
41
|
-
const ast = Markdoc.parse(escapeFenceTags(content));
|
|
41
|
+
function transformContent(ast, content, path, sourcePath, icons, additionalTags, contentVariables, partials) {
|
|
42
42
|
const headings = extractHeadings(ast);
|
|
43
43
|
const mergedTags = additionalTags ? { ...tags, ...additionalTags } : tags;
|
|
44
44
|
const config = { tags: mergedTags, nodes, variables: {
|
|
@@ -51,6 +51,38 @@ function transformContent(content, path, sourcePath, icons, additionalTags, cont
|
|
|
51
51
|
}
|
|
52
52
|
return { renderable: Markdoc.transform(ast, config), headings };
|
|
53
53
|
}
|
|
54
|
+
/** Convert a host-OS file path to POSIX form (forward slashes). */
|
|
55
|
+
function posixPath(p) {
|
|
56
|
+
return pathSep === '/' ? p : p.split(pathSep).join('/');
|
|
57
|
+
}
|
|
58
|
+
/** POSIX dirname with the `"."` (no-directory) sentinel mapped to `""` so
|
|
59
|
+
* callers don't have to special-case content-root pages. */
|
|
60
|
+
function posixDirname(p) {
|
|
61
|
+
const dir = pathPosix.dirname(posixPath(p));
|
|
62
|
+
return dir === '.' ? '' : dir;
|
|
63
|
+
}
|
|
64
|
+
/** Project-root-relative path in POSIX form. */
|
|
65
|
+
function posixRelativeFromRoot(projectRoot, absolutePath) {
|
|
66
|
+
return posixPath(relative(projectRoot, absolutePath));
|
|
67
|
+
}
|
|
68
|
+
/** Last URL segment, stripping any trailing slash. Empty string for `/`. */
|
|
69
|
+
function lastUrlSegment(url) {
|
|
70
|
+
const trimmed = url.replace(/\/+$/, '');
|
|
71
|
+
const idx = trimmed.lastIndexOf('/');
|
|
72
|
+
return idx === -1 ? trimmed : trimmed.slice(idx + 1);
|
|
73
|
+
}
|
|
74
|
+
/** Derive the page title: trimmed non-empty frontmatter.title wins, else
|
|
75
|
+
* the first H1 in the AST (depth-first, walking into tag children), else
|
|
76
|
+
* undefined. */
|
|
77
|
+
function derivePageTitle(frontmatter, ast) {
|
|
78
|
+
const raw = frontmatter.title;
|
|
79
|
+
if (typeof raw === 'string') {
|
|
80
|
+
const trimmed = raw.trim();
|
|
81
|
+
if (trimmed.length > 0)
|
|
82
|
+
return trimmed;
|
|
83
|
+
}
|
|
84
|
+
return firstH1(ast);
|
|
85
|
+
}
|
|
54
86
|
const nullSandboxHooks = {
|
|
55
87
|
read: () => null,
|
|
56
88
|
list: () => [],
|
|
@@ -62,25 +94,95 @@ async function processContentTree(tree, opts) {
|
|
|
62
94
|
const pages = [];
|
|
63
95
|
const sandbox = opts.sandbox ?? nullSandboxHooks;
|
|
64
96
|
const gitTimestamps = opts.gitTimestamps ?? new Map();
|
|
65
|
-
// Pre-parse partials into Markdoc ASTs for the transform config
|
|
97
|
+
// Pre-parse partials into Markdoc ASTs for the transform config. Two
|
|
98
|
+
// sources contribute:
|
|
99
|
+
// - Site-local `_partials/` directory (already-scanned by ContentTree;
|
|
100
|
+
// keys are unprefixed relative paths like `footer.md`).
|
|
101
|
+
// - Registered file roots (project-wide; keys are namespaced like
|
|
102
|
+
// `shared:footer.md`). Plugins can also contribute roots via
|
|
103
|
+
// `Plugin.fileRoots`; both arrive in `opts.fileRoots` already
|
|
104
|
+
// merged by the loader bootstrap.
|
|
66
105
|
const partialFiles = tree.partials();
|
|
106
|
+
const namespacedPartials = opts.fileRoots && Object.keys(opts.fileRoots).length > 0
|
|
107
|
+
? await readFileRoots(opts.fileRoots)
|
|
108
|
+
: new Map();
|
|
67
109
|
let parsedPartials;
|
|
68
|
-
if (partialFiles.size > 0) {
|
|
110
|
+
if (partialFiles.size > 0 || namespacedPartials.size > 0) {
|
|
69
111
|
parsedPartials = {};
|
|
70
112
|
for (const [name, partial] of partialFiles) {
|
|
71
113
|
parsedPartials[name] = Markdoc.parse(escapeFenceTags(partial.raw));
|
|
72
114
|
}
|
|
115
|
+
for (const [name, partial] of namespacedPartials) {
|
|
116
|
+
parsedPartials[name] = Markdoc.parse(escapeFenceTags(partial.raw));
|
|
117
|
+
}
|
|
73
118
|
}
|
|
119
|
+
// Build hook sets here (rather than after the per-page loop, as before)
|
|
120
|
+
// so the preprocess phase can run during page processing — each hook set
|
|
121
|
+
// gets a chance to rewrite the parsed AST before the transform runs.
|
|
122
|
+
// The core hook set carries snippet's preprocess implementation (SPEC-062);
|
|
123
|
+
// plugins that register their own preprocess hooks plug in alongside.
|
|
124
|
+
//
|
|
125
|
+
// The merged tags + nodes (core + every loaded plugin) are also threaded
|
|
126
|
+
// through to the core hooks as `embedConfig` — expand (SPEC-066) needs
|
|
127
|
+
// them to re-transform extracted entity subtrees using the same schemas
|
|
128
|
+
// the host page used.
|
|
129
|
+
const embedTags = opts.additionalTags ? { ...tags, ...opts.additionalTags } : tags;
|
|
130
|
+
const coreHooksOptions = {
|
|
131
|
+
xrefPatterns: opts.xrefPatterns,
|
|
132
|
+
embedConfig: {
|
|
133
|
+
tags: embedTags,
|
|
134
|
+
nodes: nodes,
|
|
135
|
+
projectRoot: opts.projectRoot,
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
const coreHooks = (opts.xrefPatterns && opts.xrefPatterns.length > 0) || opts.projectRoot
|
|
139
|
+
? createCorePipelineHooks(coreHooksOptions)
|
|
140
|
+
: corePipelineHooks;
|
|
141
|
+
const hookSets = [{ pluginName: '__core__', hooks: coreHooks }];
|
|
142
|
+
for (const pkg of opts.plugins ?? []) {
|
|
143
|
+
if (pkg.pipeline) {
|
|
144
|
+
hookSets.push({ pluginName: pkg.name, hooks: pkg.pipeline });
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// Per-page preprocess context — file-system + project-root shared with the
|
|
148
|
+
// transform-time sandbox but exposed at preprocess time (variables aren't
|
|
149
|
+
// available yet). Warnings accumulate into a per-page array that callers
|
|
150
|
+
// funnel through the standard pipeline-warnings surface.
|
|
151
|
+
const preprocessWarnings = [];
|
|
152
|
+
const makePreprocessCtx = (pageUrl, variables) => ({
|
|
153
|
+
info(message, url) { preprocessWarnings.push({ severity: 'info', message, url: url ?? pageUrl }); },
|
|
154
|
+
warn(message, url) { preprocessWarnings.push({ severity: 'warning', message, url: url ?? pageUrl }); },
|
|
155
|
+
error(message, url) { preprocessWarnings.push({ severity: 'error', message, url: url ?? pageUrl }); },
|
|
156
|
+
projectRoot: opts.projectRoot,
|
|
157
|
+
sandbox: opts.sandbox,
|
|
158
|
+
variables,
|
|
159
|
+
});
|
|
74
160
|
for (const page of tree.pages()) {
|
|
75
161
|
const { frontmatter, content } = parseFrontmatter(page.raw);
|
|
76
162
|
const route = router.resolve(page.relativePath, frontmatter);
|
|
77
163
|
const layout = resolveLayouts(page, tree.root, opts.icons);
|
|
78
164
|
const fileTimestamps = resolveTimestamps(page.relativePath, page.filePath, gitTimestamps, frontmatter);
|
|
165
|
+
let ast = Markdoc.parse(escapeFenceTags(content));
|
|
166
|
+
// Compute the page-variable surface before preprocess so file-reading
|
|
167
|
+
// preprocessors (snippet) can resolve `path=$file.path` style attribute
|
|
168
|
+
// references against the same variables a transform-time evaluator would.
|
|
169
|
+
const pagePath = posixPath(page.relativePath);
|
|
170
|
+
const filePath = opts.projectRoot
|
|
171
|
+
? posixRelativeFromRoot(opts.projectRoot, page.filePath)
|
|
172
|
+
: pagePath;
|
|
79
173
|
const contentVariables = {
|
|
80
174
|
...opts.variables,
|
|
81
175
|
frontmatter,
|
|
82
|
-
page: {
|
|
176
|
+
page: {
|
|
177
|
+
url: route.url,
|
|
178
|
+
path: pagePath,
|
|
179
|
+
dir: posixDirname(page.relativePath),
|
|
180
|
+
slug: lastUrlSegment(route.url),
|
|
181
|
+
title: derivePageTitle(frontmatter, ast),
|
|
182
|
+
draft: route.draft,
|
|
183
|
+
},
|
|
83
184
|
file: {
|
|
185
|
+
path: filePath,
|
|
84
186
|
created: fileTimestamps.created,
|
|
85
187
|
modified: fileTimestamps.modified,
|
|
86
188
|
},
|
|
@@ -90,21 +192,42 @@ async function processContentTree(tree, opts) {
|
|
|
90
192
|
__sandboxExamplesDir: opts.sandboxExamplesDir,
|
|
91
193
|
__securityPolicy: resolvedSecurity,
|
|
92
194
|
};
|
|
93
|
-
|
|
195
|
+
// SPEC-062 preprocess phase — runs after variables are computed (so
|
|
196
|
+
// hooks can resolve `path=$file.path`-style attribute references against
|
|
197
|
+
// them) and before the schema-driven transform. Snippet pre-resolves
|
|
198
|
+
// itself into a fence node here; the returned AST (or the mutated one
|
|
199
|
+
// if void) feeds the transform.
|
|
200
|
+
const pageMeta = {
|
|
201
|
+
url: route.url,
|
|
202
|
+
relativePath: page.relativePath,
|
|
203
|
+
filePath: page.filePath,
|
|
204
|
+
};
|
|
205
|
+
const ppCtx = makePreprocessCtx(route.url, contentVariables);
|
|
206
|
+
for (const { hooks } of hookSets) {
|
|
207
|
+
if (!hooks.preprocess)
|
|
208
|
+
continue;
|
|
209
|
+
const next = await hooks.preprocess(ast, pageMeta, ppCtx);
|
|
210
|
+
if (next)
|
|
211
|
+
ast = next;
|
|
212
|
+
}
|
|
213
|
+
const { renderable, headings } = transformContent(ast, content, route.url, page.relativePath, opts.icons, opts.additionalTags, contentVariables, parsedPartials);
|
|
94
214
|
const seo = extractSeo(renderable, frontmatter, route.url);
|
|
95
215
|
const tintCascade = resolveTintCascade(page, tree.root, {
|
|
96
216
|
colorScheme: opts.colorScheme,
|
|
97
217
|
});
|
|
98
218
|
pages.push({ route, frontmatter, content, renderable, headings, layout, seo, tintCascade });
|
|
99
219
|
}
|
|
100
|
-
//
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
if (pkg.pipeline) {
|
|
104
|
-
hookSets.push({ pluginName: pkg.name, hooks: pkg.pipeline });
|
|
105
|
-
}
|
|
106
|
-
}
|
|
220
|
+
// `hookSets` were built before the per-page loop so the preprocess phase
|
|
221
|
+
// could run during page processing. They're reused here for register /
|
|
222
|
+
// aggregate / postProcess.
|
|
107
223
|
const { pages: enrichedPages, warnings, stats, aggregated } = await runPipeline(pages, hookSets);
|
|
224
|
+
// Funnel any preprocess-phase diagnostics (file-not-found, sandbox rejections,
|
|
225
|
+
// line-range clamps) into the same warnings array the rest of the pipeline
|
|
226
|
+
// uses. Preprocess runs before `runPipeline`, so its warnings would otherwise
|
|
227
|
+
// be invisible to adapters that only print the pipeline summary.
|
|
228
|
+
for (const w of preprocessWarnings) {
|
|
229
|
+
warnings.push({ severity: w.severity, phase: 'register', pluginName: '__preprocess__', url: w.url, message: w.message });
|
|
230
|
+
}
|
|
108
231
|
// Apply auto-resolutions to layout regions per page. Layouts are parsed once
|
|
109
232
|
// and shared across pages, but the auto-open / auto-pagination sentinels need
|
|
110
233
|
// per-page context (current URL, sibling order). The pipeline already wired
|
|
@@ -172,11 +295,16 @@ function makeContextForRegions(warnings, url) {
|
|
|
172
295
|
* to `'trusted'` (current behaviour). Set `'strict'` for hosted-product use
|
|
173
296
|
* to strip scripts and harden the sandbox iframe.
|
|
174
297
|
*/
|
|
175
|
-
export async function loadContent(dirPath, basePath = '/', icons, additionalTags, packages, sandboxExamplesDir, variables, securityPolicy) {
|
|
298
|
+
export async function loadContent(dirPath, basePath = '/', icons, additionalTags, packages, sandboxExamplesDir, variables, securityPolicy, projectRoot, xrefPatterns, fileRoots) {
|
|
176
299
|
const tree = await ContentTree.fromDirectory(dirPath);
|
|
177
300
|
const resolvedExamplesDir = sandboxExamplesDir
|
|
178
301
|
? resolve(sandboxExamplesDir)
|
|
179
302
|
: resolve(dirPath, '..', 'examples');
|
|
303
|
+
// Default to the content directory's parent (the common
|
|
304
|
+
// `<project>/site/content/` → `<project>/site/` layout). Adapters that
|
|
305
|
+
// know the real project root (the directory containing
|
|
306
|
+
// `refrakt.config.json`) should pass it explicitly.
|
|
307
|
+
const resolvedProjectRoot = projectRoot ?? resolve(dirPath, '..');
|
|
180
308
|
return processContentTree(tree, {
|
|
181
309
|
basePath,
|
|
182
310
|
icons,
|
|
@@ -191,6 +319,9 @@ export async function loadContent(dirPath, basePath = '/', icons, additionalTags
|
|
|
191
319
|
exists: sandboxDirExists,
|
|
192
320
|
},
|
|
193
321
|
sandboxExamplesDir: resolvedExamplesDir,
|
|
322
|
+
projectRoot: resolvedProjectRoot,
|
|
323
|
+
xrefPatterns,
|
|
324
|
+
fileRoots,
|
|
194
325
|
});
|
|
195
326
|
}
|
|
196
327
|
/**
|
|
@@ -221,6 +352,9 @@ export async function loadContentFromTree(tree, options = {}) {
|
|
|
221
352
|
variables: options.variables,
|
|
222
353
|
securityPolicy: options.securityPolicy,
|
|
223
354
|
colorScheme: options.colorScheme,
|
|
355
|
+
projectRoot: options.projectRoot,
|
|
356
|
+
xrefPatterns: options.xrefPatterns,
|
|
357
|
+
fileRoots: options.fileRoots,
|
|
224
358
|
});
|
|
225
359
|
}
|
|
226
360
|
//# sourceMappingURL=site.js.map
|
package/dist/site.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site.js","sourceRoot":"","sources":["../src/site.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGvI,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAoB,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAe,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAS,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAA4B,MAAM,mBAAmB,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAgB,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAuB,MAAM,iBAAiB,CAAC;AAqC3F,4DAA4D;AAC5D,SAAS,eAAe,CAAC,CAAS;IAChC,IAAI,CAAC;QAAC,OAAO,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAAC,CAAC;IACxC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AACxB,CAAC;AAED,yEAAyE;AACzE,SAAS,cAAc,CAAC,CAAS;IAC/B,IAAI,CAAC;QAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAC9B,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACtB,CAAC;AAED,gDAAgD;AAChD,SAAS,gBAAgB,CAAC,CAAS;IACjC,IAAI,CAAC;QAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAAC,CAAC;IACzC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AACzB,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAe,EACf,IAAY,EACZ,UAAkB,EAClB,KAA8C,EAC9C,cAAuC,EACvC,gBAA0C,EAC1C,QAA+B;IAE/B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,MAAM,MAAM,GAA4B,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE;YAC5E,YAAY,EAAE,IAAI,GAAG,EAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU;YAC5F,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,GAAG,gBAAgB;SACpB,EAAE,CAAC;IACJ,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,MAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;AACzE,CAAC;AAQD,MAAM,gBAAgB,GAAiB;IACrC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;IAChB,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE;IACd,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK;CACpB,CAAC;AAgBF,KAAK,UAAU,kBAAkB,CAC/B,IAAiB,EACjB,IAA+B;IAE/B,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;IAChD,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,GAAG,EAA0B,CAAC;IAE9E,gEAAgE;IAChE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IACrC,IAAI,cAAgD,CAAC;IACrD,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1B,cAAc,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,YAAY,EAAE,CAAC;YAC3C,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QAChC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,iBAAiB,CACtC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,EACb,aAAa,EACb,WAAW,CACZ,CAAC;QACF,MAAM,gBAAgB,GAA4B;YAChD,GAAG,IAAI,CAAC,SAAS;YACjB,WAAW;YACX,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;YACtE,IAAI,EAAE;gBACJ,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,QAAQ,EAAE,cAAc,CAAC,QAAQ;aAClC;YACD,iBAAiB,EAAE,OAAO,CAAC,IAAI;YAC/B,gBAAgB,EAAE,OAAO,CAAC,IAAI;YAC9B,kBAAkB,EAAE,OAAO,CAAC,MAAM;YAClC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB;YAC7C,gBAAgB,EAAE,gBAAgB;SACnC,CAAC;QACF,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAC/C,OAAO,EACP,KAAK,CAAC,GAAG,EACT,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,cAAc,EACnB,gBAAgB,EAChB,cAAc,CACf,CAAC;QACF,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAE3D,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YACtD,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,wEAAwE;IACxE,MAAM,QAAQ,GAAc,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACnF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEjG,6EAA6E;IAC7E,8EAA8E;IAC9E,4EAA4E;IAC5E,8EAA8E;IAC9E,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAA2D,CAAC;IAClG,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;gBAAE,SAAS;YAC7C,MAAM,GAAG,GAAG,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5D,2EAA2E;YAC3E,qEAAqE;YACrE,sEAAsE;YACtE,qCAAqC;YACrC,MAAM,cAAc,GAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBAClD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;YACD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAgD,CAAC;YAChF,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,cAAc,CAA0B,CAAC;gBAC9H,IAAI,QAAQ,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;oBAChC,OAAO,GAAG,IAAI,CAAC;oBACf,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACN,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACX,IAAI,CAAC,MAAkD,CAAC,OAAO,GAAG,eAA6C,CAAC;YACnH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,aAAa;QACpB,UAAU,EAAE,EAAE,EAAE,sCAAsC;QACtD,gBAAgB,EAAE,QAAQ;QAC1B,aAAa,EAAE,KAAK;QACpB,UAAU;QACV,QAAQ,EAAE,YAAY;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,QAA2B,EAAE,GAAW;IACrE,OAAO;QACL,IAAI,CAAC,OAAe,EAAE,OAAgB,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACpK,IAAI,CAAC,OAAe,EAAE,OAAgB,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACvK,KAAK,CAAC,OAAe,EAAE,MAAe,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;KACrK,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,WAAmB,GAAG,EACtB,KAA8C,EAC9C,cAAuC,EACvC,QAAmB,EACnB,kBAA2B,EAC3B,SAAmC,EACnC,cAA+B;IAE/B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,mBAAmB,GAAG,kBAAkB;QAC5C,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QAC7B,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAEvC,OAAO,kBAAkB,CAAC,IAAI,EAAE;QAC9B,QAAQ;QACR,KAAK;QACL,cAAc;QACd,OAAO,EAAE,QAAQ;QACjB,SAAS;QACT,cAAc;QACd,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC;QACxC,OAAO,EAAE;YACP,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,gBAAgB;SACzB;QACD,kBAAkB,EAAE,mBAAmB;KACxC,CAAC,CAAC;AACL,CAAC;AA8BD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAiB,EACjB,UAAsC,EAAE;IAExC,4EAA4E;IAC5E,6EAA6E;IAC7E,gCAAgC;IAChC,OAAO,kBAAkB,CAAC,IAAI,EAAE;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"site.js","sourceRoot":"","sources":["../src/site.ts"],"names":[],"mappings":"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"}
|