从零开始搭建Hexo博客:完整指南

前言

拥有一个个人博客是每个技术人的梦想。它不仅是知识积累的载体,更是展示自我的窗口。今天,我将分享如何使用 Hexo + GitHub Pages 搭建一个美观、高效的个人博客。

什么是 Hexo?

Hexo 是一个基于 Node.js 的静态博客框架,具有以下优势:

  • 快速生成:Hexo 基于 Node.js,编译速度极快,几百篇文章只需几秒
  • Markdown 支持:使用 Markdown 写作,专注内容本身
  • 丰富的主题:社区提供了大量精美主题,如 Butterfly、AnZhiYu、Next 等
  • 插件生态:支持各种功能扩展,搜索、评论、统计等应有尽有
  • 一键部署:支持 GitHub Pages、Vercel、Netlify 等多种部署方式

环境准备

1. 安装 Node.js

前往 Node.js 官网 下载并安装 LTS 版本。安装完成后验证:

1
2
3
4
5
node -v
# v18.x.x 或更高版本

npm -v
# 9.x.x 或更高版本

2. 安装 Git

前往 Git 官网 下载安装,并配置基本信息:

1
2
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

安装 Hexo

1. 初始化项目

1
2
3
4
npm install -g hexo-cli
hexo init my-blog
cd my-blog
npm install

2. 本地预览

1
2
hexo server
# 访问 http://localhost:4000 预览博客

主题配置

我选择的是 AnZhiYu(安知鱼) 主题,它功能丰富、界面美观。

安装主题

1
git clone -b main https://github.com/anzhiyu-c/hexo-theme-anzhiyu.git themes/anzhiyu

启用主题

修改 _config.yml

1
theme: anzhiyu

主题配置

在项目根目录创建 _config.anzhiyu.yml,将主题的配置项复制进去进行自定义。主要可配置项包括:

  • 导航菜单:自定义顶部导航栏
  • 首页布局:轮播图、文章卡片样式
  • 侧边栏:作者信息、标签云、最新文章等
  • 评论系统:支持 Waline、Twikoo 等
  • 搜索功能:本地搜索或 Algolia

写作流程

创建新文章

1
hexo new "我的第一篇文章"

Front-matter 说明

每篇文章开头可以设置丰富的元数据:

1
2
3
4
5
6
7
8
9
10
---
title: 文章标题
date: 2026-01-15 10:00:00
tags: [标签1, 标签2]
categories: 分类名
description: 文章描述
cover: 封面图URL
toc: true # 是否显示目录
ai: AI摘要内容 # AI 摘要
---

常用命令

命令 功能
hexo new "标题" 新建文章
hexo new page "页面名" 新建页面
hexo generate 生成静态文件
hexo server 本地预览
hexo deploy 部署到远程
hexo clean 清除缓存和生成的文件

部署到 GitHub Pages

1. 创建仓库

在 GitHub 上创建 username.github.io 仓库。

2. 配置部署

_config.yml 中配置:

1
2
3
4
deploy:
type: git
repository: git@github.com:username/username.github.io.git
branch: main

3. 一键部署

1
2
npm install hexo-deployer-git --save
hexo clean && hexo generate && hexo deploy

部署完成后,访问 https://username.github.io 即可看到你的博客!

优化建议

  1. 图片优化:使用 WebP 格式,配合 CDN 加速
  2. SEO 优化:合理设置 keywords、description,提交站点地图
  3. 加载速度:开启懒加载、压缩 CSS/JS
  4. 备份策略:将源码推送到单独的分支或仓库

总结

搭建博客的过程虽然有些繁琐,但当看到自己的文字在互联网上呈现时,一切努力都是值得的。希望这篇教程能帮助你顺利搭建属于自己的博客。如果你在搭建过程中遇到任何问题,欢迎留言交流!

记住:博客的价值不在于多么华丽的外表,而在于持续输出有价值的内容。