Hexo NexT更多功能设置
本文继续讲述我是怎么持续折腾我的Hexo静态博客的。本文的主要内容有站点分析、站点地图、相关文章、设置圆角与简繁转换。
本文运行环境:
1 | npm: 6.14.7 |
注意,对于使用 Hexo 5.0 版本及以上、NexT v8.1.0 版本及以上的读者,默认的自定义配置文件已经从 source/_data/next.yml
变更为 _config.next.yml
,请注意迁移与替换。对于日后 NexT 可能会出现的重大更新造成的配置变动,可能会在此处更新,或另外写文章说明。
站点分析
Google Analytics
参考官方指南,首先去Google Analytics建立一个账号,随后就可以得到UA开头的跟踪ID,填入source/_data/next.yml
里google_analytics
的tracking_id
即可。
Baidu Analytics(百度统计)
参考官方指南,首先去百度统计,新增一个网站,复制统计代码中的hm.src = "https://hm.baidu.com/hm.js?[这里的数据]"
,填入source/_data/next.yml
里baidu_analytics
即可。
站点地图与搜索引擎优化
Google站点地图
首先运行:
1 | npm install hexo-generator-sitemap |
在_config.yml
加入:
1 | sitemap: |
随后打开Google网站站长,输入自己的站点之后进行验证(去自己的域名商加一条TXT记录即可)。也可以通过在source/_data/next.yml
的google_site_verification
写入验证代码后缀来完成验证。等待一段时间验证通过后,提交站点地图即可,后缀为sitemap.xml
。
百度站点地图
事先说明,GitHub是不允许百度爬取的,所以如果要用这个功能,你需要把网站换一个地方部署。
如果要做的话,首先运行:
1 | npm install hexo-generator-baidu-sitemap |
在_config.yml
加入:
1 | baidusitemap: |
随后打开百度资源搜索平台,添加你的网站,你可以采用CNAME验证方式,也可以通过在source/_data/next.yml
的baidu_site_verification
写入验证代码前缀来完成验证。随后便可以提交站点地图,你也可以安装插件设置自动提交,详情见上面的两篇文章。
必应站点地图
在Google站点地图的基础上,打开Bing网站管理员工具,你可以直接用Google Search Console验证,也可以手动验证,Bing提供了三种验证方式。你也可以把验证代码粘贴到source/_data/next.yml
的bing_site_verification
处。随后便可以提交站点地图。
配置robots.txt
存放在source
目录下。它告诉搜索引擎哪些内容可以被爬取,哪些不可以。内容你可以自行决定,因为每个人的网站结构都有一些不同。
我目前使用的内容如下:
1 | User-agent: * |
缩减URL层级
URL层级太深对搜索引擎也不友好。我们可以修改_config.yml
里的# URL
部分:
1 | - permalink: :year/:month/:day/:title/ |
这样就把原来的四层改为了一层。
注意,这样更改并部署之后,如果你配置了LeanCloud,那么原来的计数和留言会清零。你需要去LeanCloud后台存储菜单的结构化数据里更改一下Comment和Counter的URL,把它们映射到新的URL上面。
相关文章推荐
参考插件主页,首先运行以下命令:
1 | npm install hexo-related-popular-posts |
随后在source/_data/next.yml
中开启related_posts
即可。我自己在source/_data/styles.styl
做了一些式样调整:
1 | // popular posts header |
设置圆角
1 | $border-radius-inner = 20px 20px 20px 20px; |
1 | // sidebar |
设置简繁转换
首先还是下载这份文件,并存入source/js/tw_cn.js
。随后在source/_data/next.yml
里开启footer: source/_data/footer.njk
,并新建此文件。随后将要添加的模板代码添加到这里即可。
在我的使用场景下,我做了一点点小改进,把简繁转换放在了标题下方。要实现这个功能,需要开启的就不是footer.njk
,而是postMeta: source/_data/post-meta.njk
,并新建此文件。
随后在文件中写入(为了节省空间,也对显示文字做了少许修改):
1 | <span class="post-meta-item"> |
重新部署页面,就可以看到简繁转换在标题下方了,比在页面底部方便一些。