本项目是一个面向技术创作者的个人 IP 门户站,采用纯前端静态架构,整合了「技术博客发布」「第三方效率工具聚合评测」「个人开源作品展示」三大核心模块,目标是为访客提供一站式的技术内容消费与个人品牌展示体验。
核心功能包括:
1. 博客系统 :支持本地 Markdown 文章渲染,文章列表按技术 / 感悟 / 知识三分类筛选,支持标题/摘要/标签搜索,兼容 CSDN 外链归档与本地文章混合展示。
2. 工具箱聚合 :收录并评测 10+ 款真实第三方效率工具,按文本处理 / 编程开发 / AI 工具 / 设计创作 / 图像处理 / 效率办公分类,支持收藏、搜索、定价标签(真免费 / 部分免费 / 付费)筛选。
3. 作品展示 :集中展示 4 个已开源的真实项目(CSDN 博客爬虫、绿色软件管理器、一键环境搭建、访问量辅助工具),全部附带 Gitee 仓库链接。
4. 主题与交互 :支持深色 / 浅色主题切换并持久化到 localStorage,针对主题切换做了 FOUC(闪烁)优化;全站响应式布局,适配桌面端与移动端。
5. 公共组件 :统一导航栏、页脚、加载动画、滚动渐入动画、粒子背景、访问量统计、社交分享等可复用模块。
项目采用「配置驱动」设计,所有页面内容统一由 config.js 管理,新增文章、工具、作品时只需修改配置文件即可,无需改动页面结构。
## 三、项目实现(约 580 字)
本项目为纯静态多页面站点,共 6 个 HTML 页面,数据层通过 config.js 集中配置,逻辑层按页面拆分为 blog.js 、 toolbox.js 、 utils.js 等独立脚本模块,降低耦合。
关键实现细节 :
1. Markdown 浏览器端渲染 :文章详情页通过 URL 参数 ?id=xxx 定位,使用 fetch 加载 posts/{id}.md ,经 marked.js 解析为 HTML,再由 highlight.js 完成代码高亮,实现无需后端的内容发布。
2. 多源文章合并 : blog.js 将本地 Markdown 文章清单与 CSDN 外链归档统一数据结构,按分类展示,并自动推断旧文章的分类。
3. 主题防闪烁优化 :在 中内联同步脚本,优先读取 localStorage 或系统偏好,在页面首次渲染前设置 data-theme ,避免深色模式出现白屏闪烁。
4. 工具箱交互 : toolbox.js 实现分类筛选、关键词搜索(防抖)、localStorage 收藏、定价信号灯与数据统计面板。
5. 安全与性能 :动态插入 DOM 的内容均经 Utils.escapeHtml 转义,防御 XSS;同时使用 DNS 预解析、字体预连接、CDN 加载、懒加载动画优化首屏体验。
难点与解决方案 :
- 主题切换闪烁 :通过 head 同步脚本在渲染前设置主题,消除 FOUC。
- Markdown 高亮时序 :在 fetch 回调中按「加载 → 解析 → 高亮 → 绑定复制」顺序执行。
- 公共组件复用 :将导航栏、页脚、主题切换、滚动动画等抽离到 utils.js ,各页面统一初始化。
项目成果 :6 个页面、3 大功能模块、1 套可复用公共组件;集成 4 个真实开源项目、10+ 款工具评测、本地与 CSDN 文章归档;全站支持响应式布局与深浅主题切换;纯静态部署,无需后端和数据库。
上线网址:https://yibeigen.pages.dev/