Hexo Docs

unopread

Hexo 部署

准备环节

node.js 环境 安装node.js

确保已安装 Node.js(推荐 LTS 版本)和 Git。若尚未安装,可前往 Node.js 官网 下载,Git 可在 git-scm.com 获取。

安装 Hexo 命令行工具:

1
npm install -g hexo-cli

验证安装:

1
hexo version

若出现权限错误,可尝试使用 sudo(macOS/Linux)或以管理员身份运行(Windows),或配置 npm 全局路径。

Hexo 启动

通过 hexo init 初始化一个全新的博客项目,自动生成基础文件结构。

初始化站点:

1
2
3
hexo init my-blog
cd my-blog
npm install

生成静态文件并启动本地服务器,即可在浏览器中预览。

生成与预览:

1
2
hexo generate   # 可简写为 hexo g
hexo server # 可简写为 hexo s

执行后访问 http://localhost:4000 即可看到默认博客。

常用组合命令:hexo s -g 可在启动服务器前自动生成;hexo clean 清除缓存文件后重新生成可解决部分显示异常。

Hexo 写作

使用 hexo new 创建新文章,文件默认位于 source/_posts/ 目录下。

创建文章:

1
hexo new "我的第一篇博客"

该命令会在 source/_posts/ 中生成一个 Markdown 文件,初始内容包含 Front Matter:

1
2
3
4
5
---
title: 我的第一篇博客
date: 2026-06-12 15:52:04
tags:
---

Front Matter 是文件头部的 YAML 区块,可定义标题、日期、分类、标签等元数据。<!-- more --> 用于设置摘要分割线,之前的文字会作为文章摘要显示在列表页。

常用的写作辅助命令:

1
2
3
hexo new draft "草稿标题"          # 创建草稿,存放在 source/_drafts
hexo publish draft "草稿标题" # 将草稿发布为正式文章
hexo new page "关于" # 创建独立页面(如“关于”页)

文章支持 Markdown 语法,也可嵌入 HTML。资源文件(如图片)可放置在 source/images/ 或使用文章资源文件夹(需配置 post_asset_folder: true)。

Hexo 主题

主题决定了博客的外观和布局,Hexo 拥有丰富的社区主题,如 NexT、Butterfly、Icarus 等。

安装主题(以 NexT 为例):

1
2
cd themes
git clone https://github.com/next-theme/hexo-theme-next themes/next

安装完成后,需修改站点配置文件 _config.yml 中的 theme 字段。

1
2
# _config.yml
theme: next

每个主题通常有独立的配置文档,需要配置时请查阅对应主题的说明。部分主题支持更细粒度的样式、导航、第三方服务集成等。

更新主题(进入主题目录执行 git pull):

1
2
cd themes/next
git pull

若需要自行修改主题,建议使用配置文件覆盖或创建子主题,避免直接修改主题源文件,方便后续升级。

Hexo 插件

Hexo 拥有强大的插件系统,通过安装插件可扩展 RSS 生成、站点地图、部署到云平台等功能。

安装插件的通用方式:

1
npm install 插件名 --save

常用插件举例:

  • 部署到 Git 仓库(如 GitHub Pages):

    1
    npm install hexo-deployer-git --save

    随后在 _config.yml 中配置部署信息:

    1
    2
    3
    4
    deploy:
    type: git
    repo: <repository url>
    branch: [branch]
  • 生成 RSS 订阅

    1
    npm install hexo-generator-feed --save
  • 生成站点地图(sitemap)

    1
    npm install hexo-generator-sitemap --save

安装插件后通常需重新生成站点(hexo clean && hexo g)才能生效。部分插件会在站点配置中生成相应的配置项,请参考插件文档进行调整。

检查已安装插件列表:npm ls --depth=0