mnfst-render 0.5.20 → 0.5.21
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/manifest.render.mjs +14 -2
- package/package.json +1 -1
package/manifest.render.mjs
CHANGED
|
@@ -1471,10 +1471,18 @@ function generateLocaleVariantHtml({
|
|
|
1471
1471
|
? `<meta name="manifest:router-base" content="${String(routerBasePath).replace(/"/g, '"')}">\n`
|
|
1472
1472
|
: '';
|
|
1473
1473
|
const routeDepth = fileSegments.length;
|
|
1474
|
+
// List of locales that actually have prerendered URL paths, so the runtime
|
|
1475
|
+
// localization plugin knows when a locale switch should navigate vs stay on
|
|
1476
|
+
// the current page (e.g. example switches in docs that use locale-aware data
|
|
1477
|
+
// sources without the host site being multilingual).
|
|
1478
|
+
const prerenderLocalesMeta =
|
|
1479
|
+
Array.isArray(locales) && locales.length > 0
|
|
1480
|
+
? `<meta name="manifest:prerender-locales" content="${locales.join(',')}">\n`
|
|
1481
|
+
: '';
|
|
1474
1482
|
|
|
1475
1483
|
html = html.replace(
|
|
1476
1484
|
'</head>',
|
|
1477
|
-
`${canonicalHreflang}${injectOgLocale ? ogLocale : ''}${routeMeta}${baseMeta}<meta name="manifest:prerendered" content="1">\n<meta name="manifest:router-base-depth" content="${routeDepth}">\n</head>`
|
|
1485
|
+
`${canonicalHreflang}${injectOgLocale ? ogLocale : ''}${routeMeta}${baseMeta}${prerenderLocalesMeta}<meta name="manifest:prerendered" content="1">\n<meta name="manifest:router-base-depth" content="${routeDepth}">\n</head>`
|
|
1478
1486
|
);
|
|
1479
1487
|
|
|
1480
1488
|
return { html, utilityBlocks: pageUtilityBlocks };
|
|
@@ -2982,9 +2990,13 @@ async function runPrerender(config) {
|
|
|
2982
2990
|
: '';
|
|
2983
2991
|
const routeDepth = fileSegments.length;
|
|
2984
2992
|
const prerenderedMeta = `<meta name="manifest:prerendered" content="1">\n`;
|
|
2993
|
+
const prerenderLocalesMeta =
|
|
2994
|
+
Array.isArray(locales) && locales.length > 0
|
|
2995
|
+
? `<meta name="manifest:prerender-locales" content="${locales.join(',')}">\n`
|
|
2996
|
+
: '';
|
|
2985
2997
|
html = html.replace(
|
|
2986
2998
|
'</head>',
|
|
2987
|
-
`${canonicalHreflang}${injectOgLocale ? ogLocale : ''}${routeMeta}${baseMeta}${prerenderedMeta}<meta name="manifest:router-base-depth" content="${routeDepth}">\n</head>`
|
|
2999
|
+
`${canonicalHreflang}${injectOgLocale ? ogLocale : ''}${routeMeta}${baseMeta}${prerenderLocalesMeta}${prerenderedMeta}<meta name="manifest:router-base-depth" content="${routeDepth}">\n</head>`
|
|
2988
3000
|
);
|
|
2989
3001
|
// (Hydration contract was already injected into the raw HTML before
|
|
2990
3002
|
// the Node.js post-processing pipeline ran, so it's already present.)
|