添加分类、标签云(球状)、彩色标签
添加分类页面
1.新建页面
$ cd your-hexo-site
$ hexo new page categories
在终端窗口下,定位到 Hexo 站点目录下。使用 hexo new page
新建一个页面,命名为 categories。
2.设置页面类型
编辑刚新建的页面,将页面的 type 设置为 categories ,主题将自动为这个页面显示分类。页面内容如下:
---
title: 分类
date: 2022-03-15 22:02:26
type: "categories"
---
编辑主题配置文件,将menu中categories前的#去掉。
menu:#categories: /categories/ || fa fa-th
在下载NEXT主题时,主题配置文件中menu默认有categories,只需将前面的#去掉即可。
添加标签页面
1. 新建页面
$ cd your-hexo-site
$ hexo new page tags
在终端窗口下,定位到 Hexo 站点目录下。使用 hexo new page
新建一个页面,命名为 tags。
2. 设置页面类型
编辑刚新建的页面,将页面的 type 设置为 categories ,主题将自动为这个页面显示分类。页面内容如下:
---
title: 标签
date: 2022-03-15 22:12:04
type: "tags"
---
3. 修改菜单
编辑主题配置文件,将menu中tags前的#去掉。
menu:#tags: /tags/ || fa fa-tags
在下载NEXT主题时,主题配置文件中menu默认有tags,只需将前面的#去掉即可。
Next 7.0+ TagCanvas 球形标签云
Next版本在 7.0+ 可以使用球形标签云的 tagcanvas.js
插件进行样式修改,具体修改步骤如下:
关于球形标签云 tagcanvas.js
插件下载链接:点击这里
将下载的压缩包中excanvas.js文件,放入 /theme/next/source/js
目录下
1. 新建标签云 swig 文件
在 \theme\next\layout\_partials
目录下,建一个名为 tagcanvas.swig
的文件,并写入如下内容:
<div class="tags" id="myTags"><canvas width="500" height="500" id="my3DTags"><p>Anything in here will be replaced on browsers that support the canvas element</p></canvas>
</div>
<div class="tags" id="tags"><ul style="display: none">{{ tagcloud({min_font : theme.tagcloud.min,max_font : theme.tagcloud.max,amount : theme.tagcloud.amount,color : true,start_color: theme.tagcloud.start,end_color : theme.tagcloud.end})}}</ul>
</div>
<script type="text/javascript" src="/js/tagcanvas.js"></script>
<script type="text/javascript" >window.onload = function() {try {TagCanvas.Start('my3DTags','tags',{textFont: 'Georgia,Optima',textColour: null,outlineColour: 'black',weight: true,reverse: true,depth: 0.8,maxSpeed: 0.05,bgRadius: 1,freezeDecel: true});} catch(e) {document.getElementById('myTags').style.display = 'none';}};
</script>
2. 修改 page.swig
首先将 \theme\next\layout\page.swig
文件中的如下代码删除或注释:
<div class="tag-cloud-tags">{{ tagcloud({min_font : theme.tagcloud.min,max_font : theme.tagcloud.max,amount : theme.tagcloud.amount,color : true,start_color: theme.tagcloud.start,end_color : theme.tagcloud.end})}}</div>
然后在相应位置添加如下代码:
{# tagcanvas plugin 球型云标签 #}
{% include '_partials/tagcanvas.swig' %}
3. 修改主题配置文件(_config.yml)
打开 \theme\config.yml
,找到 tagcloud
字段,根据实际需要进行修改即可:
# 标签云设置页面
tagcloud:min: 12 # 最小字体尺寸,以px为单位max: 30 # 最大字体尺寸,以px为单位start: "#ccc" # 开始颜色 (hex, rgba, hsla or color keywords)end: "#111" # 结束颜色 (hex, rgba, hsla or color keywords)amount: 200 # 标签数量,当大于200个后,请进行更改
Next8.10+主题添加彩色标签
标签页添加彩色标签
每个标签都有自己单一的标签,且每次刷新都会有不同的颜色。
在themes\next\layout下新建
tag-color.njk
,修改里面的内容为:<script type="text/javascript">var alltags = document.getElementsByClassName('tag-cloud-tags');var tags = alltags[0].getElementsByTagName('a');for (var i = tags.length - 1; i >= 0; i--) {var golden_ratio = 0.618033988749895;var s = 0.5;var v = 0.999;var h = golden_ratio + Math.random()*0.8 - 0.5;var h_i = parseInt(h * 6);var f = h * 6 - h_i;var p = v * (1 - s);var q = v * (1 - f * s);var t = v * (1 - (1 - f) * s);var r, g, b;switch (h_i) {case 0:r = v;g = t;b = p;break;case 1:r = q;g = v;b = p;break;case 2:r = p;g = v;b = t;break;case 3 :r = p;g = q;b = v;break;case 4:r = t;g = p;b = v;break;case 5:r = v;g = p;b = q;break;default:r = 1;g = 1;b = 1;}tags[i].style.background = "rgba("+parseInt(r*255)+","+parseInt(g*255)+","+parseInt(b*255)+","+0.5+")";} </script><style>.tag-cloud-tags{text-align: center;counter-reset: tags;}.tag-cloud-tags a{display: inline-block;border: 0px;border-radius: 10px;padding: 0px 10px;margin: 8px;color: rgba(34, 34, 34, 0.8);} /* 文字前添加相应的符号,content后的Unicode可以自定义*/.tag-cloud-tags a:before{font-family: 'Font Awesome 5 Free';content: "\f02b";font-weight: 900;}.tag-cloud-tags a:hover{box-shadow: 0px 5px 15px 0px rgba(0,0,0,.4);transform: scale(1.1);transition-duration: 0.15s;} </style>
打开
theme\next\layout\page.njk
,搜索<div class="post-body
,修改代码如下:
<div class="post-body{% if page.direction and page.direction.toLowerCase() === 'rtl' %} rtl{% endif %}">{%- if page.type === 'tags' %}{%- include '_partials/page/tags.njk' -%}{% elif page.type === 'categories' %}{%- include '_partials/page/categories.njk' -%}{% elif page.type === 'schedule' %}{%- include '_partials/page/schedule.njk' -%}{% else %}{{ page.content }}{%- endif %}</div>
+ {% include 'tag-color.njk' %}
效果图:
在文章底部添加彩色标签
打开
themes\next\layout\_macro\post.njk
文件,搜索for tag in post.tags.toArray()
,在下面添加我们之前写好的黄金分割生成的随机颜色代码,如下:
<div class="post-tags">{%- for tag in post.tags.toArray() %}<a href="{{ url_for(tag.path) }}" rel="tag"><i class="fa fa-tag"></i> {{ tag.name }}</a>{%- endfor %}</div><script type="text/javascript">var tagsall=document.getElementsByClassName("post-tags")for (var i = tagsall.length - 1; i >= 0; i--){var tags=tagsall[i].getElementsByTagName("a");for (var j = tags.length - 1; j >= 0; j--) {var golden_ratio = 0.618033988749895;var s = 0.5;var v = 0.999;var h = golden_ratio + Math.random()*0.8 - 0.5;var h_i = parseInt(h * 6);var f = h * 6 - h_i;var p = v * (1 - s);var q = v * (1 - f * s);var t = v * (1 - (1 - f) * s);var r, g, b;switch (h_i) {case 0:r = v;g = t;b = p;break;case 1:r = q;g = v;b = p;break;case 2:r = p;g = v;b = t;break;case 3 :r = p;g = q;b = v;break;case 4:r = t;g = p;b = v;break;case 5:r = v;g = p;b = q;break;default:r = 1;g = 1;b = 1;}tags[j].style.background = "rgba("+parseInt(r*255)+","+parseInt(g*255)+","+parseInt(b*255)+","+0.5+")";}} </script>
然后打开根目录下的
source\_data
文件夹新建styles.styl,添加以下代码:
//文章底部彩色标签样式
.posts-expand .post-tags a {display: inline-block;font-size: 0.8em;padding: 0px 10px;border-radius: 8px;color: rgb(85, 85, 85);border: 0px;
}
文章底部标签#改为图标(打开根目录下的\themes\next\layout_macro\post.njk 文件,找到如下代码:)
{%- set tag_indicate = '<i class="fa fa-tag"></i>' if theme.tag_icon else '#' %}
将代码中的#改为:
<i class="fa fa-tag"></i>
效果图:
添加分类、标签云(球状)、彩色标签相关推荐
- Python jquery标签云
很多知名博主都喜欢弄个标签云.今天特地看了下源码.把标签云的方法单独扣了出来.这里做一下记录 html页面代码 <!DOCTYPE html PUBLIC "-//W3C//DTD X ...
- WordPress 多媒体库添加分类和标签支持
https://www.xhsay.com/wordpress-attachment-taxonomies.html 时不时看到有朋友说 WordPress 这么强大的系统,怎么多媒体附件都不支持分类 ...
- html 3D球状旋转标签云文字云效果
想想一个球状的结构上面挂满了很多的标签,然后把我们要学习的内容或者是名字等3D的形式展现出来,还是非常炫酷的,这种形式的展示可能有一个名字叫做3D标签云,出于兴趣去找了一个这样的代码效果还是很可以的, ...
- 【Hexo】nexT主题使用攻略基础——添加分类、标签及关于
文章目录 一.创建"分类"选项 1.1 生成"分类"页 1.2 添加type属性 1.3 categories赋予文章 二.创建"标签"选项 ...
- Hexo博客发表文章、草稿、添加分类和标签
写在前面 本文主要写了hexo的配置,关于博客标题这些配置HEXO已经有了很详细的介绍了,这里不再赘述,本文主要记录一些我个人认为小白比较容易有疑问的地方,也就是博客的主要功能,发表文章.添加文章分类 ...
- 【个人网站搭建】GitHub pages+hexo框架下为next主题添加分类及标签
0x00 前言 文章中的文字可能存在语法错误以及标点错误,请谅解: 如果在文章中发现代码错误或其它问题请告知,感谢! Hexo博客框架版本(hexo vesion):5.3.0 Next主题版本:v5 ...
- python 标签云_标签云算法Python实现
标签云(Tag Cloud)常见于各种博客站点中,标签有利于网站内容分类,还可以用于相关性内容推荐.近日笔者有空把个人的开源博客Django_blog添加了一个新功能--标签云.最终效果请访问:htt ...
- php tagcloud,WordPress函数:wp_tag_cloud(标签云)详解和举例
wp_tag_cloud() 函数的作用是用来标签云的,可以根据每个标签所关联的文章次数来定义字体大小.标签排序等属性.从 2.8 版本开始,添加了 分类法(taxonomy)参数,这就意味着,除了 ...
- (翻译)标签云(Tag Cloud)
问题概述 用户想以可视化的方式来浏览不同人气的内容[1]. 示例 用途 用于当网站用户可以自行添加内容和标签时: 用于当网站中的标签数量超过10~20个时,标签具有的权值与其被引用的次数相关[2] ...
最新文章
- 近期激光雷达点云的3D目标检测方法
- 2022年大厂面试八股文上线!
- 一根数据线玩转树莓派Zero
- 有事情不能第一时间给父母说
- java NIO 资料总结
- java class类型参数_java – 如何从通用类型参数获取`.class`属性?
- 22、java中的注解
- Google IPU:互联网巨头纷纷进军芯片行业是为何?
- windows server 2012 --安装远程桌面服务后无法远程的问题
- 前端开发工程师如何在2013年里提升自己
- python网页抓取与按键精灵原理一样吗_Python网络爬虫学习笔记之 三种网页抓取方法...
- 为人处世:处世22条忠告
- Simulink积分器出现奇点_教训
- 换把人体工学椅,缓解久坐写代码的老腰吧~
- 相关性分析及SPSS软件操作
- 如何像专业人士一样使用 Google 学术搜索
- input隐藏边框和选中样式
- pyecharts 大小_[pyecharts1.7] 图表基础设置:大小、背景色、配色主题等
- 用css实现文字抖动特效
- 2021年最新易支付修复版源码支持微信支付宝官方接口和码支付网信钱包等/个人也能用的易支付商户系统
热门文章
- Windows远程桌面怎么使用,看完马上学会!
- 专利撰写是什么工作_如何(以及为什么)撰写出色的用户故事
- 解决scalac Error: bad option -make:transitive
- 入职开发很少写代码_如何简化开发人员入职:将开发环境作为代码
- Android键盘灯亮度控制
- 【SVAC】国家视频编解码标准SVAC的特色和优势
- Google play中下载apk
- 在win7上安装python3.8 + Robotframework -RIDE,启动报错
- 睡不着有什么办法可以快速入睡?提升睡眠质量的好物和方法分享
- Python调用动态链接库DLL文件