本文首发于我的Hexo博客:https://likianta.coding.me/2017/DocManageBg/1228165758/
本文假设你已完成基本建站工作,仅对部署时出现的各种问题进行详细解答。
配置文件要严格按照书写规范
yml对缩进和空格要求很严格,每个英文冒号后面必须有一个空格,该缩进的地方必须要有缩进(比如下面的后三行代码):
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: git@github.com:likianta/likianta.github.io.git
branch: master
部署命令错误ERROR Deployer not found: git
这是因为你还没有安装hexo-deployer-git
插件(Hexo 3.0以上版本默认是未安装的)。因此你需要手动安装:
$ npm install hexo-deployer-git --save # 安装此插件
$ hexo d # 安装完成后重新输入部署命令,则成功部署
deploy后Github网页内容没有更新
使用ctrl+f5强制刷新。
网页css样式为空
我们的配置文件_config.yml
中有这样一段注释:
# URL
## If your site is put in a subdirectory, set url as ‘http://yoursite.com/child’ and root as ‘/child/’
url: http://yoursite.com
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:
意思就是说如果你的博客站点是在一个子目录,那么要把这个子目录加上去。
比如说我有一个个人网站“www.hellomusic.com”,这个网站是主打音乐分享的,blog只是我的站点的一个子功能,那么我想把所有的文章放到这个子路径:
# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://hellomusic.com/blog
root: /blog/
permalink: :year/:month/:day/:title/
permalink_defaults:
否则就不要修改。尤其是不要把你的博客根目录(hexo初始化的目录)加进去,否则会出现server端能够正常显示、到了Github上就出现主题样式丢失的问题。
如果你之前错误地把自己的根目录写在root
后面了,改回来后会发现浏览器一直自动将你导向错误的子站点并且反复提示“Cannot GET \xxx”,那么你需要清理缓存、重启浏览器后才能正常。
如何部署到Coding网站?
国内访问Github的速度比较慢,Coding是国内的代码托管网站,速度较快。
假设你已完成Github的部署工作,现在想要在Coding部署一遍。按照以下步骤执行:
1. 打开C:\Users\你的用户名\.ssh\
文件夹,用记事本打开其下的id_rsa.pub
文件,全选复制里面的文字:
2. 在Coding网站登录你的帐户,新建公开项目,如下图所示:
3. 创建完成后点击 项目 - 设置 - 部署公钥 - 在右侧面板点击个人公钥(千万不要用默认的企业公钥) - 输入公钥名称并粘贴你的ssh公钥 - 点击创建完成(如下图所示):
4. 回到项目页面,点击 Pages服务 - 选择master分支:
5. 接着打开本地博客的根目录中配置文件_config.yml
,新增一行代码:
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: git@github.com:Likianta/likianta.github.io.git
repo: git@git.coding.net:Likianta/likianta.git # 网址的大小写不限制
branch: master
最后在CMD
or Node.js command prompt
or Git Bash
or Git CMD
中输入命令:clean&生成&部署:
$ hexo clean && hexo g && hexo d