/** * 用于生成最佳实践页面的概览页 */ var fs = require('fs'); var path = require('path'); var minify = require('html-minifier').minify; var BEST_PRACTICES_DATA = require('./source/_data/best-practices.json'); var args = process.argv.slice(2) var isProd = args.length > 0 && args[0] === 'prod'; var DATA = BEST_PRACTICES_DATA; var fileReadPath = path.resolve('source/_data/overview.html'); var fileWritePath = path.resolve(`${isProd ? 'public' : 'source'}/best-practices/overview.html`); var html = fs.readFileSync(fileReadPath, { encoding: 'utf8' }); var tabStr = '
'; var tabContentStr = '
'; for (var i = 0; i < DATA.length; i++) { var tab = DATA[i]; var isIndex0 = i === 0; // 拼接 tab 字符串 tabStr += `
${tab.sort}
`; // 拼接 tabContent 字符串 tabContentStr += `
`; // list的长度大于6,添加 查看更多 var list = tab.list; var len = list.length; var isOverSix = len > 6; if (isOverSix) { tabContentStr += `
查看更多
`; } // 遍历list for (var j = 0; j < len; j++) { var item = list[j]; tabContentStr += `
${item.image_title}

${item.title}

${item.introduction}

${item.author} ${item.date}
`; } var padNum = len % 3; padNum = padNum === 1 ? 2 : 1; for (var k = 0; k < padNum; k++) { tabContentStr += `
`; } tabContentStr += '
'; } tabStr += '
'; tabContentStr += '
'; html = html.replace('', tabStr).replace('', tabContentStr); fs.writeFileSync(fileWritePath, minify(html, { removeComments: true, collapseWhitespace: true, minifyJS: true, })); console.log('success');