全部项目
01-首页 02-文章列表 03-项目列表 04-关于我 05-后台-页面设置 06-后台-文章管理 07-后台-项目管理
ViBlog
P003Personal web / creative coding
一个持续生长的个人空间。收藏做过的项目,也记录把想法变成现实的过程。
查看源码
本网站现采用 Astro、React 与 Three.js 构建。下方文档与截图保留原版 ViBlog 的实现记录,当前源码以仓库为准。
项目概述
ViBlog 是一个纯前端驱动的静态个人技术博客系统,采用 Vibe Coding 方式构建,支持文章管理、项目展示和响应式设计,无需复杂后端即可运行。
核心特性:
- 文章管理:Markdown 格式文章,自动化生成列表和详情页
- 项目展示:支持项目详情和图片画廊
- 响应式设计:适配桌面端和移动端
- 管理后台:支持文章/项目/配置的增删改查
技术选型
前端: HTML5 + CSS3 + JavaScript + marked.js
后端: Node.js(原生 http/fs 模块,无需额外框架)
数据存储: JSON 配置文件 + Markdown 文章内容 + 图片资源
实现过程
项目结构
ViBlog/
├── index.html # 首页
├── article.html # 文章详情页
├── posts.html # 文章列表页
├── project.html # 项目详情页
├── projects.html # 项目列表页
├── admin/ # 管理后台
├── articles/ # 文章目录(manifest.json + [文章ID]/)
├── projects/ # 项目目录(manifest.json + [项目ID]/)
├── assets/ # 静态资源
├── styles.css # 全局样式
├── script.js # 前端脚本
├── server.js # Node.js 服务器
└── site-settings.json # 网站配置
核心模块
1. 文章管理系统
- 文章存储在
articles/[文章ID]/目录,包含index.md和meta.json build-manifest.js自动扫描生成manifest.json索引- 前端动态加载并渲染文章列表和详情页
2. 项目展示系统
- 项目配置存储在
projects/[项目ID]/detail.json - 支持 Markdown 格式的概述、技术栈、实现方案
- 图片画廊支持中英文文件名,URL 编码正确解析
3. 管理后台
提供文章管理、项目管理、网站设置三大功能,通过 RESTful API 与后端交互。
API 接口:
POST /api/articles/save # 保存文章
DELETE /api/articles/:id # 删除文章
POST /api/projects/save # 保存项目
DELETE /api/projects/:id # 删除项目
GET /api/site-settings # 获取网站设置
POST /api/site-settings # 保存网站设置
技术要点
服务器处理:
- 使用
decodeURIComponent()正确解码中文路径 - 静态文件服务限制访问范围在项目根目录内
- 支持 CORS 跨域资源共享
性能优化:
- 图片懒加载(
loading="lazy") - manifest 索引减少重复请求
- CSS 变量实现主题复用