hexo博客换电脑
最近由于实验室换了新电脑,所以要重新配置一下新的博客环境。
在网上看了很多,什么创建分支之类的,但是感觉说的都不清楚。
本文的操作基于有之前的hexo备份。
参考:知乎第二高票回答
环境安装
首先安装Node.js 和Git.直接用安装包安装就可以。
然后再安装hexo。
由于npm国内安装太慢,所以我们将源改成国内的淘宝镜像。
如果遇到npm install hexo
报错:npm WARN deprecated swig@1.4.2: This package is no longer maintained
也按照如下步骤执行:
npm config set registry "https://registry.npm.taobao.org"
然后再安装hexo
cnpm install -g hexo-cli
备份hexo
下面就将原来的文件拷贝到新电脑中,但是要注意哪些文件是必须的,哪些文件是可以删除的。
- 讨论下哪些文件是必须拷贝的:首先是之前自己修改的文件,像站点配置_config.yml,theme文件夹里面的主题,以及source里面自己写的博客文件,这些肯定要拷贝的。除此之外,还有三个文件需要有,就是scaffolds文件夹(文章的模板)、package.json(说明使用哪些包)和.gitignore(限定在提交的时候哪些文件可以忽略)。其实,这三个文件不是我们修改的,所以即使丢失了,也没有关系,我们可以建立一个新的文件夹,然后在里面执行hexo init,就会生成这三个文件,我们只需要将它们拷贝过来使用即可。总结:_config.yml,theme/,source/,scaffolds/,package.json,.gitignore,是需要拷贝的。
- (2)再讨论下哪些文件是不必拷贝的,或者说可以删除的:首先是.git文件,无论是在站点根目录下,还是主题目录下的.git文件,都可以删掉。然后是文件夹node_modules(在用npm install会重新生成),public(这个在用hexo g时会重新生成),.deploy_git文件夹(在使用hexo d时也会重新生成),db.json文件。其实上面这些文件也就是.gitignore文件里面记载的可以忽略的内容。总结:.git/,node_modules/,public/,.deploy_git/,db.json文件需要删除。
配置新环境
在git bash中切换目录到新拷贝的文件夹里,使用 cnpm install
命令,进行模块安装。很明显我们这里没用hexo init
初始化,因为有的文件我们已经拷贝生成过来了,所以不必用hexo init
去整体初始化,如果不慎在此时用了hexo init
,则站点的配置文件_config.yml里面内容会被清空使用默认值,所以这一步一定要慎重,不要用hexo init
。
为了使用hexo部署,我们需要安装
cnpm install hexo-deployer-git --save
如果原来安装了其他插件的在这里也要重新安装,安装完之后需要配置文件_config.yml的要重新配置
到这里,运行hexo g
, hexo s
,在本地预览网站应该没问题了。
设置SSH
但是此时我们还不能部署,因为需要设置新电脑的SSH。
在 Git Bash 下执行如下命令,生成 SSH key
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
其中,your_email@example.com 是你的 Github 注册邮箱,剩下的一路回车即可。
将 SSH key 添加到 ssh-agent
在 Git Bash 下执行如下命令,开启 ssh-agent
eval "$(ssh-agent -s)"
将这个 SSH key 添加到 ssh-agent 里去
ssh-add ~/.ssh/id_rsa
将 SSH key 添加到 Github 账户
在 Git Bash 中将 SSH Key 拷贝出来:
clip < ~/.ssh/id_rsa.pub
此时,SSH Key 已经在我们的剪切板里了。然后登录 Github 帐号,依次点击自己的头像,Settings,SSH and GPG keys, Add SSH key, 在 Title 这里输入 Key 的label,比如 your_name - PC,然后在 Key 里面把 SSH Key 粘贴进去,点击 Add SSH key 大功告成。
测试 SSH 连接,在 Git Bash 中敲入
`ssh -T git@github.com`
应该可以看到提示你成功的信息。
执行hexo deploy
应该就可以大功告成了。