hexo博客迁移到新电脑
这篇文章结合备份和迁移hexo博客和其他的一些博客文章来进行创作。
hexo框架的简单原理结构
其中,前四个是文件夹,后四个是文件
- node_modlues是存放模块的一个目录,在我们初始化博客(hexo init)的过程中自动执行npm install这个命令生成这样的一个模块目录
- public文件夹是hexo g命令产生的一个html静态文件目录,执行hexo d就会上传这个public文件夹里面的所有内容
- scafflolds主要存放博客的一些模版,默认有draft.md,page.md,post.md这三个,我们一般修改post.md也就是博客的模板就行了。
- source文件夹主要就是存放博客的一些基本内容,如里面的_post文件夹存放博客文章,其他的自己看看就行了
- theme文件夹存放的是主题,自己用的是哪个主题可以看一下github上相关的介绍来进行操作
- package.json是一个包管理器,主要是用于管理和组织项目的依赖、脚本命令以及项目信息。
- yarn.lock也是一个包管理器,这个先不用管
- _config.yml是一些基本配置文件
- _config.xxx.yml是主题配置文件
package.json
和 node_modules
文件夹有密切关系:
- **
package.json
**:这是一个包含项目元数据和依赖信息的配置文件。它列出了项目所需的所有 npm 包及其版本信息(即依赖)。 - **
node_modules
**:这是一个自动生成的文件夹,用于存放通过 npm 安装的所有依赖包。当你运行npm install
时,npm 会根据package.json
中列出的依赖项下载并安装相关包,并将它们存储在node_modules
文件夹中。
简而言之,package.json
描述了项目需要哪些依赖,node_modules
存放了这些依赖的实际文件。
安装git和nodejs
.github和.gitignore和.git都和git有关
其中安装git和nodejs这里就不讲了,这个网上有很多教这个的,在这里就不赘述了。
备份原来电脑上的内容
1 | git init #初始化git仓库 |
其中可以把最后三个简化一下,用一个shell文件来执行,这个里面的内容不懂得可以问一下AI,都是比较基础的。然后新建一个push.sh文件把下面的内容放进去。在终端中输入./push.sh就可以一键上传到github仓库了,不过是之前的操作无误的前提下。
1 | !/bin/sh |
上传到github仓库上时有些内容没有上传上去,这是因为hexo将这些文件添加到了.gitignore里面,这些本来就没必要上传,所以不用在意。
但是需要注意的是(我当时犯的错误)主题文件夹如我的是butterfly文件夹,这个里面可能会自带.git文件,这个必须删掉,不然上传的时候也无法上传上去。具体的原因可以自己搜一下。这个当时给我害死了git clone 含有子模块的项目
hexo博客如何迁移到新电脑
安装hexo环境
1 | npm install -g cnpm --registry=https://registry.npmmirror.com#安装cpnm,npm的镜像源,可有可无,npm慢的话可以试一下这个 |
1 | npm install hexo-cli -g #全局安装hexo |
配置ssh密钥
- 生成 SSH 公钥
ssh-keygen -t rsa
- 不断回车
- 如果公钥已经存在,则自动覆盖
- 命令介绍
ssh-keygen
是生成 SSH 密钥对的工具。-t rsa
指定了密钥的类型为 RSA(即使用 RSA 算法生成公钥和私钥)。- 行该命令后,会生成一对公钥和私钥,默认存储在
~/.ssh/id_rsa
和~/.ssh/id_rsa.pub
文件中。私钥(id_rsa
)用于身份验证,而公钥(id_rsa.pub
)则可以被添加到远程服务器(如 GitHub、GitLab、服务器等)上的授权密钥列表中,以便安全地进行无密码登录或操作。
- Gitee 设置账户共公钥
- 获取公钥
cat ~/.ssh/id_rsa.pub
== 本地生成的 SSH 公钥和私钥默认存储在 用户主目录的 .ssh 文件夹 中 ==
- 刚才
- 验证是否配置成功
ssh -T git@gitee.com
- 获取公钥
git clone 仓库ssh地址
1 | git clone <仓库ssh地址> |
克隆完仓库之后我们也可以先修改一下文件名,然后进入到文件夹里面进行操作
npm install
执行npm install
安装相关依赖项,这里我们提过。会生成node_modlues文件夹还有其他依赖项。
好像还有要再安装一遍hexo的部署插件,这个我忘了是不是必须的,但是弄一遍总是没啥问题的。
npm install --save hexo-deployer-git
到此就结束了,然后就是hexo cl&&hexo g&&hexo d
丝滑连招推送到github上去。