用Hexo和GitHubPages搭建博客

拥有自己的网站总是一件很酷的事,早就想自己写一个博客了。因为并没有深入学习前端,之前实验课模仿饿了么的商家入驻页面,一个页面写了几天才搞得差不多。虽然写前端也很吸引人,但果真我还是更喜欢写后台。最近在一个面试群里看到有人发自己的博客。用的是wordpress,听说这样很方便,于是就去搜了搜,于是就发现了HEXO。哇塞连后台都不用写了。虽然最近又有一大堆东西要复习。反正管它呢,搭了再说!

准备工作

因为要用到GithubPages,所以首先在GitHub新建一个仓库,用来存放githubPages的项目文件。 GithubPages分为两种,个人页面和项目页面,个人页面每个用户只有一个,仓库名格式一定要为XXX.github.io。

下载安装node.js(安装hexo会用到)。node.js会自动将安装路径添加到环境变量。路径下有npm的命令行文件。
npm是包管理工具。可以从NPM服务器下载别人编写的第三方包,或者命令行。也可以上传自己编写的供别人使用。

将npm镜像更换为淘宝镜像,因为从国内访问原版镜像很慢。命令行执行:

1
npm install -g cnpm --registry=https://registry.npm.taobao.org

安装后就可以使用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm

安装并部署hexo

创建一个文件夹,名为Myblog,在该文件夹路径下按shift+鼠标右键打开powershell,使用cnpm安装Hexo:

1
cnpm install -g hexo-cli

安装完成后,初始化博客,其中blog是项目名称(可以修改为你想要的名称):

1
hexo init blog

新建一篇文章(markdown格式)

1
2
cd blog
hexo new "My First Blog"

会在/blog/sources/_post/目录下生成My-First-Blog.md文件。

使用Hexo引擎将md文档格式渲染为html文件,并放入博客项目之中(blog/public/年/月/日/文章名 目录下)。

1
hexo generate

修改项目部署配置文件

打开项目配置文件_config.yml,最后一行是部署配置,我们打开注释中的文档网址可以看到相关配置的含义。根据文档提示修改配置文件。

1
2
3
deploy:
type: git
repo: https://github.com/XXXXX/XXXXX.github.io.git #之前创建的那个仓库的完整路径

保存关闭。

安装git部署插件

1
cnpm install hexo-deployer-git --save

部署

1
2
3
hexo clean
hexo g #hexo generate的缩写
hexo d #hexo deploy的缩写

部署成功后就可以访问啦!
路径是XXX.github.io

域名解析

首先在你的本地项目路径/source文件夹下创建一个文件名为CNAME,在其中写入你的域名。如

1
alphabet.com

然后保存.
在项目路径打开Powershell

1
hexo g -d      #重新生成文件并部署

在github打开该仓库的设置页面,就是如下这个页面

1
https://github.com/xxx/xxx.github.io/settings

找到GitHub Pages,在其中的Custom Domain中填入自己的域名。

打开cmd,ping 你的项目路径,即XXX.github.io,你会得到一个ip地址,记住这个地址。
然后打开你的域名管理页面,在其中添加两个解析条目

主机记录 记录类型 记录值
@ A IP地址
www CNAME xxx.github.io

这样就OK了,访问域名就可以访问到自己的hexo博客了。
可以在github选择EnforceHTTPS,这样就算是http请求,也会被转为HTTPS。根据github的提示,只需要在域名解析中添加
以下四个条目中至少一个就可以了

主机记录 记录类型 记录值
@ A 185.199.108.153
@ A 185.199.109.153
@ A 185.199.110.153
@ A 185.199.111.153

至此,如果不出意外的话,就可以从域名访问到GithubPage了!

主题更换

如果觉得默认主题不好看的话,可以在这里选择自己喜欢的主题。具体的配置根据每个主题下的ReadMe来修改就可以了。