Files
blog/source/_posts/Hexo添加文章完整教学.md
T

378 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Hexo 添加文章完整教学
date: 2026-07-26 09:00:00
tags: [Hexo, 博客, 教程]
categories: 教程
cover: /images/Hexo 添加文章完整教学/efd8105608be4a03ba9d1ef67ce41b6f-blackwhite.png
description: 从创建文章到发布上线,完整介绍 Hexo 添加文章的流程、Front-matter 配置、图片管理和常见问题。
---
Hexo 是一个基于 Node.js 的静态博客框架。写文章时,我们只需要准备 Markdown 文件,Hexo 就会把它转换成 HTML 页面。
本文以一个已经安装好的 Hexo 博客为例,介绍从创建文章到发布上线的完整流程。
## 一、准备工作
开始之前,请确认已经安装:
- Node.js
- npm
- Hexo CLI
- Git(如果需要部署到远程仓库)。
在博客根目录执行以下命令,确认环境正常:
```bash
node -v
npm -v
hexo -v
```
Hexo 博客的文章默认保存在:
```text
source/_posts
```
本文中的命令都应在 Hexo 项目根目录执行,也就是能看到 `_config.yml``package.json` 的目录。
## 二、创建一篇新文章
最推荐使用 Hexo 命令创建文章:
```bash
hexo new "我的第一篇文章"
```
执行成功后,Hexo 会在 `source/_posts` 目录生成一个 Markdown 文件,例如:
```text
source/_posts/我的第一篇文章.md
```
也可以直接使用 npm 脚本(如果项目已经配置):
```bash
npx hexo new "我的第一篇文章"
```
文件名可以使用中文、英文或数字。为了兼容不同系统和部署环境,建议使用简洁的英文或拼音,例如:
```text
hexo-add-post.md
```
## 三、认识 Front-matter
新文章顶部由一对 `---` 包围的内容叫 Front-matter,它用于设置文章的标题、日期、标签等信息。
```yaml
---
title: 我的第一篇文章
date: 2026-07-26 09:00:00
tags: [Hexo, 教程]
categories: 博客
description: 这是文章摘要。
---
```
常用字段说明如下:
| 字段 | 作用 | 示例 |
| --- | --- | --- |
| `title` | 文章标题 | `title: Hexo 入门` |
| `date` | 发布时间 | `date: 2026-07-26 09:00:00` |
| `updated` | 修改时间 | `updated: 2026-07-26 10:00:00` |
| `tags` | 文章标签 | `tags: [Hexo, 教程]` |
| `categories` | 文章分类 | `categories: 博客` |
| `cover` | 封面图片 | `cover: /images/hexo/cover.jpg` |
| `description` | 摘要或描述 | `description: Hexo 使用教程` |
| `comments` | 是否开启评论 | `comments: true` |
| `toc` | 是否显示目录 | `toc: true` |
| `mathjax` | 是否启用数学公式 | `mathjax: true` |
| `permalink` | 自定义文章链接 | `permalink: hexo-add-post/` |
| `published` | 是否发布 | `published: false` |
其中 `title` 是必填项。其他字段是否生效,取决于当前主题是否支持。例如 Butterfly 主题支持封面、目录和评论等配置。
## 四、编辑文章正文
Front-matter 结束后,在下面使用 Markdown 编写正文:
~~~markdown
---
title: 我的第一篇文章
date: 2026-07-26 09:00:00
tags: [Hexo, 教程]
categories: 博客
---
## 文章小标题
这里是正文内容,可以使用 **粗体**、*斜体* 和 [链接](https://hexo.io/)。
```javascript
console.log('Hello Hexo!');
```
~~~
建议使用二级标题 `##` 作为正文的章节标题,不要在正文中重复写文章标题,因为主题通常会自动显示 `title`
## 五、设置标签和分类
一篇文章可以有多个标签,但通常只设置一个主分类:
```yaml
tags:
- Hexo
- Markdown
- 博客搭建
categories: 技术教程
```
下面两种写法也都可以:
```yaml
tags: [Hexo, Markdown]
categories: 技术教程
```
分类表示文章所属的栏目,标签表示文章涉及的主题。比如:分类可以是“教程”,标签可以是“Hexo”和“部署”。
## 六、添加文章封面和正文图片
### 1. 使用图床或外部地址
```yaml
cover: https://example.com/images/cover.jpg
```
正文中直接引用:
```markdown
![图片说明](https://example.com/images/example.jpg)
```
### 2. 使用博客本地图片
`source` 目录下创建图片目录:
```text
source/images/hexo-add-post/cover.jpg
```
然后在文章中使用:
```yaml
cover: /images/hexo-add-post/cover.jpg
```
正文图片写法:
```markdown
![Hexo 添加文章流程](/images/hexo-add-post/create-post.png)
```
如果希望图片和 Markdown 文件放在同一个目录,可以在 `_config.yml` 中启用:
```yaml
post_asset_folder: true
```
之后创建文章时,Hexo 会生成同名资源目录:
```text
source/_posts/我的第一篇文章.md
source/_posts/我的第一篇文章/
```
将图片放入该目录,并使用资源路径:
```markdown
{% asset_img example.jpg 图片说明 %}
```
不同主题对资源标签的支持情况可能不同。若显示异常,使用 `source/images` 加绝对路径通常更稳定。
## 七、使用草稿功能
如果文章还没有写完,可以创建草稿:
```bash
hexo new draft "未完成的文章"
```
草稿默认保存在:
```text
source/_drafts/未完成的文章.md
```
预览草稿:
```bash
hexo server --draft
```
写完后,将草稿发布到文章目录:
```bash
hexo publish "未完成的文章"
```
发布后文件会从 `source/_drafts` 移动到 `source/_posts`
## 八、本地预览文章
保存文章后,启动本地服务器:
```bash
hexo clean
hexo generate
hexo server
```
然后在浏览器访问:
```text
http://localhost:4000
```
开发时可以使用简写命令:
```bash
hexo clean && hexo server
```
`hexo server` 通常会自动生成页面。若修改后浏览器没有更新,可以先执行 `Ctrl+C` 停止服务,再重新运行 `hexo clean && hexo server`
## 九、生成静态文件
确认文章内容无误后,生成最终的静态页面:
```bash
hexo clean
hexo generate
```
生成结果默认位于:
```text
public
```
如果只想生成某一篇文章,可以使用:
```bash
hexo generate --path hexo-add-post/
```
## 十、部署到远程服务器
如果项目已经配置好部署参数,可以直接执行:
```bash
hexo deploy
```
常见的完整发布流程是:
```bash
hexo clean
hexo generate
hexo deploy
```
如果博客源码本身也使用 Git 管理,还需要提交并推送源码:
```bash
git add source/_posts/Hexo添加文章完整教学.md
git commit -m "docs: add Hexo post tutorial"
git push origin main
```
具体的部署命令取决于博客使用的 GitHub Pages、服务器、Vercel 或其他平台。不要把密码、令牌和私钥直接写入文章或提交到仓库。
## 十一、常见问题
### 1. 文章没有显示
依次检查:
1. 文件是否位于 `source/_posts`
2. Front-matter 是否以 `---` 开始和结束;
3. `title``date` 是否正确;
4. 是否误设置了 `published: false`
5. 是否执行过 `hexo clean`
6. 文章日期是否晚于当前时间。
### 2. 中文文件名导致链接异常
部分服务器或主题对中文 URL 的处理不一致。可以在 Front-matter 中指定英文链接:
```yaml
permalink: hexo-add-post/
```
### 3. 标签或分类没有出现
确认字段格式正确,并检查主题是否开启了标签页和分类页。推荐使用:
```yaml
tags: [Hexo, 教程]
categories: 教程
```
### 4. 图片无法显示
检查图片是否位于 `source` 目录内、路径大小写是否一致,以及引用路径是否以 `/` 开头。部署到 Linux 服务器时,`Cover.jpg``cover.jpg` 会被视为两个不同文件。
### 5. 修改文章后页面仍是旧内容
清理缓存并重新生成:
```bash
hexo clean
hexo generate
```
同时清理浏览器缓存,或使用无痕窗口检查。
## 十二、推荐的完整工作流
以后每次添加文章,可以按照下面的顺序操作:
```bash
# 1. 创建文章
hexo new "文章标题"
# 2. 编辑 source/_posts/文章标题.md
# 3. 本地预览
hexo clean
hexo server
# 4. 确认无误后生成
hexo clean
hexo generate
# 5. 部署上线
hexo deploy
# 6. 如果源码使用 Git,则提交源码
git add .
git commit -m "docs: add new post"
git push
```
## 总结
Hexo 添加文章的核心流程只有四步:
1. 使用 `hexo new` 创建 Markdown 文件;
2. 编辑 Front-matter 和正文;
3. 使用 `hexo server` 本地预览;
4. 使用 `hexo generate``hexo deploy` 生成并发布。
掌握这套流程后,日常写作只需要专注于 `source/_posts` 目录中的 Markdown 文件即可。