使用 Github + Coding(腾讯云开发者平台) 搭建 Hexo 博客程序

Hexo 简介

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

前言

之前也用 Github / Github + Netlify 搭建过 Hexo 了;但无奈,访问加载效果不是很理想,毕竟静态耶,还这么慢怎么行(PS:不想浪费自己的服务器搭建)所以选择 Github 和 Coding 同时部署,是让国内用户访问 Coding国外用户访问 Github,调和下国内访问慢的问题;

准备工作

  • Github 账号 官网
  • Coding (腾讯云开发者平台)账号 官网
  • 本地 Node.js,npm(安装 Node 自带)环境 官网
  • 本地 Git 环境 官网

本教程是在 Mac 环境下完成的。Hexo 官方文档

安装

Github 操作

  • 到 Github 上新建项目,右上角 + 号 -> New Repository,
  • Repository name 填写 yourname.github.io,yourname 是你的用户名,例如:paynezhuang.github.io
  • 勾选 Initialize this repository with a README

WX20190405-093529@2x

Coding 操作

  • 到 Coding 上新建项目,右上角 + 号 -> 项目
  • 项目名称 paynezhuang,项目地址 payenzhuang.coding.me
  • 勾选 启用 README.md 文件初始化项目
  • 代码 -> Pages 服务,进行勾选同意

注意,这里有个重要点,如果你的项目名跟你的账户用户名一样;那你访问地址可以直接忽略项目进行访问,不会带有项目名;
一样的访问结果:paynezhuang.coding.me
不一样的访问的结果(izpan是项目名):paynezhuang.coding.me/izpan

WX20190405-093541@2x

WX20190405-093621@2x

本地操作

  • 下载安装 Hexo ,执行命令:
1
npm install hexo-cli -g
  • 为了后续发布到 Github 中,我们同时也安装:hexo-deployer-git
1
npm install hexo-deployer-git --save
  • 安装完了,可以 hexo -v 查看版本
  • 创建一个文件夹,例如 hexo
  • 进入文件夹中进行初始化
1
hexo init

初始化完了以后,我们本地测试下是否搭建成功,运行后访问:http://localhost:4000

1
hexo s

  • 修改 _config.yml
1
2
3
4
5
6
deploy:
type: git
repo: # 同时部署到github和coding
github: git@github.com:paynezhuang/paynezhuang.github.io.git
coding: git@git.dev.tencent.com:paynezhuang/paynezhuang.git
branch: master

配置 SSH 公钥

  • 因为要提交 git,在 coding 中需要配置项目的公钥;具体可以查看官网教程
  • 我这里直接贴图了

WX20190405-095331@2x

推送项目

  • 都部署完了以后,进行推送我们的项目到 Github 、 Coding 上
1
hexo clean && hexo g -d
  • 清理缓存并推送发布

WX20190405-095732@2x

访问网站

Coding

  • https://paynezhuang.coding.me

Coding

Github

  • https://paynezhuang.github.io

Github

开启 HTTPS

  • Github 自带强制 Https 访问了,可以在项目的 Setting 中查看 Pages 项,默认勾选 Enforce HTTPS

  • 同样的,Coding 在 Pages 中设置,开启 强制 HTTPS 访问 即可

自定义域名

  • 相信你们在开启 Https 的时候应该都看到自定义域名的选项了;
  • Github 中 Custom domain

WX20190405-100914@2x

  • Coding 中 绑定新域名

WX20190405-100930@2x

  • 解析两条 CNAME 记录,一条海外,一条国内
1
2
CNAME -> paynezhuang.coding.me
CNAME -> paynezhuang.github.io

WX20190405-101155@2x

WX20190405-101917@2x

大功告成