const fs = require('fs'); const yaml = require('js-yaml'); const path = require('path'); // 读取配置文件 function loadConfig() { try { const configFile = fs.readFileSync('config.yml', 'utf8'); return yaml.load(configFile); } catch (e) { console.error('Error loading config file:', e); process.exit(1); } } // 生成导航菜单 function generateNavigation(navigation) { return navigation.map(nav => ` ${nav.name} `).join('\n'); } // 生成网站卡片HTML function generateSiteCards(sites) { return sites.map(site => `

${site.name}

${site.description}

`).join('\n'); } // 生成分类HTML function generateCategories(categories) { return categories.map(category => `

${category.name}

${generateSiteCards(category.sites)}
`).join('\n'); } // 生成社交链接HTML function generateSocialLinks(social) { return social.map(link => ` ${link.name} `).join('\n'); } // 生成页面内容 function generatePageContent(pageId, data) { return `

${data.title}

${data.subtitle}

${generateCategories(data.categories)}`; } // 生成搜索结果页面 function generateSearchResultsPage() { return `

搜索结果

在所有页面中找到的匹配项

`; } // 生成完整的HTML function generateHTML(config) { return ` ${config.site.title}

${config.profile.title}

${config.profile.subtitle}

${config.profile.description}

${generateCategories(config.categories)}
${generatePageContent('projects', config.projects)}
${generatePageContent('articles', config.articles)}
${generatePageContent('friends', config.friends)}
${generateSearchResultsPage()}
`; } // 主函数 function main() { const config = loadConfig(); const html = generateHTML(config); try { fs.writeFileSync('index.html', html); console.log('Successfully generated index.html'); } catch (e) { console.error('Error writing index.html:', e); process.exit(1); } } main();