利用Hexo搭建自适应的个人博客

发送到手机
使用"扫一扫"即可发送至手机

目前主流的博客搭建方式似乎主要也是两种,一是用WordPress,二是利用Markdown+一些模板生成器生成静态页面。这里选择第二种,博客页面也可以选择直接托管在GitPage上。那么,整个的流程就很简单:建立GitPage,利用其性质可以做到类似于HTTP服务器的效果,然后利用Hexo模板生成器把写好的Markdown文章生成为静态网站并发布到GitPage上。这时博客已经算是搭建好了。最后,还可以再申请一个个人域名并解析到GitPage上,这样就可以通过这个域名访问自己的博客了。

GitPage

使用GitHub

这部分就不再详细记录了,基本操作从廖雪峰老师的《Git教程》中找到。

创建GitPage

创建GitPage实际上就是建立一个名称特殊的repository而已。

创建新的repository时,将repository name填写成为username.github.io就可以了。username就是github的用户名。

创建成功后,当访问username.github.io时,repository里的内容就像是被放在了一个HTTP服务器里被访问一样。不过现在里面的内容还是空的,所以访问时会产生404错误。

Hexo

GitPage已经创建好了,现在要做的是安装一个模板生成器来生成整个的网站页面。这样做以后,写博客的过程就会被简化为写Markdown的过程。

模板生成器目前的主流选择主要有jekyll和hexo,前者应该是Ruby写的,后者是Node.js。我没有去详细比较两者的优劣,只是本着方便的原则选了后者。

Node.js和npm

Node.js可以去官网上下载安装。

安装完毕后,npm这个Node.js的包管理器也会被一并安装好,下面就要通过它来安装Hexo了。

Hexo

这部分具体的操作可以参考Hexo的官方手册,这里只简单记录一下。

$ npm install -g hexo

执行上面这条命令安装hexo,在我安装的时候出现了权限不足的情况,加了个sudo就好了。

安装好后就可以找个地方创建用来生成自己博客的目录了,比如我在~/Develop/下建立了个myblog目录。建立好之后,切换到目录下,执行:

$ hexo init

然后就建立了一套目录结构。

_config.yml是配置文件,基本的配置都在这里进行。

source/中存储mardown文件,写好的文章可以放在这里,用来进一步生成静态页面。

themes/里存放了模板文件,生成的网站的样子取决于用了什么模板。这个目录下又有一层类似于这套目录结构的文件结构,模板同样具有自己的配置文件等。

public\存放了生成后的静态网站,最终就是要把这些文件pull到GitPage上。

去Hexo官网上找一套自己喜欢的模板下载安装配置好,就可以尝试生成网站了。

添加博客页面。hexo n或hexo new可以添加博客页面,不过我觉得更方便的方法是直接写了Markdown扔到source/下。

生成静态网站。hexo generate或hexo g或hexo generate --watch。--wathc可以对比上次的文件,只生成变动了的文件。

注意:source\中必须至少有一篇文章才能进行,hexo倒是自带了一篇,结果我把它删了之后一直执行不成功,最后Google之才了解还有这么一条限制。

测试。hexo server或hexo s,然后可以在本地预览效果。

把静态网站推送到GitPage上。两种方法:(1)使用git命令push。(2)使用hexo deploy命令。在使用这条命令之前,先在_config.yml中设置好关于deploy的内容。

域名

事实上,到这一步之前博客就已经算是搭建成功了,通过访问username.github.io就已经能够访问自己的博客,通过hexo g与hexo deploy也可以将自己写的文章转换格式并推送到博客上。

那么,这一步的主要目的就是申请一个自己希望的域名,把域名与GitPage绑定,进而能够通过访问该域名来访问自己的博客。

申请域名

国内申请域名需要备案,如果不愿意搭建一个小的个人博客都要跑这么一趟行政流程的话,那还是选择国外的域名服务商吧。

然后,大家都说Godady好,那我也就从GoDady申请域名了。Godady经常会做优惠,Google之,可以找到优惠码。

Godady支持支付宝付款,对于我这种没有信用卡的人来说,这一点是必须的……但是偶尔会出现付款时没有支付宝选项的情况,有人说可能是优惠码的原因,大幅度降价的优惠码可能不支持支付宝,但我遇到的这次好像并不是这样。我更改货币单位为RMB后支付宝选项就出现了。

解析域名

域名申请成功后,显然需要DNS解析了才能使用。也就是说,需要将域名与想要访问的实际网络地址进行关联,这个域名才有实际的作用。

直接的情况,需要将域名映射到某个IP地址,但由于我使用的是GitPage,而不是自己架设的某个具有固定IP的站点,而username.github.io的IP地址并不固定。所以实际上我需要做的是将申请到的域名与username.github.io这个地址绑定,也就是所谓的CNAME。

DNSPod

Godaday本身提供DNS解析的服务,但是据说使用它的服务有可能会导致被墙……所以还是考虑其他的服务商吧。

大家都说DNSPod好,所以我就选择了DNSPod。

域名解析 –> 添加域名。添加上购买的域名就好了,如果是一级域名,这里是不用填写www的。

添加记录。

主机记录:@    记录类型:CNAME    记录值:username.github.io
主机记录:www  记录类型:CNAME    记录值:username.github.io

在Godady中选择第三方域名解析服务,并添加DNSPod的解析服务器地址。

总结

利用GitPage与Hexo搭建个人博客大概就是这么一件事,其实没有什么复杂的东西,甚至根本不需要什么教程,期间遇到的一切问题都可以通过文档与搜索引擎解决。

利用Hexo搭建自适应的个人博客

利用Hexo搭建自适应的个人博客

分享: