更换电脑后转移Hexo

之前一直考虑Hexo的异地更新问题,例如在下午学校电脑上更新一篇文章后,晚上回家要在下午更新的那篇文章的基础上,再更新一篇文章。这种情况下同步是主要要解决的问题。

当新建Hexo文件夹的时候,可以发现hexo init的时候会创建一个.gitignore文件。众所周知.gitignore文件的用途是Git添加到工作区、暂存区的时候忽略项目中文件名包含在.gitignore里的文件。那么官方的意思就很明显了,让我们使用Git来对这个文件夹进行管理,而Git的拿手好戏正是检查项目版本的异同,更改情况,然后更新,同步。

了解这一点之后,我们就可以使用Github或Coding或其他的代码托管平台进行异地同步Hexo。还有一点是,Github和Coding都有部署静态页面的Pages页面对Hexo这种博客网站有着天生的契合性。

首先在Github或Coding上建立两个项目(也有说法可以同一个项目设置两个branch,但由于还没测试成功过,所以不在此讨论),分别储存Hexo配置文件夹(暂命名为master)和部署的静态网站页面(即hexo g命令部署出来的public/文件夹里的页面,暂命名为blog)。然后更改master里的_config.yml配置文件:

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
    type: git
    repo: #blog仓库ssh地址
    branch: #主分支master

以上是更改部署方式为git,通过git部署到blog仓库。但是使用git部署方式需要安装npm的git部署插件:

$ npm install hexo-deployer-git --save

另外,如果你的博客是主域名是一个主页,博客放在另一个文件夹里,例如主域名domian.com存放的不是博客而是一个类似聚合页面的主页,博客放在domain.com/blog页面里,这时候可能hexo s测试时页面加载正确,但部署后会发现css没有加载,这个时候要更改master里的_config.yml:

root: /blog/

然后在另一台电脑上,首先克隆master仓库(添加ssh之类的基础操作不作说明。blog仓库主要是部属用,本地无需修改,以后更改也只是更改master仓库的内容,因此只需克隆这一个仓库即可。)

因为Hexo需要Node.js,所以要先安装Node.js。然后安装Hexo:

$ npm install -g hexo-cli

然后需要在项目文件夹里安装Hexo,以代替hexo init这一步:

$ npm install hexo --save

如果这个时候没有安装Hexo就使用Hexo命令例如hexo s,会提示有错误:

$ hexo s
ERROR Local hexo not found in ~\Desktop\hexo
ERROR Try running: 'npm install hexo --save'

提示中也告知了解决方法。

等安装完毕再执行hexo s,也许会报错,也可能没有,原因是有的主题会需要依赖没有安装。这时候就回归之前写的一篇文章了,以maupassant主题为例:

$ npm install -g cnpm --registry=https://registry.npm.taobao.org
$ cnpm install hexo-renderer-pug --save
$ cnpm install hexo-renderer-sass --save

这样就能同步之前所有的配置,并继续之前的进度。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容