凌晨4点,总结hexo的坎坷

官方安装档

安装node.js

使用cmd,检查安装

1
2
3
4
node -v
npm -v
git --version
npm ls --depth 0

(最后一个是我遇到的,npm安装不全,坑爹,一晚上就被这个浪费时间,检查出问题的解决方法见最后)

cd 到blog文件夹

  1. 安装cnpm,建议选下面第一个命令来安装

    1
    2
    npm install -g cnpm --registry=https://registry.npm.taobao.org
    cnpm install
  2. 用npm安装hexo

    1
    npm install -g hexo-cli
  3. 初始化hexo

    cd到在blog文件夹中

1
2
3
4
5
hexo init blog #假设你的博客文件夹叫blog
cd blog
npm install
hexo g # 生成
hexo s # 启动服务

(这里失败请使用npm ls –depth 0检查漏了什么npm)

  1. 填写你都git账号信息
1
2
3
git config --global user.name "leewinmen"
git config --global user.email leewinmen@qq.com
ssh-keygen -t rsa -C "leewinmen@qq.com"

之后是ssh,到C:\Users\你的名字\ .ssh文件夹\ id_rsa.pub,打开它,复制到github或码云或者coding。

这里需要回车3次

4.1. 在Git中输入以下命令验证与github连接是否成功,

1
2
ssh -T git@github.com  #对于github
ssh -T git@e.coding.net #对于coding

输入yes回车
(4.1在git clone失败后使用)

  1. 配置CNAME,放到source文件夹下,
  2. 用编辑器打开你的blog项目,修改_config.yml文件的一些配置(冒号之后都是有一个半角空格的):
    deploy:
    type: git
    repository: git@github.com:leewinmen/leewinmen.github.io.git
    branch: master
    需要缩进格式加空格,填好保存,执行
    1
    npm install --save hexo-deployer-git

主题

1
2
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/Butterfly
hexo clean && hexo g

遇到的坑

第一个

出现
$ hexo d
ERROR Deployer not found: git
因为使用hexo deploy部署需要安装一个插件:

1
npm install --save hexo-deployer-git

意思是保存deploy的修改

第二个

修改了模板,但是没有生效?
修改了模板以后不生效,建议先hexo clean,然后再hexo generate。只执行hexo g,可能模板后者静态文件不会被替换。最后hexo d

第三个

查看 npm 安装各 hexo 插件的情况
npm ls –depth 0
比如我的就出现了
+– UNMET DEPENDENCY hexo-generator-category@^1.0.0
+– UNMET DEPENDENCY hexo-generator-index@^1.0.0
+– UNMET DEPENDENCY hexo-generator-tag@^1.0.0
+– UNMET DEPENDENCY hexo-renderer-ejs@^1.0.0
+– UNMET DEPENDENCY hexo-renderer-marked@^2.0.0
+– UNMET DEPENDENCY hexo-renderer-stylus@^1.1.0
`– UNMET DEPENDENCY hexo-server@^1.0.0

逐一安装缺失的包

1
2
npm install hexo-generator-category --save
npm install hexo-generator-index --save

.
.
如此类推,建议涉及到npm的最好用cmd来

第四个

LF will be replaced by CRLF,后来我知道其实这个不算是问题,出现是没关系的。
当然你可以把.deploy_git文件夹手动删除了,重新hexo deploy了一次

第五个

git clone下载速度慢

组车码云,新建仓库,从git中获取,输入需要clone的地址,最后从码云git clone

第六个

冒号少了空格,会出现以下情况

YAMLException: can not read a block mapping entry; a multiline key may not b

第七个

not a git repository (or any of the parent directories)

解决方案: 把.deploy_git和public文件夹删掉

第八个

hexo本地样式预览(hexo s)正常,部署(hexo d)以后就乱了,没有格式
产生的原因的css和js文件无法加载,样式丢失。

解决办法:
hexo站点根目录下的_config的url值,修改为你的网站域名。

参考了博客

码云和coding的部署

其实不管部署到哪里,其实不一样的地方只有2个,一个是填入本地生成的SSH Key,第二个是修改config.yml的deploy,
先来看C:\Users\你的名字\ .ssh文件夹\ id_rsa.pub里面的SSH怎么填写到不同的代码托管网站.

填写好后就是修改hexo的config.yml的repo了,这个地址需要前往仓库去看,

码云的平台比较特殊,偶尔你hexo d了他也没更新网页,你需要在page里面强制更新。

最后看看Coding

五点钟了已经,睡觉

hexo new ‘here is awesome’