From 9a09065a824882b3c5f82b6e9dcefb850c0cb67e Mon Sep 17 00:00:00 2001 From: taimafanl <1051135496@qq.com> Date: Wed, 21 Jan 2026 10:39:57 +0800 Subject: [PATCH] chore: auto deploy 2026-01-21 10:39:57 --- build.js | 33 ++++++++++++++++++++++++++++++++- data.js | 4 ++++ template.html | 20 ++++++++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) diff --git a/build.js b/build.js index 2b82573..753bffc 100644 --- a/build.js +++ b/build.js @@ -9,11 +9,20 @@ data.languages.forEach(lang => { const content = data.content[lang]; let html = template; + const fullBasePath = data.siteConfig.basePath; + const fullDomain = data.siteConfig.domain; + html = html.replace(/{{langCode}}/g, lang); html = html.replace(/{{title}}/g, content.title); html = html.replace(/{{metaDesc}}/g, content.metaDesc); - // 语言链接 - 动态生成 + // SEO Dynamic Tags + const canonicalUrl = `${fullDomain}${fullBasePath}/${lang}/index.html`; + html = html.replace(/{{canonicalUrl}}/g, canonicalUrl); + // Use a default OG image or generate one (placeholder for now) + html = html.replace(/{{ogImage}}/g, `${fullDomain}${fullBasePath}/assets/og-shared.jpg`); + + // 语言链接 - 动态生成 (保持相对路径,兼容性更好) const langLinksHtml = data.languages.map(l => { const lContent = data.content[l]; if (l === lang) return `${lContent.langName}`; @@ -64,3 +73,25 @@ data.languages.forEach(lang => { fs.writeFileSync(path.join(outputDir, 'index.html'), html); console.log(`✅ ${lang} 版生成完毕`); }); + +// 生成 sitemap.xml +const sitemap = ` + +${data.languages.map(lang => ` + + ${data.siteConfig.domain}${data.siteConfig.basePath}/${lang}/index.html + ${new Date().toISOString().split('T')[0]} + 0.80 + `).join('')} +`; +fs.writeFileSync(path.join(__dirname, 'dist', 'sitemap.xml'), sitemap); +console.log('✅ sitemap.xml 已生成'); + +// 生成 robots.txt +const robots = `User-agent: * +Allow: / + +Sitemap: ${data.siteConfig.domain}${data.siteConfig.basePath}/sitemap.xml +`; +fs.writeFileSync(path.join(__dirname, 'dist', 'robots.txt'), robots); +console.log('✅ robots.txt 已生成'); diff --git a/data.js b/data.js index 77004dd..adddc3e 100644 --- a/data.js +++ b/data.js @@ -1,6 +1,10 @@ // data.js - 2026 世界杯 16 城市全量三语数据库 module.exports = { languages: ['zh', 'en', 'es'], + siteConfig: { + domain: "https://pickbetterai.com", + basePath: "/worldcup-2026", + }, content: { zh: { langName: "中文", diff --git a/template.html b/template.html index f70b159..694446c 100644 --- a/template.html +++ b/template.html @@ -6,6 +6,26 @@ {{title}} + + + + + + + + + + + + + + + + + + + +