部署Hexo
2017-03-04
macOS 环境下部署 Hexo
安装 hexo
- 安装 node ,查看版本:
1 | brew install node |
- 需要安装 npm,检查并查看版本:
1 | npm -v |
- 安装 hexo:
1 | npm install -g hexo-cli |
- 完成后查看版本:
1 | hexo version |
- 初始化:
1 | cd /Users/time/code |
这是我的安装路径,可自行更改
- 生成静态页面:
1 | hexo generate |
- 本地启动:
1 | hexo server |
配置 _config.yml :略。
选择主题安装:
1 | git clone https://github.com/GallenHu/hexo-theme-Daily.git themes/daily |
有的主题安装还需要:npm install hexo-renderer-jade –save 具体看各个主题的说明。
_config.yml 文件中,把themes 改为 daily
写新文章
1 | hexo new 'my test' |
会生成文章 md 文件:~/code/hexo_blog/source/_posts/my-test.md
github 配置
- 在 github 上新建一个项目:Time02.github.com
Time02 填写的是我的 github 用户名,此处是 gitpage 格式要求
- 配置 git
1 | git config --global user.email "[email protected]" |
此处填写你的 github 邮箱和用户名
- 生成 sshkey
1 | ssh-keygen -t rsa -C "[email protected]" |
默认位置:/Users/time/.ssh/id_rsa
使用编辑器打开 /User/time/.ssh/id_rsa.pub ,复制内容。
打开 github.com -> setting -> ssh and GPG keys 粘贴保存。
测试:ssh -T [email protected]
部署
1 | hexo deploy -g |
报错:ERROR Deployer not found: git
解决办法:
1 | npm install hexo-deployer-git --save |
打开 https://time02.github.io ,即你的 hexo blog
部署成功后,查看 console 报错 404
1 | https://time02.github.io/css/variables 404 |
- 解决:可以在source目录里加入 .nojekyll 文件,然后更改 hexo的 _config.yml 加入以下配置:
1 | include: |
这样在 hexo -g 的时候就会包含 .nojekyll 文件了
- twitter.svg 报错
1 | net::ERR_BLOCKED_BY_CLIENT |
经过排查是 Adblock 给屏蔽了…
自定义域名:
在根目录下新建 CNAME 文件,无后缀,填写你的自定义域名:blog.timeicode.com。
进入域名后台管理,添加一条解析:
记录类型 | 主机记录 | 解析线路 | 记录值 |
CNAME | blog | 默认 | time02.github.io |
- 根据你的域名服务商的不同,等待不同时间,我的是万网1分钟就可以访问二级域名了。
安装插件
- hexo-generator-sitemap 生成网站地图
1 | npm install hexo-generator-sitemap --save |
- 后来发现不匹配百度,用这个hexo-generator-baidu-sitemap
1 | npm install hexo-generator-sitemap --save |
在 _config.yml 文件中添加:
1 | baidusitemap: |
本文参考:不如的博客
每个人情况不一样,以上只是我的操作和遇到的坑。