Hexo个人博客添加标签云及效果展示

[TOC]

Hexo个人博客添加标签云及效果展示

一、hexo-tag-cloud插件介绍

hexo-tag-cloud插件是作者写的一个Hexo博客的标签云插件,旨在直观的展示标签的种类,美观大方且非常优雅。

1.1 插件下载地址:
插件的GitHub地址https://github.com/MikeCoder/hexo-tag-cloud

1.2 插件说明:
说明地址https://github.com/MikeCoder/hexo-tag-cloud/blob/master/README.ZH.md

1.3 标签云效果展示:

image-20191208020620913我的博客主页https://enfangzhong.github.io/

二、安装插件

进入到 hexo 的根目录,在 package.json 中添加依赖: "hexo-tag-cloud": "2.0.*" 操作如下:

2.1 使用命令行进行安装

复制

1
npm install hexo-tag-cloud@^2.0.* --save

2.2 Git clone 下载

使用命令行安装插件包的过程中可能会出现问题,安装失败,安装不完全。可以直接克隆插件到博客的插件文件夹blog/node_modules里。或者克隆到桌面,复制到博客的插件文件夹blog/node_modules里。

image-20191208021017404

三、配置插件

插件的配置需要对应的环境,可以在主题文件夹里找一下,有没有对应的渲染文件,然后根据渲染文件的类型,选择对应的插件配置方法。

1、swig 用户 (Next主题在列)

在主题文件夹找到文件 theme/next/layout/_macro/sidebar.swig, 然后添加如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
{% if site.tags.length > 1 %}
<script type="text/javascript" charset="utf-8" src="/js/tagcloud.js"></script>
<script type="text/javascript" charset="utf-8" src="/js/tagcanvas.js"></script>
<div class="widget-wrap">
<h3 class="widget-title">标签云</h3>
<div id="myCanvasContainer" class="widget tagcloud">
<canvas width="250" height="250" id="resCanvas" style="width=100%">
{{ list_tags() }}
</canvas>
</div>
</div>
{% endif %}

代码添加到后面即可,添加示意图如下:

image-20191208021343781

2、对于ejs的用户 (默认主题landscape在列)

在主题文件夹找到文件hexo/themes/landscape/layout/_widget/tagcloud.ejs,将这个文件修改如下:

复制

1
2
3
4
5
6
7
8
9
10
11
12
13

<% if (site.tags.length) { %>
<script type="text/javascript" charset="utf-8" src="/js/tagcloud.js"></script>
<script type="text/javascript" charset="utf-8" src="/js/tagcanvas.js"></script>
<div class="widget-wrap">
<h3 class="widget-title">Tag Cloud</h3>
<div id="myCanvasContainer" class="widget tagcloud">
<canvas width="250" height="250" id="resCanvas" style="width=100%">
<%- tagcloud() %>
</canvas>
</div>
</div>
<% } %>

3、对于jade用户 (Apollo主题在列)

找到 apollo/layout/archive.jade 文件,并且把 container 代码块修改为如下内容:

复制

1
2
3
4
5
6
7
8
9
10
11
12

block container
include mixins/post
.archive
h2(class='archive-year')= 'Tag Cloud'
script(type='text/javascript', charset='utf-8', src='/oj-code/js/tagcloud.js')
script(type='text/javascript', charset='utf-8', src='/oj-code/js/tagcanvas.js')
#myCanvasContainer.widget.tagcloud(align='center')
canvas#resCanvas(width='500', height='500', style='width=100%')
!=tagcloud()
!=tagcloud()
+postList()

四、主题配置

在next主题根目录,找到 _config.yml配置文件然后在最后添加如下的配置项,可以自定义标签云的字体和颜色,还有突出高亮:

1
2
3
4
5
6
7
# hexo-tag-cloud
tag_cloud:
textFont: Trebuchet MS, Helvetica
textColor: '#333'
textHeight: 25
outlineColor: '#E2E1D1'
maxSpeed: 0.1

textColor: ‘#333’ 字体颜色
textHeight: 25 字体高度,根据部署的效果调整
maxSpeed: 0.1 文字滚动速度,根据自己喜好调整

五、部署

5.1 本地部署预览效果

1
hexo clean && hexo g && hexo s

5.2 博客部署到github或者码云

1
hexo clean && hexo g && hexo d

推荐使用 && 作为组合命令的串联符号

注:一定要严格清理缓存,这样不容易出现问题,即需要执行hexo clean

坚持原创技术分享,您的支持将鼓励我继续创作!
//