ZeBlog 是一个轻量级的 Node.js 静态博客生成器,灵感来源于 Hexo 和 Hugo。使用 EJS 模板、Markdown 文章,支持主题切换、代码高亮(Prism.js)和自定义配置。适合开发者快速搭建个人博客或文档站点。
- Markdown 支持:使用
marked解析,支持 frontmatter 元数据(标题、标签、日期等)。 - 主题系统:配置
theme切换模板(如templates/default/),每个主题可有独立assets/(CSS/JS/图片)。 - 静态资源管理:自动拷贝
content/public/到output/public/、templates/${theme}/assets/到output/assets/、data/到根目录。 - 热重载开发:
--watch模式下,修改配置/模板/文章自动重建。 - Sitemap 生成:自动创建
sitemap.xml。 - 自定义配置:INI-like 格式,支持站点信息、技术栈列表、Gists 等。
- 路由生成:支持 MD5 或序号 ID 的文章 URL。
确保 Node.js >= 18。
git clone https://github.com/JanePHPDev/ZeBlog.git
cd ZeBlog
npm install编辑 config.conf:
- 设置
[site]:标题、描述、base_url 等。 [build]:theme = default(默认主题)。[tech]和[gists]:自定义列表(YAML 风格)。
示例配置见 config.conf。
ZeBlog/
├── config.conf # 主配置
├── generator.js # 构建脚本
├── content/
│ ├── posts/ # Markdown 文章 (*.md)
│ └── public/ # 全局静态资源 → output/public/
├── templates/ # 模板目录
│ └── default/ # 默认主题
│ ├── index.ejs # 首页模板
│ ├── article.ejs # 文章模板
│ └── assets/ # 主题资源 → output/assets/
├── data/ # 数据文件 → output/ 根目录
└── package.json
在 content/posts/Example.md 创建测试文章(见示例)。
# 构建静态文件
npm run build # 生成 output/
# 开发模式(热重载,端口 4000)
npm run dev
# 指定端口
npm run dev -- -p 3000 # http://localhost:3000构建后,output/ 包含:
index.html:首页article/*.html:文章页public/、assets/:静态文件夹sitemap.xml:站点地图
将 output/ 内容上传到静态主机(如 GitHub Pages、Vercel)。更新 base_url 为你的域名。
- 节:
[site]、[build]等。 - 键值:
key = value。 - 列表:如
[gists]用- item;[tech]用- name: PHP+ 缩进属性。
详见 config.conf 示例。
- 在
templates/${theme}/下编辑*.ejs。 - 注入数据:
<%= site.title %>、<% tech.forEach(item => { %> ... <% }) %>。 - 代码高亮:启用
features.prismjs = true。
---
title: 文章标题
date: 2025-10-01
tags: [tag1, tag2]
categories: 分类
cover: /assets/image.jpg
---
正文...- 创建
templates/mytheme/,复制default/。 - 编辑
config.conf:theme = mytheme。 - 在
mytheme/assets/css/styles.css加样式,模板中<link href="/assets/css/styles.css">。
- 模板不存在:检查
templates_dir和theme配置,路径如templates/default/index.ejs。 - tech/gists 缺失:确保缩进正确(空格,非 Tab),最后一个项需在文件末尾保存。
- 热重载无效:确认 chokidar 监听路径(config、templates、posts、assets)。
- 依赖问题:
npm install后重试。
欢迎 PR!Fork 仓库,添加功能/主题,提交到 develop 分支。
MIT License - 详见 LICENSE。
作者:JanePHPDev
版本:1.0.0
更新:2025-10-01