@refrakt-md/content 0.10.0 → 0.11.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/refract-loader.d.ts
CHANGED
|
@@ -2,6 +2,9 @@ import type { Site } from './site.js';
|
|
|
2
2
|
export interface RefraktLoaderOptions {
|
|
3
3
|
/** Path to refrakt.config.json. Default: './refrakt.config.json' */
|
|
4
4
|
configPath?: string;
|
|
5
|
+
/** Site name to load from a multi-site config. Required when the config
|
|
6
|
+
* declares multiple `sites.*`; optional otherwise. */
|
|
7
|
+
site?: string;
|
|
5
8
|
/** Markdoc variables available in content via {% $name %} syntax. */
|
|
6
9
|
variables?: Record<string, unknown>;
|
|
7
10
|
/** Skip caching — re-read on every load(). Default: false. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refract-loader.d.ts","sourceRoot":"","sources":["../src/refract-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"refract-loader.d.ts","sourceRoot":"","sources":["../src/refract-loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,WAAW,oBAAoB;IACpC,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;2DACuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,8DAA8D;IAC9D,GAAG,CAAC,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC7B,wDAAwD;IACxD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,yDAAyD;IACzD,YAAY,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;IAC5C,8CAA8C;IAC9C,qBAAqB,IAAI,OAAO,CAAC;QAAE,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,uEAAuE;IACvE,cAAc,IAAI,IAAI,CAAC;CACvB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,aAAa,CAkGjF"}
|
package/dist/refract-loader.js
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
|
-
import { resolve } from 'node:path';
|
|
2
|
+
import { dirname, resolve } from 'node:path';
|
|
3
|
+
import { normalizeRefraktConfig, resolveSite } from '@refrakt-md/transform/node';
|
|
3
4
|
import { createSiteLoader } from './loader.js';
|
|
4
5
|
export function createRefraktLoader(options) {
|
|
5
6
|
const configPath = resolve(options?.configPath ?? './refrakt.config.json');
|
|
6
|
-
const
|
|
7
|
-
|
|
7
|
+
const rawConfig = JSON.parse(readFileSync(configPath, 'utf-8'));
|
|
8
|
+
// Pass the config file's directory so nested-shape paths absolutize
|
|
9
|
+
// file-relative (matches the SvelteKit plugin's behavior).
|
|
10
|
+
const normalized = normalizeRefraktConfig(rawConfig, { configDir: dirname(configPath) });
|
|
11
|
+
const { site } = resolveSite(normalized, options?.site);
|
|
12
|
+
const contentDir = resolve(site.contentDir);
|
|
8
13
|
let _initPromise = null;
|
|
9
14
|
let _transform = null;
|
|
10
15
|
let _communityTags;
|
|
@@ -16,14 +21,14 @@ export function createRefraktLoader(options) {
|
|
|
16
21
|
return _initPromise;
|
|
17
22
|
_initPromise = (async () => {
|
|
18
23
|
// Dynamically import theme transform module
|
|
19
|
-
const themeModule = await import(/* @vite-ignore */
|
|
24
|
+
const themeModule = await import(/* @vite-ignore */ site.theme + '/transform');
|
|
20
25
|
const themeConfig = themeModule.themeConfig ?? themeModule.luminaConfig ?? themeModule.default;
|
|
21
26
|
const icons = {
|
|
22
27
|
...themeConfig.icons,
|
|
23
|
-
global: { ...(themeConfig.icons?.global ?? {}), ...(
|
|
28
|
+
global: { ...(themeConfig.icons?.global ?? {}), ...(site.icons ?? {}) },
|
|
24
29
|
};
|
|
25
30
|
const { assembleThemeConfig, createTransform } = await import('@refrakt-md/transform');
|
|
26
|
-
const packageNames =
|
|
31
|
+
const packageNames = site.packages ?? [];
|
|
27
32
|
if (packageNames.length === 0) {
|
|
28
33
|
_transform = createTransform(themeConfig);
|
|
29
34
|
}
|
|
@@ -31,7 +36,7 @@ export function createRefraktLoader(options) {
|
|
|
31
36
|
const { loadRunePackage, mergePackages, runes: coreRunes } = await import('@refrakt-md/runes');
|
|
32
37
|
const loaded = await Promise.all(packageNames.map((name) => loadRunePackage(name)));
|
|
33
38
|
const coreRuneNames = new Set(Object.keys(coreRunes));
|
|
34
|
-
const merged = mergePackages(loaded, coreRuneNames,
|
|
39
|
+
const merged = mergePackages(loaded, coreRuneNames, site.runes?.prefer);
|
|
35
40
|
_communityTags = Object.keys(merged.tags).length > 0 ? merged.tags : undefined;
|
|
36
41
|
_communityPackages = merged.packages;
|
|
37
42
|
const { config: assembledConfig } = assembleThemeConfig({
|
|
@@ -42,11 +47,11 @@ export function createRefraktLoader(options) {
|
|
|
42
47
|
extensions: merged.extensions,
|
|
43
48
|
provenance: merged.provenance,
|
|
44
49
|
});
|
|
45
|
-
if (
|
|
46
|
-
assembledConfig.tints = { ...assembledConfig.tints, ...
|
|
50
|
+
if (site.tints) {
|
|
51
|
+
assembledConfig.tints = { ...assembledConfig.tints, ...site.tints };
|
|
47
52
|
}
|
|
48
|
-
if (
|
|
49
|
-
assembledConfig.backgrounds = { ...assembledConfig.backgrounds, ...
|
|
53
|
+
if (site.backgrounds) {
|
|
54
|
+
assembledConfig.backgrounds = { ...assembledConfig.backgrounds, ...site.backgrounds };
|
|
50
55
|
}
|
|
51
56
|
_transform = createTransform(assembledConfig);
|
|
52
57
|
}
|
|
@@ -75,7 +80,7 @@ export function createRefraktLoader(options) {
|
|
|
75
80
|
if (_hl)
|
|
76
81
|
return _hl;
|
|
77
82
|
const { createHighlightTransform } = await import('@refrakt-md/highlight');
|
|
78
|
-
_hl = await createHighlightTransform(
|
|
83
|
+
_hl = await createHighlightTransform(site.highlight);
|
|
79
84
|
return _hl;
|
|
80
85
|
},
|
|
81
86
|
invalidateSite() {
|
|
@@ -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,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"refract-loader.js","sourceRoot":"","sources":["../src/refract-loader.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@refrakt-md/content",
|
|
3
3
|
"description": "Content loading and transformation pipeline",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.11.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -29,21 +29,11 @@
|
|
|
29
29
|
"build": "tsc"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@refrakt-md/
|
|
33
|
-
"@refrakt-md/
|
|
32
|
+
"@refrakt-md/highlight": "0.11.0",
|
|
33
|
+
"@refrakt-md/runes": "0.11.0",
|
|
34
|
+
"@refrakt-md/transform": "0.11.0",
|
|
35
|
+
"@refrakt-md/types": "0.11.0",
|
|
34
36
|
"@markdoc/markdoc": "0.4.0",
|
|
35
37
|
"yaml": "^2.4.0"
|
|
36
|
-
},
|
|
37
|
-
"peerDependencies": {
|
|
38
|
-
"@refrakt-md/transform": ">=0.9.9",
|
|
39
|
-
"@refrakt-md/highlight": ">=0.9.9"
|
|
40
|
-
},
|
|
41
|
-
"peerDependenciesMeta": {
|
|
42
|
-
"@refrakt-md/transform": {
|
|
43
|
-
"optional": true
|
|
44
|
-
},
|
|
45
|
-
"@refrakt-md/highlight": {
|
|
46
|
-
"optional": true
|
|
47
|
-
}
|
|
48
38
|
}
|
|
49
39
|
}
|