@refrakt-md/nuxt 0.14.2 → 0.14.4
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/composables.d.ts +19 -3
- package/dist/composables.d.ts.map +1 -1
- package/dist/composables.js +47 -6
- package/dist/composables.js.map +1 -1
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +65 -5
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -5
package/dist/composables.d.ts
CHANGED
|
@@ -1,10 +1,22 @@
|
|
|
1
|
-
import type { SeoInput } from '@refrakt-md/transform';
|
|
2
|
-
|
|
1
|
+
import type { SeoInput, SeoToHtmlOptions } from '@refrakt-md/transform';
|
|
2
|
+
/**
|
|
3
|
+
* Input shape for {@link buildRefraktHead}. Combines page-level SEO input
|
|
4
|
+
* (title, frontmatter, per-page seo block) with site-level options
|
|
5
|
+
* (siteName, baseUrl, defaultImage, logo) — matching the surface every
|
|
6
|
+
* other adapter accepts.
|
|
7
|
+
*/
|
|
8
|
+
export type RefraktMetaInput = SeoInput & SeoToHtmlOptions;
|
|
3
9
|
/**
|
|
4
10
|
* Build head meta configuration for use with Nuxt's useHead().
|
|
5
11
|
*
|
|
6
12
|
* Returns an object suitable for passing to useHead() containing
|
|
7
|
-
* title, meta tags (OG, description),
|
|
13
|
+
* title, meta tags (OG, description, og:site_name), link tags
|
|
14
|
+
* (canonical), and script tags (JSON-LD — including WebSite and
|
|
15
|
+
* Organization entries when `baseUrl` + `siteName` are supplied).
|
|
16
|
+
*
|
|
17
|
+
* When site-level options are passed, the output mirrors what the
|
|
18
|
+
* `seoToHtml` helper emits for the other adapters, so SEO is consistent
|
|
19
|
+
* across the refrakt stack.
|
|
8
20
|
*/
|
|
9
21
|
export declare function buildRefraktHead(input: RefraktMetaInput): {
|
|
10
22
|
title: string;
|
|
@@ -13,6 +25,10 @@ export declare function buildRefraktHead(input: RefraktMetaInput): {
|
|
|
13
25
|
property?: string;
|
|
14
26
|
content: string;
|
|
15
27
|
}>;
|
|
28
|
+
link: Array<{
|
|
29
|
+
rel: string;
|
|
30
|
+
href: string;
|
|
31
|
+
}>;
|
|
16
32
|
script: Array<{
|
|
17
33
|
type: string;
|
|
18
34
|
children: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composables.d.ts","sourceRoot":"","sources":["../src/composables.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"composables.d.ts","sourceRoot":"","sources":["../src/composables.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAExE;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,gBAAgB,CAAC;AAE3D;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,IAAI,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3C,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD,CA2EA"}
|
package/dist/composables.js
CHANGED
|
@@ -3,11 +3,19 @@ import { extractSeoData } from '@refrakt-md/transform';
|
|
|
3
3
|
* Build head meta configuration for use with Nuxt's useHead().
|
|
4
4
|
*
|
|
5
5
|
* Returns an object suitable for passing to useHead() containing
|
|
6
|
-
* title, meta tags (OG, description),
|
|
6
|
+
* title, meta tags (OG, description, og:site_name), link tags
|
|
7
|
+
* (canonical), and script tags (JSON-LD — including WebSite and
|
|
8
|
+
* Organization entries when `baseUrl` + `siteName` are supplied).
|
|
9
|
+
*
|
|
10
|
+
* When site-level options are passed, the output mirrors what the
|
|
11
|
+
* `seoToHtml` helper emits for the other adapters, so SEO is consistent
|
|
12
|
+
* across the refrakt stack.
|
|
7
13
|
*/
|
|
8
14
|
export function buildRefraktHead(input) {
|
|
15
|
+
const { siteName, baseUrl, defaultImage, logo } = input;
|
|
9
16
|
const data = extractSeoData(input);
|
|
10
17
|
const meta = [];
|
|
18
|
+
const link = [];
|
|
11
19
|
const script = [];
|
|
12
20
|
if (data.description) {
|
|
13
21
|
meta.push({ name: 'description', content: data.description });
|
|
@@ -18,23 +26,56 @@ export function buildRefraktHead(input) {
|
|
|
18
26
|
meta.push({ property: 'og:title', content: data.title });
|
|
19
27
|
meta.push({ name: 'twitter:title', content: data.title });
|
|
20
28
|
}
|
|
21
|
-
|
|
22
|
-
|
|
29
|
+
// OG image — per-page wins; fall back to site-level defaultImage (prefixed
|
|
30
|
+
// with baseUrl if defaultImage isn't already absolute).
|
|
31
|
+
const resolvedImage = data.ogImage ?? (defaultImage ? (baseUrl ?? '') + defaultImage : undefined);
|
|
32
|
+
if (resolvedImage) {
|
|
33
|
+
meta.push({ property: 'og:image', content: resolvedImage });
|
|
23
34
|
meta.push({ name: 'twitter:card', content: 'summary_large_image' });
|
|
24
|
-
meta.push({ name: 'twitter:image', content:
|
|
35
|
+
meta.push({ name: 'twitter:image', content: resolvedImage });
|
|
25
36
|
}
|
|
26
37
|
else {
|
|
27
38
|
meta.push({ name: 'twitter:card', content: 'summary' });
|
|
28
39
|
}
|
|
40
|
+
// OG url + canonical link — absolutize against baseUrl when supplied.
|
|
29
41
|
if (data.ogUrl) {
|
|
30
|
-
|
|
42
|
+
const absoluteUrl = (baseUrl ?? '') + data.ogUrl;
|
|
43
|
+
meta.push({ property: 'og:url', content: absoluteUrl });
|
|
44
|
+
link.push({ rel: 'canonical', href: absoluteUrl });
|
|
31
45
|
}
|
|
32
46
|
if (data.ogType) {
|
|
33
47
|
meta.push({ property: 'og:type', content: data.ogType });
|
|
34
48
|
}
|
|
49
|
+
if (siteName) {
|
|
50
|
+
meta.push({ property: 'og:site_name', content: siteName });
|
|
51
|
+
}
|
|
35
52
|
for (const schema of data.jsonLd) {
|
|
36
53
|
script.push({ type: 'application/ld+json', children: JSON.stringify(schema) });
|
|
37
54
|
}
|
|
38
|
-
|
|
55
|
+
// WebSite + Organization JSON-LD when baseUrl is supplied — matches
|
|
56
|
+
// seoToHtml's emission for the other adapters.
|
|
57
|
+
if (baseUrl) {
|
|
58
|
+
const name = siteName ?? '';
|
|
59
|
+
script.push({
|
|
60
|
+
type: 'application/ld+json',
|
|
61
|
+
children: JSON.stringify({
|
|
62
|
+
'@context': 'https://schema.org',
|
|
63
|
+
'@type': 'WebSite',
|
|
64
|
+
name,
|
|
65
|
+
url: baseUrl,
|
|
66
|
+
}),
|
|
67
|
+
});
|
|
68
|
+
const org = {
|
|
69
|
+
'@context': 'https://schema.org',
|
|
70
|
+
'@type': 'Organization',
|
|
71
|
+
name,
|
|
72
|
+
url: baseUrl,
|
|
73
|
+
};
|
|
74
|
+
if (logo) {
|
|
75
|
+
org.logo = baseUrl + logo;
|
|
76
|
+
}
|
|
77
|
+
script.push({ type: 'application/ld+json', children: JSON.stringify(org) });
|
|
78
|
+
}
|
|
79
|
+
return { title: data.title, meta, link, script };
|
|
39
80
|
}
|
|
40
81
|
//# sourceMappingURL=composables.js.map
|
package/dist/composables.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composables.js","sourceRoot":"","sources":["../src/composables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"composables.js","sourceRoot":"","sources":["../src/composables.ts"],"names":[],"mappings":"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"}
|
package/dist/module.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";AAgBA,wBAsHG"}
|
package/dist/module.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineNuxtModule } from 'nuxt/kit';
|
|
2
|
-
import { resolve } from 'node:path';
|
|
2
|
+
import { dirname, resolve } from 'node:path';
|
|
3
3
|
import { CORE_PACKAGES } from '@refrakt-md/transform';
|
|
4
|
-
import { loadRefraktConfig, resolveSite } from '@refrakt-md/transform/node';
|
|
4
|
+
import { loadRefraktConfig, resolveSite, createSiteTokensVitePlugin, createRunesCssVitePlugin, computeUsedCssBlocks, setupContentHmr, SITE_TOKENS_VIRTUAL_ID, RUNES_VIRTUAL_ID, } from '@refrakt-md/transform/node';
|
|
5
5
|
import { getThemePackage } from '@refrakt-md/types';
|
|
6
6
|
export default defineNuxtModule({
|
|
7
7
|
meta: {
|
|
@@ -12,9 +12,11 @@ export default defineNuxtModule({
|
|
|
12
12
|
configPath: './refrakt.config.json',
|
|
13
13
|
},
|
|
14
14
|
setup(options, nuxt) {
|
|
15
|
-
const
|
|
15
|
+
const configPath = options.configPath;
|
|
16
|
+
const refraktConfig = loadRefraktConfig(configPath);
|
|
16
17
|
const { site } = resolveSite(refraktConfig, options.site);
|
|
17
18
|
const themePackage = getThemePackage(site.theme);
|
|
19
|
+
const configDir = dirname(resolve(configPath));
|
|
18
20
|
// Add packages to transpile list
|
|
19
21
|
const transpile = [
|
|
20
22
|
...CORE_PACKAGES,
|
|
@@ -24,11 +26,69 @@ export default defineNuxtModule({
|
|
|
24
26
|
...(site.plugins ?? []),
|
|
25
27
|
];
|
|
26
28
|
nuxt.options.build.transpile.push(...transpile);
|
|
29
|
+
// Inject tree-shaken runes CSS + site-tokens overrides. Order matters:
|
|
30
|
+
// per-rune CSS first (includes base.css), site-tokens CSS second so the
|
|
31
|
+
// `--rf-*` cascade resolves to the override value last.
|
|
32
|
+
nuxt.options.css = nuxt.options.css ?? [];
|
|
33
|
+
nuxt.options.css.push(RUNES_VIRTUAL_ID, SITE_TOKENS_VIRTUAL_ID);
|
|
34
|
+
// Callback the runes Vite plugin invokes in `buildStart` to compute
|
|
35
|
+
// the tree-shaken rune set + print the standard Phase 1/2/3/4 + warnings
|
|
36
|
+
// summary to stderr (matches SvelteKit reference output). Same shape
|
|
37
|
+
// as the Astro integration.
|
|
38
|
+
let summaryPrinted = false;
|
|
39
|
+
const getUsedBlocks = async () => {
|
|
40
|
+
try {
|
|
41
|
+
const { createRefraktLoader, analyzeRuneUsage, formatPipelineSummary } = await import('@refrakt-md/content');
|
|
42
|
+
const themeModule = await import(themePackage + '/transform');
|
|
43
|
+
const themeConfig = themeModule.themeConfig ?? themeModule.luminaConfig ?? themeModule.default;
|
|
44
|
+
const loader = createRefraktLoader({
|
|
45
|
+
configPath,
|
|
46
|
+
site: options.site,
|
|
47
|
+
variables: options.variables,
|
|
48
|
+
security: options.security,
|
|
49
|
+
});
|
|
50
|
+
const loadedSite = await loader.getSite();
|
|
51
|
+
if (!summaryPrinted) {
|
|
52
|
+
process.stderr.write(formatPipelineSummary(loadedSite.pipelineStats, loadedSite.pipelineWarnings));
|
|
53
|
+
summaryPrinted = true;
|
|
54
|
+
}
|
|
55
|
+
const report = analyzeRuneUsage(loadedSite.pages);
|
|
56
|
+
const { usedBlocks } = await computeUsedCssBlocks(report.allTypes, themeConfig, themePackage);
|
|
57
|
+
return { usedBlocks, themePackage, themeConfig };
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
// eslint-disable-next-line no-console
|
|
61
|
+
console.warn('[refrakt] CSS tree-shaking skipped:', err.message);
|
|
62
|
+
return { themePackage, fallbackToBarrel: true };
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
// Resolve content + sandbox paths for the HMR watcher.
|
|
66
|
+
const contentDir = resolve(nuxt.options.rootDir, site.contentDir);
|
|
67
|
+
const examplesDir = site.sandbox?.examplesDir
|
|
68
|
+
? resolve(nuxt.options.rootDir, site.sandbox.examplesDir)
|
|
69
|
+
: undefined;
|
|
70
|
+
// Content-HMR Vite plugin — registers the watcher in `configureServer`
|
|
71
|
+
// so `.md` edits trigger a full browser reload during `nuxt dev`.
|
|
72
|
+
// Mirrors the SvelteKit reference behaviour.
|
|
73
|
+
const contentHmrPlugin = {
|
|
74
|
+
name: 'refrakt-md:content-hmr',
|
|
75
|
+
configureServer(server) {
|
|
76
|
+
setupContentHmr(server, contentDir, examplesDir);
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
// Register the Vite plugins serving virtual:refrakt/site-tokens.css,
|
|
80
|
+
// virtual:refrakt/runes.css, and the content-HMR watcher. Shared
|
|
81
|
+
// factories from @refrakt-md/transform/node — same plugins the Astro
|
|
82
|
+
// integration uses.
|
|
83
|
+
nuxt.options.vite = nuxt.options.vite ?? {};
|
|
84
|
+
nuxt.options.vite.plugins = nuxt.options.vite.plugins ?? [];
|
|
85
|
+
nuxt.options.vite.plugins.push(createSiteTokensVitePlugin(site, configDir), createRunesCssVitePlugin(getUsedBlocks), contentHmrPlugin);
|
|
27
86
|
// Configure Vue to treat rf-* as custom elements (compose with existing)
|
|
28
87
|
const prevIsCustomElement = nuxt.options.vue.compilerOptions.isCustomElement;
|
|
29
88
|
nuxt.options.vue.compilerOptions.isCustomElement = (tag) => tag.startsWith('rf-') || (prevIsCustomElement ? prevIsCustomElement(tag) : false);
|
|
30
|
-
//
|
|
31
|
-
|
|
89
|
+
// Also wire the Nuxt builder:watch hook to trigger app regeneration on
|
|
90
|
+
// `.md` changes — complements the Vite content-HMR watcher above
|
|
91
|
+
// (which handles the browser reload; this handles Nuxt's own pipeline).
|
|
32
92
|
nuxt.hook('builder:watch', async (_event, relativePath) => {
|
|
33
93
|
if (relativePath.endsWith('.md')) {
|
|
34
94
|
const absPath = resolve(nuxt.options.rootDir, relativePath);
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AdapterTheme } from '@refrakt-md/transform';
|
|
2
|
+
import type { SecurityPolicy } from '@refrakt-md/types';
|
|
2
3
|
/**
|
|
3
4
|
* Theme definition for the Nuxt adapter.
|
|
4
5
|
*
|
|
@@ -11,5 +12,9 @@ export interface RefraktNuxtOptions {
|
|
|
11
12
|
/** Which site to use from the config. Required when the config declares
|
|
12
13
|
* multiple `sites.*`; optional (and resolves to the lone site) otherwise. */
|
|
13
14
|
site?: string;
|
|
15
|
+
/** Security policy for untrusted author content. Defaults to `'trusted'`. */
|
|
16
|
+
security?: SecurityPolicy;
|
|
17
|
+
/** Markdoc variables available in content via `{% $name %}` syntax. */
|
|
18
|
+
variables?: Record<string, unknown>;
|
|
14
19
|
}
|
|
15
20
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC;AAErC,MAAM,WAAW,kBAAkB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;kFAC8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@refrakt-md/nuxt",
|
|
3
3
|
"description": "Nuxt module for refrakt.md — render Markdoc runes in Nuxt projects",
|
|
4
|
-
"version": "0.14.
|
|
4
|
+
"version": "0.14.4",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
"build": "tsc"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@refrakt-md/behaviors": "0.14.
|
|
37
|
-
"@refrakt-md/content": "0.14.
|
|
38
|
-
"@refrakt-md/transform": "0.14.
|
|
39
|
-
"@refrakt-md/types": "0.14.
|
|
36
|
+
"@refrakt-md/behaviors": "0.14.4",
|
|
37
|
+
"@refrakt-md/content": "0.14.4",
|
|
38
|
+
"@refrakt-md/transform": "0.14.4",
|
|
39
|
+
"@refrakt-md/types": "0.14.4"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"nuxt": "^3.0.0",
|