曾经一度多次尝试过在github上写博客,包括使用hexo,后来不知不觉就冷却了,那是在换电脑之前。今天又心血来潮,又把这个流程捡起来,遇到了些问题,记录下。
前提:
- 有个github账号
- 安装 nodejs,git
- 有个shell环境
安装 hexo
1 | npm install hexo-cli -g |
创建一个文件夹,进入执行hexo init,然后会生成一些hexo的模板文件
运行本地的hexo server,在浏览器访问localhost:4000可以看到一个demo
然后就需要把hexo生成的静态文件托管到github中,在github中new一个vonzhou.github.io的仓库(vonzhou是我的用户名)
hexo g会在public目录下生成所有的静态文件,手动push到vonzhou.github.io,然后访问浏览器vonzhou.github.io可以看到OK了。但是这样每次很耗时。所以急需自动部署。
hexo工作目录下生成的_conifg.yml是一些配置,其中可以配置deploy的策略,如下:
1 | deploy: |
然后继hexo g生成所需的静态文件后,可以运行 hexo d进行自动部署到对应的仓库,这里需要安装插件:
1 | npm install hexo-deployer-git --save |
然后出现问题 “FATAL Permission denied (publickey)”,需要生成SSH key
1 | ssh-keygen -t rsa -C "your_email@example.com" |
我设置的密码和github登录密码一样,然后将~/.ssh/id_rsa.pub文件中的内容拷贝,进入github的setting中设置到SSH Key中。
然后,ssh一下github,OK后,hexo d就妥妥的了。
1 | $ ssh -T git@github.com |
最后还出现了一个问题“FATAL EACCES: permission denied, unlink ‘/Users/vonzhou/Workspace/hexo/.deploy_git/css/style.css’”,使用sudo hexo d就好了。