基于github的Hexo博客的备份与恢复

由于经常重装系统,现在博客又是用的hexo托管在github pages上的,难免需要备份和恢复,这里记录一下使用github仓库对Hexo渲染的博客进行备份,以及一些恢复流程。

声明:

本文档的一切内容均为本地测试结果,受限于本人知识与能力,仅供参考,如因参照本文档操作而发生任何问题,无论是否严格参照本文档操作,请恕本人概不负责。

文档中的任何观点受限于本人知识、能力及眼界,不保证理智,公正,客观。如本文档中观点与您相左,以您的意见为准。

备份

这部分没什么好说的,新建一个github仓库用于存放就行,当然也不是所有文件都需要备份,以下是.gitignore文件内容:

1
2
3
4
5
6
7
8
node_modules/
public/
.deploy_git/
themes/landscape/

package.json
package-lock.json
db.json

恢复

nodejs环境搭建

nodejs官网下载地址

个人习惯于下载使用解压即用的二进制文件包,接下来的流程以此为基础。

下载完成后解压,将得到的文件夹放到自己喜欢的位置(我此次放置的路径为D:\Program Files\nodejs\node-v16.16.0),同时在文件夹内新建俩个文件夹

node_global

node_cache

效果如图:

添加系统环境变量 NODEJS_HOME 值为 D:\Program Files\nodejs\node-v16.16.0 (自行替换为自己的路径)

在系统环境变量 Path 中添加值 %NODEJS_HOME%%NODEJS_HOME%\node_global

打开cmd,输入 node -v 能显示版本号则配置成功

命令行执行(自行替换自己的文件夹路径)

1
2
3
npm config set prefix D:\Program Files\nodejs\node-v16.16.0\node_global

npm config set cache D:\Program Files\nodejs\node-v16.16.0\node_cache

完成

git安装使用

下载安装,配置用户名,邮箱,生成密钥

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

ssh-keygen -t rsa -C "邮箱"

登录github,将新生成的密钥添加到github。

hexo环境恢复

npm换源

1
2
npm install --location=global nrm --registry=https://registry.npm.taobao.org
nrm use taobao

hexo安装

1
2
npm install hexo-cli --location=global
npm install hexo --location=global

新建文件夹在此文件夹执行

1
hexo init

删除新建文件夹中的两个文件

1
2
_config.landscape.yml
source/_posts/hello-world.md

git克隆下备份的博客文件,将新建文件夹里生成的文件复制粘贴过去,有重名文件不替换。

新建的文件夹可以删除了。

以下均在git克隆的文件夹中执行

修改/package.json文件中的scripts,添加

1
2
"deploy": "hexo clean && hexo g -d",
"start": "hexo clean && hexo g && hexo s"

注:原有的deploy需删除

执行(不同的人用的插件不一样,这里是我自己用的)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# git提交
npm install hexo-deployer-git -s

# 配合vscode的paste image插件完成图片插入
npm install https://github.com/CodeFalling/hexo-asset-image --save

# 隐藏首页文章
npm install hexo-generator-index2 --save
npm uninstall hexo-generator-index --save

# 恢复next主题
git clone https://github.com/next-theme/hexo-theme-next themes/next

# 生成站点地图
npm isntall hexo-generator-sitemap --save

安装vscode插件paste image

关于主题中的图片

如果是本地图片,目录文件夹可自定义,但必须在 source 目录下,博客与主题的 source 目录最终会合并,因此优先选择博客的 source。

在主题目录的source文件夹里新建一个img文件夹,将站点所需的图片资源放入。


基于github的Hexo博客的备份与恢复
https://www.jingshan256.com/Hexo_blog_backup_and_restore_based_on_github/
作者
景杉256
发布于
2022年7月15日
许可协议