GitHub Pages && Coding Pages && Hexo && 个人域名:个人博客搭建

  花了两天时间搭建了个人博客,期间参考了很多网络上的教程,同时也踩下了很多印象深刻的坑。关于博客搭建网上已经有很多人分享了经验,这里就不在重复了,这篇文章中主要记录一下自己在博客搭建过程中,所参考的教程,以及所遇到的问题和解决方法。

博客搭建

环境配置

    环境配置和软件安装主要参考《GitHub+Hexo 搭建个人网站详细教程》,包括GitHub创建个人仓库,Git、Node.js和Hexo的安装。所安装的软件版本如下:

1
2
3
4
5
6
7
8
9
10
11
$ git --version
git version 2.20.1.windows.1

$node -v
v10.15.0

$ npm -v
6.4.1

$ hexo -v
hexo: 3.8.0

   根据该篇文章中的教程,进行博客的初始化,并将博客推送到GitHub仓库,之后便可以通过网址<账户名>.github.io访问个人博客。同时购买自己的个人域名,如果想同时将博客托管在Coding net上,此处可先不不要解析到自己的Github博客网址,下面会提到这个问题。

  由于Github服务器在国外,访问速度有时候比较慢,导致博客打开较慢,同时Github封禁了百度爬虫,因此我们可以同时将自己的博客托管在Coding net上,通过域名分流解析,使得境内的访问解析到Coding net上。将Hexo博客部署到Coding net 参考教程《Hexo博客同时部署到GitHub和Coding》,该教程中注意,此处必须先将Hexo博客成功部署到Coding上,才能开启Coding 项目的Pages服务。

Next主题

  博客部署完成之后,就需要选择一个美观一点的主题。一开始自己选用的是BlueLake主题,但是主题配置过程中,出现了一些问题,由于这个主题使用人比较少,很多问题网上也找不到解决办法,所以推荐新手还是选择Next主题,用的人比较多,网上各种插件、教程也比较多。之后可以再选择其他好看的Hexo主题

  Next主题的配置主要参考教程《绝配:hexo+next主题及我走过的坑》。

注意

(1)由于6.0版后的Next主题更新已经转移到其他仓库,该教程中的Next主题安装命令应由

$ git clone https://github.com/iissnan/hexo-theme-next themes/next

修改为

$ git clone https://github.com/theme-next/hexo-theme-next themes/next

(2)该教程中有教如何安装douban插件的,若安装了该插件必须注意不能够使用hexo d简写命令部署网站,必须使用全称hexo deploy,此外,部署的过程中还会出现错误:

DeprecationWarning: fs.SyncWriteStream is deprecated.

这是由于node和hexo插件的版本带来的问题:在node8.x的版本中,fs.SyncWriteStream被弃用了。在网上 搜这个问题,有很多文章提到更新hexo-fs插件即可,但不知道为什么,更新之后还是存在这个问题。最后通过grep命令可以查询到fs.SyncWriteStream在*\node_modules\hexo-admin\node_modules\hexo-fs\lib\ fs.js文件的第718行,注释掉改行就可以了。

(3)其实next主题有很多介绍在主题config.yml文件中都有介绍,仔细看其中的介绍和所给出的链接网址,就可以知道其中各个插件有什么作用,并不需要一味的到网上找教程,因为next主题会不断更新,因此有些教程中有些细节和自己所下载的有些细小区别。

域名解析

  上述已经搭建好博客,接下来就可以将自己购买的域名绑定自己的博客地址了。同样可以使用第一个和第二个教程中介绍的方法进行解析设置。为了使博客能够快速打开,应将境内的访问解析到Coding net上,而将境外的访问解析到GitHub上。注意,此处应先将自己购买的域名绑定Coding net, 然后再绑定Github, 如果先绑定了Github,则在绑定Coding pages域名时,会出现域名未连通的提示。Coding pages给出的解释如下:

域名未连通

其他问题,可见Coding Pages 常见问题

SEO优化

  部署完博客和绑定域名后,为了能够通过百度和谷歌搜索自己的博客,还需要为博客添加sitemape并进行SEO优化。添加百度sitemap方法可参考《Hexo 博客添加百度sitemap》, 添加谷歌sitemap以及SEO优化方法可见《Hexo博客Next主题SEO优化方法

注意

(1)当百度站长添加管理的网站为Github网址,使用HTML标签验证时,使用HTML标签验证验证失败,原因:未知原因:301。不知道是不是因为Github封禁了百度爬虫的原因,此处可以改为自己绑定的所购买的域名。采用HTML标签验证,如果没成功的话(我就没成功),可以再采用CNAME验证的方法。

(2)对于SEO优化中所提到的Baidu主动提交链接方法, 注意修改博客配置config.yml文件中的url为自己所购买的域名。此外,deploy有多个type时,如下:

1
2
3
4
5
6
7
8
9
10
deploy: 
- type: git
repo: https://github.com/<账户名称>/<账户名称>.github.io.git
branch: master

- type: git
repo: https://git.coding.net/<账户名称>/<账户名称>.git
branch: master

- type: baidu_url_submitter

type前面的横杠 - 不能少,否则会出现错误:

FATAL duplicated mapping key at line **, column **: type: baidu_url_submitter

总结

  以上就是自己搭建博客过程,和所参考的文章。next主题自带有很多功能,可以在主题配置config.yml文件中进行探索。