hexo搭建github博客
1. 前提条件
- 已有GitHub账号
- (Mac)已安装Xcode command line tools
- 安装的工具我使用的是npm和brew
2. 安装git与Node.js
1 | brew install git |
3. 安装Hexo
1 | npm install -g hexo-cli |
为了便于发布到GitHub上,建议同时安装hexo-deployer-git
1 | npm install hexo-deployer-git --save |
4. 初始化,建立博客项目
选定博客网站项目程序文件的存放位置,如~/develop/hexo/github/
,Bash中cd进入该目录下,执行命令:
1 | hexo init |
执行完毕后,该命令将在当前目录下生成一套标准的Hexo博客项目模板
5. 生成网站
上面的操作只是生成了一套网站构成所需的“源代码”,实际发布时需要根据这套“源代码”当中的配置文件、博客文档(.md文件)、主题模板等,进行组合构建,生成服务器可识别的标准HTML网站目录,此时可使用该命令:
1 | hexo g |
执行完毕后,在public
目录下可看到我们自己书写的博客文档(.md文件)与所选的博客主题模板链接组合,生成的最终静态网站文件,该目录也差不多就是之后发布到GitHub上的实际文件(实际发布到GitHub的是.deploy_git目录),外部的网站“源代码”不会上传到github.io
库
6. 启动本地服务器
启动本地服务器可即时查看网站运行效果:
1 | hexo s |
默认地址是 localhost:4000
7. 选择主题
Hexo可随时使用、更换博客主题
主题文件可在Hexo官方主题网页中下载,以Material为例,点击主题预览图下方的主题名称链接即可进入该主题的源码发布页面 GitHub - viosey/hexo-theme-material: Material Design theme for hexo.
根据主题安装指导,下载项目至博客项目下的themes
目录中,文件夹命名为material
,并在博客配置文件_config.yml
中指定使用该主题:
1 | theme: material |
将material主题目录下的_config.template.yaml
重命名为_config.yaml
参考Material主题文档进行必要配置
再次执行 hexo g
将会根据新主题重新构建整个博客
注意:
1.5.6版本在执行hexo g
时会报出TypeError错误,可参考Issue686修改dnsprefetch.ejs文件解决
8. 发布博客
8.1 创建github.io仓库
在自己的GitHub中,创建新仓库,标准命名为GitHub用户名.github.io
,例如我的:wavky.github.io
仓库Readme、License之类的留空即可,之后在发布上传时会被强制覆盖抹掉
8.2 配置SSH密钥
参考 https://my.oschina.net/ryaneLee/blog/638440配置SSH密钥一节
8.3 修改博客配置文件_config.yml
1 | deploy: |
8.4 发布到GitHub
在hexo g
生成完毕后,可执行该命令发布博客到GitHub上:
1 | hexo d |
或在生成网站的同时进行发布:
1 | hexo g -d |
8.5 查看效果
点击仓库页面中的GH Pages按钮,应该可以看到真正发布在互联网上的效果
9. 绑定域名
GitHub Pages 默认提供的是 GitHub用户名.github.io
(例如我的:wavky.github.io)作为博客访问地址,可设置绑定自定义域名
在博客项目目录的source文件夹中,创建一个CNAME文件,存储预备使用的个人域名,如:
1 | # 在source目录下 |
清理Hexo缓存并重新生成发布
1 | hexo clean |
GitHub项目页面中Setting设置界面,滚到GitHub Pages部分确认域名无误
在个人域名提供商(如阿里云万网)中,进入DNS设置界面,追加一条CNAME记录,这里我指定以story前缀的个人域名跳转到原来的默认的博客域名wavky.github.io
,记录如下:
注:其他类型的域名绑定方式(例如IP指向等),在最后一步DNS设置中操作会不一样
作者:Wavky
链接:https://www.jianshu.com/p/cb0750324e26
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。