Hexo备份及博文模板配置

为了防止误操作或意外情况导致的 Hexo 博客源文件丢失,或满足我们更换电脑进行写作的需求,所以需要进行备份。

需要备份的文件和目录

而在进行备份时,并不需要将整个博客目录全部备份,只需备份几个用户自定义的文件和配置

scaffolds 文章的模板,需要备份

source 文章和页面等源文件,需要备份

themes 主题文件与配置,需要备份

_config.yml 用户配置信息,需要备份

package.json 模块列表,需要备份

不需要备份的文件和目录

node_modules 安装的模块,不用备份

public 生成的文件静态网页文件,不用备份

db.json 网页数据文件,编译生成静态网页时会自动更新,不用备份

package-lock.json 依赖的模块安装记录,不用备份

此外如果主题目录下有.git 这个隐藏目录也可以删掉或者如下面所讲加入.gitignore 文件中在备份时忽略掉

备份到 GitHub

  1. 在 GitHub 创建一个私密仓库 hexo-source,仓库名字随意,建议设置为私密仓库。
  2. 在你的站点目录下增加一个.gitignore 文件设置需要忽略的文件和目录,在其中添加不需要备份的内容:
1
2
3
4
5
6
7
8
9
Text
node_modules/
public/
.deploy_git/
_config.landscape.yml
package-lock.json
db.json
themes/*/.git/
.DS_Store
  1. 备份你的站点源文件到仓库 hexo-source,其中your_token为你的GIthub访问Token,username为你的Github用户名
1
2
3
4
5
git init
git add *
git commit -m "$(date): Hexo backup"
git remote add origin https://your_token@github.com/username/hexo-source.git
git push -u origin main

恢复你的 Hexo 站点

  1. 初始化一个 Hexo 站点。
  2. 从 GitHub 下载备份的内容到该 Hexo 站点目录下:
1
git clone https://your_token@github.com/username/hexo-source.git
  1. 使用备份的 package.json 文件来恢复安装 Hexo 插件,使用 npm 进行安装:
1
npm install

这将读取 package.json 文件中的依赖项列表,并下载并安装所需的插件和模块。

  1. 生成静态网页并部署即可。

脚本化

有了上面的基础,可以在站点目录下创建bash文件,用来简化操作

  1. 文件hexp_backup.sh,用于备份Hexo源代码
1
2
3
4
5
6
7
echo "-------------------------添加文件-------------------------"
git add *
echo "-----------------------提交本地备份------------------------"
git commit -m "$(date): Hexo backup"
echo "-----------------------提交到远程仓库----------------------"
git push -u origin main
echo "-----------------------备份源代码完成----------------------"
  1. 文件hexp_new_post.sh,用于按照模板创建新博文
1
2
3
blog_name="博客-$(date +'%Y-%m-%d %H:%M:%S')"
hexo new "$blog_name"
echo "-----------------------$blog_name.md 创建成功----------------------"
  1. 文件hexp_publish.sh,用于编译部署站点
1
2
3
4
5
echo "-----------------------清理本地缓存----------------------"
hexo clean
echo "------------------------开始部署------------------------"
hexo d -g
echo "------------------------部署结束------------------------"
  1. 文件hexp_publish_backup.sh,用于整合部署和备份,通常写完博文后执行这个文件
1
2
3
4
5
bash hexo_publish.sh
echo "------------------------开始备份源码-------------------------"
bash hexo_backup.sh
echo "-----------------------全部部署流程完成----------------------"
echo "访问:http://archiewang.site"

Hexo备份及博文模板配置
https://archiewang.site/2024/08/22/博客-2024-08-22-22-14-04/
作者
Archie Wang
发布于
2024年8月22日
更新于
2024年8月31日
许可协议