一个简约的个人博客,记录技术与生活的点滴。基于 Hexo 静态站点生成器构建,使用自定义主题,部署在 GitHub Pages。
- Hexo - 快速、简洁且高效的博客框架
- EJS - 模板引擎
- Stylus - CSS 预处理器
- Vanilla JavaScript - 无框架的纯 JS 实现交互
- MathJax - 数学公式渲染
- GitHub Pages - 静态网站托管
- GitHub Actions - CI/CD 自动部署
- 🌓 深色模式 - 支持系统偏好检测和手动切换
- 🔍 本地搜索 - 基于 XML 的全文搜索
- 🏷️ 标签系统 - 文章分类和标签云
- 📅 归档页面 - 按年份整理文章
- 📝 废话时间线 - 碎碎念和随笔记录
- 🧮 数学公式 - 支持 LaTeX 数学公式渲染
- 📱 响应式设计 - 完美适配移动端和桌面端
- Node.js >= 18
- pnpm >= 8
pnpm installpnpm run server
# 或
hexo server访问 http://localhost:4000 查看博客
pnpm run build
# 或
hexo generate生成的静态文件在 public/ 目录
pnpm run clean
# 或
hexo cleanhexo new post <文章标题>文章会创建在 source/_posts/ 目录
hexo new page <页面名称>├── source/ # 源文件目录
│ ├── _posts/ # 博客文章
│ ├── flows/ # 废话时间线
│ ├── resume/ # 简历页面
│ └── tags/ # 标签页
├── themes/
│ └── custom/ # 自定义主题
│ ├── layout/ # EJS 模板
│ │ ├── _partial/ # 可复用组件
│ │ ├── layout.ejs # 主布局
│ │ ├── index.ejs # 首页
│ │ ├── post.ejs # 文章页
│ │ ├── archive.ejs # 归档页
│ │ ├── tags.ejs # 标签页
│ │ └── flow.ejs # 时间线页
│ └── source/ # 主题资源
│ ├── css/style.styl # 样式文件
│ └── js/ # JavaScript 文件
├── _config.yml # Hexo 主配置
└── .github/workflows/ # GitHub Actions 工作流
└── deploy.yml # 自动部署配置
本项目使用 GitHub Actions 自动部署到 GitHub Pages:
- 推送代码到
main分支 - GitHub Actions 自动触发构建
- 构建成功后自动部署到 GitHub Pages
部署流程在 .github/workflows/deploy.yml 中定义。
编辑 _config.yml 修改网站基本信息:
# Site
title: 王二的数字花园
description: 一个简约的个人博客,记录技术与生活的点滴
author: Your Name
# URL
url: https://wanger-sjtu.github.io
root: /编辑 themes/custom/_config.yml 自定义主题:
# 网站菜单
menu:
首页: /
简历: /resume
归档: /archives
标签: /tags
废话: /flows
# 功能开关
darkmode: true
search: true
rss: true
math: true支持 LaTeX 数学公式渲染:
- 行内公式:
$E = mc^2$或\(...\) - 块级公式:
$$E = mc^2$$或\[...\]
示例:
行内公式:$E = mc^2$
块级公式:
$$
\int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
$$若要禁用某篇文章的数学公式渲染,在 front-matter 中添加:
---
math: false
---MIT