what is hexo
hexo 是一个基于GitHub pages托管能力(当然也可以自己直接发布)构建自己博客的一个nodejs 框架,用来搭建自己博客是很方便的。
构建GitHub pages博客
在使用hexo博客前最好先使用GitHub pages搭建好自己的博客服务,具体教程参考搭建GitHub_pages博客并配置自定义域名cdn加速
安装hexo
在安装使用hexo之前,需要先安装nodejs,具体教程参考nodejs安装配置
node安装完成以后,就可以安装hexo了,打开控制台:
1
2
3
4
5 全局安装hexo命令
npm install -g hexo-cli
验证是否安装成功
hexo --help
初始化博客
创建一个目录,进入到这个博客内部执行初始化命令
1
hexo init
在执行命令的时候,遇到一个报错,这个报错是由于小飞机代理引起的,修改gitcofig即可。
报错如下:
1
2
3
4
5
6
7
8
9
10
11 INFO Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
fatal: 无法访问 'https://github.com/hexojs/hexo-starter.git/':LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
WARN git clone failed. Copying data instead
FATAL {
err: [Error: ENOENT: no such file or directory, scandir '/usr/local/lib/node_modules/hexo-cli/assets'] {
errno: -2,
code: 'ENOENT',
syscall: 'scandir',
path: '/usr/local/lib/node_modules/hexo-cli/assets'
}
} Something's wrong. Maybe you can find the solution here: %s http://hexo.io/docs/troubleshooting.html
解决方式是编辑git的配置文件:
1
vim ~/.gitconfig
写入一下内容,端口是你自己小飞机的端口:
1
2
3
4
5
6
7
8 [user]
name = wkCaeser
email = wkCaeser@gmail.com
[http]
proxy = socks5://127.0.0.1:10808
[https]
proxy = socks5://127.0.0.1:10808
改好以后再重新执行hexo init命令即可,执行完成后目录就多了如下内容:
然后执行如下操作来查看自己初始化的博客:
1
2
3
4
5 编译生成博客
hexo g
本地启动博客服务
hexo s
然后浏览器中输入 http://localhost:4000 就可以看到自己初始化的博客页面了。
发布到GitHub pages
找到刚刚生成的博客目录下的_config.yml,写入GitHub pages仓库的地址信息:
1 | # gihub pages cname的域名 |
然后找到source目录,创建CNAME文件,文件内容为在GitHub上配置自定义域名,例如我的是:
1 | blog.wkcaeser.com |
然后执行发布命令:
1 | 发布到GitHub 需要先配置GitHub的ssh-key |
然后发现报了下面这个错:
1 | guimokai@wk-mbp:~/Desktop/vs_code_workspace/blog$ hexo d |
这是因为缺少hexo-deployer-git插件,安装后重新执行发布命令即可:
1 | npm install hexo-deployer-git --save |
然后就可以通过自己GitHub pages的链接访问博客了,例如我的是 www.wkcaeser.com
写文章
使用命令如下命令就可以生成新文章了,
1 | hexo new post "article title" |
也可以直接在source/_post目录下直接新建md文档。
编写完以后,就可以重新生成,然后发布了
1 | hexo clean |