Skip to content

Commit 8c7af7a

Browse files
committed
fix(web): use populate() for title suffix template
Moves the title suffix string into defaultConfiguration as a template ("Node.js {version} Documentation") and uses populate() to resolve it at runtime, consistent with how other config strings are handled. Fixes #722
1 parent 350963e commit 8c7af7a

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

src/generators/web/index.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export default createLazyGenerator({
2929
defaultConfiguration: {
3030
templatePath: join(import.meta.dirname, 'template.html'),
3131
title: 'Node.js',
32+
titleSuffix: 'Node.js {version} Documentation',
3233
imports: {
3334
'#theme/Logo': '@node-core/ui-components/Common/NodejsLogo',
3435
'#theme/Navigation': join(import.meta.dirname, './ui/components/NavBar'),

src/generators/web/utils/processing.mjs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { transform } from 'lightningcss-wasm';
55

66
import bundleCode from './bundle.mjs';
77
import { createChunkedRequire } from './chunks.mjs';
8+
import { populate } from '../../../utils/configuration/templates.mjs';
89
import { minifyHTML } from '../../../utils/html-minifier.mjs';
910
import { relative } from '../../../utils/url.mjs';
1011
import { SPECULATION_RULES } from '../constants.mjs';
@@ -86,13 +87,14 @@ export async function executeServerCode(serverCodeMap, requireFn) {
8687
* @param {ReturnType<import('node:module').createRequire>} requireFn - A Node.js `require` function.
8788
* @param {Object} options - Processing options
8889
* @param {Object} options.version - Version info
90+
* @param {string} options.titleSuffix - Title suffix template string
8991
*/
9092
export async function processJSXEntries(
9193
entries,
9294
template,
9395
astBuilders,
9496
requireFn,
95-
{ version }
97+
{ version, titleSuffix: titleSuffixTemplate }
9698
) {
9799
// Step 1: Convert JSX AST to JavaScript (CPU-intensive, could be parallelized)
98100
const { serverCodeMap, clientCodeMap } = convertJSXToCode(
@@ -107,7 +109,9 @@ export async function processJSXEntries(
107109
bundleCode(clientCodeMap),
108110
]);
109111

110-
const titleSuffix = `Node.js ${version.version} Documentation`;
112+
const titleSuffix = populate(titleSuffixTemplate, {
113+
version: version.version,
114+
});
111115

112116
// Step 3: Create final HTML (could be parallelized in workers)
113117
const results = await Promise.all(

0 commit comments

Comments
 (0)