@@ -33,6 +33,7 @@ export async function executeServerCode(serverCode, require) {
33
33
* @param {string } template - HTML template
34
34
* @param {ReturnType<createASTBuilder> } astBuilders - AST builder functions
35
35
* @param {ReturnType<createRequire> } require - Node.js require function
36
+ * @param {import('semver').SemVer } version - The Node.js version
36
37
* @param {string } output - Output directory path
37
38
* @returns {Promise<{html: string, css?: string}> }
38
39
*/
@@ -41,6 +42,7 @@ export async function processEntry(
41
42
template ,
42
43
{ buildServerProgram, buildClientProgram } ,
43
44
require ,
45
+ { version } ,
44
46
output
45
47
) {
46
48
const { value : code } = toJs ( entry , { handlers : jsx } ) ;
@@ -58,7 +60,7 @@ export async function processEntry(
58
60
Buffer . from (
59
61
// TODO(@avivkeller): Don't depend on mustache
60
62
Mustache . render ( template , {
61
- title : entry . data . heading . data . name ,
63
+ title : ` ${ entry . data . heading . data . name } | Node.js v ${ version } Documentation` ,
62
64
dehydrated,
63
65
javascript : clientBundle . js ,
64
66
} )
@@ -96,7 +98,7 @@ export default {
96
98
* @param {import('../jsx-ast/utils/buildContent.mjs').JSXContent[] } entries
97
99
* @param {Partial<GeneratorOptions> } options
98
100
*/
99
- async generate ( entries , { output } ) {
101
+ async generate ( entries , { output, version } ) {
100
102
// Load template and set up dependencies
101
103
const template = await readFile (
102
104
new URL ( 'template.html' , import . meta. url ) ,
@@ -109,7 +111,14 @@ export default {
109
111
const results = [ ] ;
110
112
for ( const entry of entries ) {
111
113
results . push (
112
- await processEntry ( entry , template , astBuilders , require , output )
114
+ await processEntry (
115
+ entry ,
116
+ template ,
117
+ astBuilders ,
118
+ require ,
119
+ version ,
120
+ output
121
+ )
113
122
) ;
114
123
}
115
124
0 commit comments