站点:纯静态 HTML + CSS + 原生 JS,零框架零构建
页面:首页 / 合作品牌 / 荣誉资质 / 客户案例 / 关于我们
内容:
- site/ 站点本体(含已压缩 webp 图片,约 4.8 MB)
- deploy/ Docker Compose / Caddy / Apache 部署配置
- _tools/ 开发自检脚本与部署脚本
- Dockerfile 自建 nginx 镜像方案
- README.md 项目文档
设计:品牌黄 #ffc107 + 白,深蓝仅用于页脚;菜单长期置顶;
交互动效只加在关键词与区块级元素上。
素材说明:原始素材(背景图/老网站/方案/荣誉资质/合作品牌,约 290 MB)
未纳入版本控制,站点使用的是 site/assets 内已处理压缩的图片。
35 lines
1.4 KiB
JavaScript
35 lines
1.4 KiB
JavaScript
// 去掉「8 家」这类数量表述(后续品牌还会增加),改成不限定数量的说法
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const SITE = path.join(__dirname, '..', 'site');
|
|
|
|
const REPLACE = [
|
|
['8 家全球一线厂商授权合作', '携手全球一线 IT 厂商'],
|
|
['八大核心合作品牌', '核心合作品牌'],
|
|
['8 家</span>', '多家</span>'],
|
|
['一线厂商授权', '主流厂商授权'],
|
|
];
|
|
|
|
for (const f of ['index.html', 'brands.html', 'honors.html', 'cases.html', 'about.html']) {
|
|
const p = path.join(SITE, f);
|
|
let s = fs.readFileSync(p, 'utf8');
|
|
const before = s;
|
|
let n = 0;
|
|
for (const [from, to] of REPLACE) {
|
|
const parts = s.split(from);
|
|
if (parts.length > 1) { n += parts.length - 1; s = parts.join(to); }
|
|
}
|
|
if (s !== before) { fs.writeFileSync(p, s, 'utf8'); console.log('updated ' + f + ' (' + n + ' 处)'); }
|
|
else console.log('no change ' + f);
|
|
}
|
|
|
|
console.log('\n复查是否还有数量表述:');
|
|
for (const f of ['index.html', 'brands.html', 'honors.html', 'cases.html', 'about.html']) {
|
|
const s = fs.readFileSync(path.join(SITE, f), 'utf8');
|
|
const hits = [];
|
|
for (const m of s.matchAll(/(八|[0-9]+)\s*家/g)) hits.push(m[0] + ' ← ' + s.slice(Math.max(0, m.index - 18), m.index + 12).replace(/\s+/g, ' '));
|
|
for (const m of s.matchAll(/八大/g)) hits.push('八大');
|
|
console.log(' ' + f.padEnd(14) + (hits.length ? hits.join(' | ') : '无'));
|
|
}
|