博客维护方法
摘要:Hexo 博客的日常维护速查手册——从生成、预览到部署的全流程命令,以及如何删除文章和管理主题。
Hexo 博客维护速查手册
如果你和我一样,隔段时间才写一篇博客,那么每次打开项目的时候大概率已经忘了命令。这篇文章是我自己用的速查手册,涵盖 Hexo 博客从写作到部署的完整流程。
写作流程
创建新文章
1 | hexo new post "文章标题" |
这会在 source/_posts/ 下生成一个 Markdown 文件。文件名会自动以标题生成,格式为 文章标题.md。
你也可以指定文章类型:
1 | hexo new page "关于我" # 创建页面 |
Front-matter 模板
每篇文章顶部的 YAML 头信息决定了文章的元数据。常用字段:
1 |
|
分类支持多级嵌套,写法有两种:
1 | categories: |
Tags 同样支持多个标签:
1 | tags: |
草稿机制
如果文章写到一半暂时不想发布,可以先放到草稿中:
1 | hexo new draft "未完成的文章" |
草稿存放在 source/_drafts/ 目录,不会在生成时包含。需要发布时:
1 | hexo publish "未完成的文章" |
构建与预览
三条核心命令
1 | hexo clean # 清除缓存和已生成文件 |
hexo clean 会删除 public/ 目录和缓存。在遇到页面更新不生效的情况时,先 clean 再 generate 可以解决大部分问题。
hexo s 默认监听 http://localhost:4000,支持热重载——修改 Markdown 文件后刷新浏览器即可看到变化。如果想指定端口:
1 | hexo s -p 5000 |
日常写作工作流
打开本地预览,边写边看效果:
1 | hexo s |
写完后生成并部署:
1 | hexo clean && hexo g && hexo d |
如果你用的是 Git 管理源码,别忘了把新增的文章也提交上去:
1 | git add source/_posts/新文章.md |
部署到线上
GitHub Pages 部署
在 _config.yml 中配置:
1 | deploy: |
确保已安装部署插件:
1 | npm install hexo-deployer-git --save |
然后执行部署:
1 | hexo d |
hexo d 会将 public/ 目录的内容推送到配置的远程仓库分支上,GitHub Pages 会自动完成后续的构建和上线。
部署常见问题
部署时如果遇到冲突,通常是 public/ 和远程分支历史不一致导致的。解决方法是强制推送(仅在你确定远程内容可以覆盖时使用):
1 | # 进入 public 目录手动处理 |
或者更简单的方式——重新生成后再部署:
1 | hexo clean && hexo g && hexo d |
如果提示找不到 git 部署插件,安装即可:
1 | npm install hexo-deployer-git --save |
删除文章
有几种方式可以删除不需要的文章。
方式一:直接删除文件(推荐)
1 | # 删除本地文件 |
注意,删除后需要重新生成和部署:
1 | hexo clean && hexo g && hexo d |
方式二:转为草稿
如果只是暂时不想公开,可以移到草稿目录:
1 | mv source/_posts/unwanted-post.md source/_drafts/ |
这样文章不会被生成,但内容保留,以后需要时可以 hexo publish 恢复。
管理主题
主题存放在 themes/ 目录下。默认使用的是 landscape 主题,也可以切换到其他主题。
安装新主题
大多数 Hexo 主题通过 Git 子模块或直接 clone 的方式安装:
1 | git clone https://github.com/主题作者/主题仓库.git themes/主题名 |
然后在 _config.yml 中切换:
1 | theme: 主题名 |
更新主题
如果主题是通过 Git 管理的,直接拉取更新:
1 | cd themes/主题名 |
主题配置
每个主题通常有自己的 _config.yml(位于 themes/主题名/_config.yml),与 Hexo 的全局 _config.yml 是分开的。主题配置一般包括:
- 导航菜单
- 社交链接
- 评论系统(Gitalk、Disqus 等)
- 统计代码
- 侧边栏组件
- 代码高亮风格
修改主题配置后需要重新生成才能看到效果。
配置文件说明
Hexo 项目有两个层级的配置:
| 文件 | 作用 |
|---|---|
_config.yml |
站点全局配置(标题、URL、部署等) |
themes/主题名/_config.yml |
主题专属配置(外观、组件等) |
站点配置要点
1 | # 站点信息 |
附:常用速查
1 | hexo new post "标题" # 新建文章 |
日常使用频率最高的三个:
1 | hexo s # 写作时,边写边看 |
记住这句就够了。