背景
偶然机会在一篇博客上发现TagCloud(启明博客忘记了),效果觉得不错,如上图,而且点击tag直接跳转到对应tag的文章列表,决定在自己的博客中也加上TagClooud。
版本
id | name | version | remark |
---|---|---|---|
1 | Hexo | v3.8.0 | 系统版本 |
2 | NextT.Pisces | v7.0.1 | 主题版本 |
正文
实现TagCloud主要用到了hexo-tag-cloud插件,下面详细介绍一下实现过程。
安装hexo-tag-cloud
在blog根目录,执行以下命令:
1 npm install hexo-tag-cloud --save
执行完之后,在根目录的package.json文件中会自动加入安装的插件以及对应版本。
sidebar.swig文件修改
找到blog/theme/next/layout/_custom/sidebar.swig文件,添加下列代码到文件中。
1 | {% if site.tags.length > 1 %} |
也可以自定义Tag Cloud标题,加入自定义的样式。
重启server
执行完1、2步之后,需要重启服务,刷新主页,在sidebar处就会看见TagCloud。
1 | hexo g |
Next配置文件
在Next主题的_config.yml中,搜索tagcloud,发现一下代码:
1 | # TagCloud settings for tags page. |
看配置信息是TagCloud的相关配置信息,但是配置了之后,我发现TagCloud没有做出相应的变化。然而你打开自己的tags标签页,就会发现配置的在这里生效了。
样式
生成tag cloud之后,样式比较难看,但是在custome.styl文件加入自定义的样式,不生效。。。。。。郁闷,于是查看源码。
tagcloud.js:blog/node_modules/hexo-tag-cloud/lib/tagcloud.js
tagcanvas.js:blog/node_modules/hexo-tag-cloud/lib/tagcanvas.js
查看tagcloud.js文件,里面有需要的样式参数,修改参数重启服务即可。
我的自定义样式如下:
1 |
|
console.log我给注释掉了,这样控制台就看不到了。
记住,要重启服务。学习
hexo-tag-cloud官方:https://github.com/MikeCoder/hexo-tag-cloud