Hexo 的一些额外配置

和 Hexo 相关的一些小配置、小功能就都放这里了。
目录:

  • 域名 & DNS
  • README.md
  • 404 页面
  • 评论系统
  • 图床
  • 百度统计
  • apple-touch-icon

域名 & DNS

在 GitHub 上创建好username.github.io项目之后,会自动给你一个 http://username.github.io 域名以供访问。
如果你只是想搭建一个独立博客试试,对独立域名没有要求,那么现在你的独立博客已经 OK 啦。
如果你想长期经营这个博客,还是推荐你买一个独立域名的,也不贵,每年就几十块钱。
域名推荐在 GoDaddy 上买,安全保险,支持支付宝,优惠码在网上一搜一大堆,流程也很简单。唯一费脑筋的就是,要想一个既简单好记又没被别人注册的域名了。

GoDaddy 一切都很完美,直到遇到了 GFW,原因你肯定懂。所以要用国内的 DNS 服务替代 GoDaddy 的 DNS。DNSPod 做得还不错,也是免费的,功能强大,速度快,不用担心被和谐,把 DNS 服务迁移到DNSPod 来,解决后顾之忧,配置比较简单。

p.s.我的域名图省事,是在万网上买的(万网现在已经到阿里的名下了,应该还算靠谱吧),万网目前提供免费的隐私保护,另外如果你要备案的话,也推荐在万网购买域名,再买个最便宜的阿里云的 ECS,备案会方便一些。

绑定独立域名

在 Hexo 的 source 文件夹下面新建CNAME文件, 和 source/_post 文件夹并列,里面写入你的域名,比如windmt.com
然后ping http://<username>.github.io获取 IP 地址,配置到你的 DNS 服务商里就好了。

上传 README.md 文件

用过 GitHub 的都知道 README.md 是干嘛的,就不解释了。但是 Hexo 默认情况下会把所有 .md 文件解析成 html 文件,所以即使你在线生成了 README.md,它也会在你下一次部署时被删去。
解决办法如下:
在 Hexo 目录下的 source 根目录下添加一个 README.md,
修改 Hexo 目录下的_config.yml,设置skip_render

1
skip_render: README.md

保存退出, 这样使用hexo d命令就不会再渲染 README.md 这个文件了。

404 页面

如果没有绑定域名的话是无法创建 404 页面的,只会跳转到 GitHub 默认的 404 页面。
绑定了域名的话,可以直接在 source 文件夹下面创建自己的 404.html 或者 404.md 就可以。(GitHub Help - Custom 404 Pages)
也可以通过输入命令:

1
hexo new page 404

并设置 /source/404/index.md 里的 Front-Matter :permalink: /404

推荐腾讯的公益 404 页面,html 代码:

1
2
3
4
5
6
7
8
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script type="text/javascript" src="http://www.qq.com/404/search_children.js" charset="utf-8" homePageUrl="http://codingon.com" homePageName="返回主页"></script>
</body>
</html>

评论系统

2017年更新:多说已暂停服务,建议使用 Disqus
因为我是直接换了主题 yilia 后添加的多说评论,所以对于默认主题如何添加评论并不是太清楚(想必你也不会使用默认主题吧嘿嘿)。而第三方主题一般都会在其_config.yml中预留评论的配置。
比如 yilia 主题的配置文件中:

1
duoshuo: true # duoshuo-key

不要以为这个默认的值true是个布尔值,图样图森破~ 我绝对不会告诉你这是某人(谁知道呢)的 duoshuo-key,当时我看到我还未部署的文章就能那么多的评论,我惊呆了!!!结果只是虚惊一场。
这里你要到多说注册一个帐号,然后创建一个站点,其中你填到“多说域名”那里的就是你的 duoshuo-key,比如我的 http://windmt.duoshuo.com 那么我就配置

1
duoshuo: windmt

好了,这就 OK 了,去到你的一篇已发布的文章里,拉到最下边,是不是多了个评论框。
当然,你也可以用 Disqus友言等等第三方社会化评论系统。

图床

推荐使用七牛,免费,标准用户 10G 空间(体验用户 1G),支持自定义域名,并且 Hexo 有插件能自动同步上传到七牛(hexo-qiniu-sync)。只是体验用户升级为标准用户略显麻烦,需要经过激活邮箱、绑定手机、身份认证(上传身份证时记得打水印哦)这三步,估计是怕用户上传违规文件吧。
如果你也需要申请,请访问这个推广链接,这样我可以获得更多的流量(5GB);或者这个官网链接

添加百度统计

因某些原因,Google Analytics 访问不便。所以使用百度统计来替代。以主题 yilia 为例:

  1. 首先申请百度统计
    到其首页注册帐号(这个帐号不同于普通的在百度首页登录的那个帐号),选择百度统计站长版。注册成功登录后即自动跳转到了统计后台的“网站中心->代码获取”,那个输入框里的代码的就是一会我们要用到的。
  2. 编辑文件 themes/yilia/_config.yml,添加一行配置:

    1
    baidu_analytics: true
  3. 新建 themes/yilia/layout/_partial/baidu_analytics.ejs,内容如下:

    1
    2
    3
    4
    5
    <% if (theme.baidu_analytics) { %>
    <script type="text/javascript">
    //这里填上第一步中你的百度统计代码
    </script>
    <% } %>
  4. 编辑 themes/yilia/layout/_partial/head.ejs,在</head>前添加

    1
    <%- partial("baidu_analytics") %>
  5. 重新生成并部署你的站点。
    不出意外的话,在你的站点的每个页面的左上角都会看到一个恶心的百度 Logo。不过可以在在“百度统计首页->网站中心(上边导航)->系统管理设置(左边导航)->统计图标设置”中把“显示图标”前边的那个勾去掉,就没有那个 Logo 了。

添加 apple-touch-icon

这个 apple-touch-icon 类似于 favicon,只是这个是苹果专门为 Apple 设备配备的,比如 Mac 上用 Safari 保存个书签啦,iPhone 上保存个链接啦。
添加方法很简单,先编辑文件 themes/yilia/_config.yml,添加一行:

1
apple_touch_icon: # 图片放的位置 图片尺寸最好为180*180的

然后编辑 themes/yilia/layout/_partial/head.ejs,在</head>前添加:

1
2
3
<% if (theme.apple_touch_icon){ %>
<link rel="apple-touch-icon" href="<%- theme.apple_touch_icon %>">
<% } %>

重新生成并部署就好了。