Hexo
使用 Node.js 构建、拥有丰富主题与插件生态的快速博客框架。
项目概述
Hexo 将 Markdown、Front Matter 和主题模板生成静态网站,以简洁的博客命令、可替换渲染器及庞大的社区主题和插件生态见长。
Hexo 是采用 MIT 许可证、基于 Node.js 的静态博客框架。它通过 Scaffold 创建 Post、Page 和 Draft,读取 YAML 或 JSON Front Matter,再由可插拔渲染器和主题模板生成 public 目录。Hexo 的核心保持轻量,归档、分类、标签、Feed、搜索与部署等能力可通过 Generator 和插件组合;主题则封装 Layout、语言、脚本与资源,因此特别适合希望快速搭建并深度定制个人博客的 JavaScript 用户。
主要特点
Hexo 以博客友好的命令、灵活渲染器以及主题与插件机制串联内容写作和静态发布。
博客写作命令
hexo new、publish、generate、server 和 deploy 覆盖文章创建、草稿发布、本地预览、构建与部署。
Post、Page 与 Draft
内置三种常用 Layout,并通过 Scaffold 预填 Front Matter;文章默认保存在 source/_posts,草稿位于 source/_drafts。
Front Matter 与 Taxonomy
YAML 或 JSON Front Matter 可定义日期、永久链接、摘要、语言、分类和标签,其中分类支持层级,标签保持扁平。
主题系统
主题包含独立配置、国际化文本、Layout、脚本和静态资源,可通过 _config.yml 切换并覆盖站点视觉与页面结构。
可插拔渲染器
Markdown、EJS、Nunjucks、Pug、Stylus 等内容和模板格式由 Renderer 插件处理,可按文件扩展名灵活组合。
插件扩展 API
Generator、Renderer、Processor、Filter、Helper、Tag、Deployer 和 Console API 可扩展构建生命周期与命令。
Helper 与 Tag Plugin
Helper 在主题中复用 URL、日期、列表和资源逻辑,Tag Plugin 则允许在 Markdown 内容中插入复杂结构。
生成器与部署器
归档、分类、标签和索引由 Generator 产出,Deployer 插件可将生成结果发布到 Git、对象存储或托管平台。
适用场景
适合以文章为中心、希望使用成熟主题快速上线,并由 JavaScript 或 npm 扩展构建流程的静态网站。
个人技术博客
Markdown、代码高亮、标签、分类、归档和丰富主题非常适合开发者持续写作。
团队工程博客
Git 审核、Front Matter、作者数据与 Feed 插件可支撑团队文章、发布记录和技术专栏。
项目更新日志
按日期的文章、分类归档和静态部署适合 Release Notes、Changelog 和社区公告。
个人主页与作品集
Page、主题配置和自定义数据可在博客之外组织简介、项目、友链与作品展示。
中文内容社区
Hexo 在中文开发者社区拥有大量主题、教程和搜索、评论、图床等常用集成。
Node.js 定制内容站
熟悉 JavaScript 的团队可编写脚本、Helper、Generator 和 npm 插件来实现特定内容流程。
优点与注意事项
技术选型不仅要看能力,也要理解它带来的团队成本。
主要优点
Hexo 擅长的地方
- 初始化、写作、预览和部署命令简单,博客上手速度快
- 社区主题和插件数量丰富,常见博客功能通常已有方案
- 基于 Node.js 和 npm,JavaScript 开发者容易编写扩展
- 渲染器可替换,Markdown 与模板语言选择灵活
- 分类、标签、归档、草稿和永久链接围绕写作场景设计
- 输出标准静态文件,可托管到 CDN 或任意静态平台
需要注意
采用前应考虑的问题
大量主题和插件并非 Hexo 官方维护,应检查更新时间、依赖安全、许可证和新版 Hexo 兼容性。
主题常同时控制模板、样式、脚本和插件配置;直接修改主题源码会增加升级成本,应优先使用覆盖配置或维护独立分支。
Renderer、Filter 和 Generator 的执行顺序可能产生重复处理或冲突,出现异常时应缩小插件集合并清理 db.json。
文章、图片和全量 Generator 增长后,生成时间与内存占用会上升,应控制高成本插件并利用缓存和增量发布策略。
评论、站内搜索、表单、认证和实时数据通常需要客户端脚本、第三方服务或单独后端。
Hexo、Node.js、主题和插件横跨多个维护者,CI 应使用固定 Node 版本和 lockfile,避免自动升级导致构建差异。
快速开始
安装 Hexo CLI,初始化博客,配置站点信息,创建第一篇文章,再预览和生成 public 静态目录。
bashnode --version
npm install --global hexo-cli
hexo init my-blog
cd my-blog
npm install
npx hexo serveryaml# _config.yml
title: 开源项目志
subtitle: 记录值得关注的开源软件
description: 使用 Hexo 构建的技术博客
language: zh-CN
timezone: Asia/Shanghai
url: https://example.org
permalink: posts/:title/
theme: landscapebashnpx hexo new post "Hello Hexo"
# 新文章位于 source/_posts/hello-hexo.mdmarkdown---
title: Hello Hexo
date: 2026-07-24 10:00:00
description: 使用 Hexo 发布第一篇静态文章
categories:
- 开源工具
tags:
- Hexo
- SSG
---
Hexo 使用 Markdown、Front Matter 和主题模板生成静态页面。
## 下一步
选择合适的主题,并将内容和配置纳入 Git 版本管理。javascript// scripts/project_count.js
hexo.extend.helper.register("project_count", function () {
return this.site.posts.length;
});
// 在 EJS 主题模板中使用:
// <p>已经收录 <%= project_count() %> 篇内容</p>bashnpx hexo clean
npx hexo generate --bail
# 生成结果位于 public 目录
# 安装并配置 Deployer 后可以执行:
npx hexo deploy下一步:将 Hexo、主题和插件保存到 package.json 并提交锁文件,项目内优先通过 npx hexo 执行命令;更换主题或升级插件前先运行 hexo clean,随后在预览和生产构建中检查永久链接与 Front Matter 兼容性。
类似项目
这些工具同样使用内容和模板生成静态站点,但 Hexo 更聚焦博客体验与 Node.js 主题插件生态。
Jekyll
使用 Ruby、Markdown 和 Liquid 构建博客与内容网站的成熟静态站点生成器。
查看项目Hugo
使用 Go 编写、以快速构建和完整内容管理能力著称的静态站点生成器。
查看项目Eleventy
灵活、稳定且支持多种模板语言的 JavaScript 静态站点生成器。
查看项目Zola
使用 Rust 编写、以单文件分发和快速构建为特点的静态站点生成器。
查看项目Pelican
使用 Python、Jinja 和 Markdown 或 reStructuredText 构建内容网站的静态生成器。
查看项目Gatsby
基于 React 和 GraphQL 数据层、面向内容网站的静态与混合渲染框架。
查看项目Hexo vs Jekyll
Hexo 与 Jekyll 都以 Markdown、Front Matter、主题和插件构建内容网站;Hexo 更贴近 Node.js 与 JavaScript 社区并强调快速博客命令,Jekyll 则拥有更悠久的 Ruby 生态和 GitHub Pages 原生集成。
| 比较维度 | Hexo | Jekyll |
|---|---|---|
| 核心实现 | JavaScript,通过 Node.js 与 npm 使用 | Ruby Gem,通过 Bundler 管理 |
| 模板系统 | 通过 Renderer 使用 Nunjucks、EJS、Pug 等 | 以 Liquid、Layout 和 Include 为核心 |
| 内容模型 | Post、Page、Draft、Scaffold、Category 和 Tag | Post、Page、Collection、Data File 和 Draft |
| 扩展方式 | npm 插件、scripts 与 Extend API | Ruby Gem、Generator、Filter、Tag 和 Hook |
| 主题生态 | 博客主题数量多,中文社区资源尤其丰富 | 成熟稳定,并与 GitHub Pages 主题生态紧密 |
| 构建与部署 | 生成 public,可通过 Deployer 插件发布 | 生成 _site,可由 GitHub Pages 原生构建 |
| 团队技能 | 适合熟悉 JavaScript、Node.js 和 npm 的团队 | 适合熟悉 Ruby、Bundler 和 Liquid 的团队 |
| 更适合 | 个人博客、中文技术写作和主题快速定制 | GitHub Pages、项目文档和长期稳定内容站 |
如果团队使用 JavaScript、希望从大量博客主题中选择,并计划用 npm 插件或脚本定制流程,Hexo 更顺手;如果网站需要 GitHub Pages 直接构建、依赖成熟的 Liquid 约定,或团队已有 Ruby 工具链,Jekyll 更稳妥。无论选择哪一个,都应先审核主题和第三方插件的维护状态,并用真实文章验证升级与构建时间。
资料核验
版本、维护信息与本页采用的官方资料来源。
本次核验覆盖 Hexo 的核心定位、主要能力、官方入口与开源许可。项目版本持续更新,具体补丁版本、兼容性和迁移要求请在采用前继续核对官方发布记录。
官方仓库未归档,核验时最近可见的代码活动日期为 2026 年 7 月 24 日。该状态表示项目近期仍有公开维护活动,不代表固定发布频率或长期支持承诺。