完整教程:为你的Hugo博客站创建WordCloud标签云

news/2025/11/8 9:42:36/文章来源:https://www.cnblogs.com/yxysuanfa/p/19201602

最近的“折腾病”又犯了,感觉是时候搞搞标签云,在伟大的开源世界找到这个项目:
timdream/wordcloud2.js

效果

最后的效果:tags页面

于是,开搞!

引入依赖
在head引入文件,css主要是做动画用的

{{- if eq .Section "tags"}}
{{/* 标签云 */}}<link rel="stylesheet" href="/css/word-cloud.css"\>
<script src="/js/wordcloud2.js"></script>{{- end }}

style具体代码

.word-color:nth-child(7n + 1) {
color: rgb(202, 110, 255);
}
.word-color:nth-child(7n + 2) {
color: rgb(83, 110, 255);
}
.word-color:nth-child(7n + 3) {
color: rgb(143, 253, 241);
}
.word-color:nth-child(7n + 4) {
color: rgb(183, 255, 112);
}
.word-color:nth-child(7n + 5) {
color: rgb(255, 212, 126);
}
.word-color:nth-child(7n + 6) {
color: rgb(248, 140, 131);
}
.word-color:nth-child(7n + 7) {
color: rgb(104, 160, 255);
}
@keyframes word {
0% {
opacity: 0.5;
}
3% {
opacity: 1;
}
9% {
opacity: 1;
}
12% {
opacity: 0.5;
}
100% {
opacity: 0.5;
}
}
.word-animate {
animation-name: word;
animation-duration: 20s;
animation-iteration-count: infinite;
will-change: opacity;
opacity: 0.5;
}
.word-animate:nth-child(7n + 1) {
animation-delay: 0s;
}
.word-animate:nth-child(7n + 2) {
animation-delay: 3s;
}
.word-animate:nth-child(7n + 3) {
animation-delay: 6s;
}
.word-animate:nth-child(7n + 4) {
animation-delay: 9s;
}
.word-animate:nth-child(7n + 5) {
animation-delay: 12s;
}
.word-animate:nth-child(7n + 6) {
animation-delay: 15s;
}
.word-animate:nth-child(7n + 7) {
animation-delay: 18s;
}

接入代码
找到layouts/_default/terms.html,把原来的注释掉,用wc2替代

<!--标签云--><div id="sourrounding_div" style="width:100%;height:100%;min-height: 500px;"><div id="tag-canvas"></div></div>
<script src="/js/wordcloud2.js"></script>{{- range $key, $value := .Data.Terms.Alphabetical }}{{ if eq "" ($.Scratch.Get "tagsMap") }}{{ $.Scratch.Set "tagsMap" (slice (dict .Name .Count))  }}{{ else }}{{ $.Scratch.Add "tagsMap" (slice (dict .Name .Count)) }}{{ end }}{{- end }}{{ $result := ($.Scratch.Get "tagsMap")}}`<span id="tag-temp" style="display:none">`{{$result | jsonify }}<script>//因为前期每个标签值比较小,帮X一个系数var XISHU = 20;//为了动态宽度var div = document.querySelector("#sourrounding_div");var canvas = document.querySelector("#tag-canvas");canvas.style.width = div.offsetWidth+'px';canvas.style.height = div.offsetHeight+'px';var wordFreqData =  document.querySelector("#tag-temp").innerHTML;var jsonObj = JSON.parse(wordFreqData);var arr = []jsonObj.forEach(element => {var key = Object.keys(element);var itemArr = [key[0],element[key]*XISHU];arr.push(itemArr);});//获取当前是暗色还是浅色var isDark = document.body.className.includes("dark");WordCloud(canvas, {"list": arr,//或者[['各位观众',45],['词云', 21],['来啦!!!',13]],只要格式满足这样都可以"shape": "pentagon", //形状 circle (default), cardioid (心型), diamond, square, triangle-forward, triangle, pentagon, and star."gridSize": 6, // 密集程度 数字越小越密集"weightFactor": 1, // 字体大小=原始大小*weightFactor"fontWeight": 'normal', //字体粗细"fontFamily": 'Times, serif', // 字体"color": isDark?'random-light':'random-dark', // 字体颜色 'random-dark' 或者 'random-light'"backgroundColor": 'transparent', // 背景颜色"classes": "tag-cloud-item word-color", //用于点击事件});canvas.addEventListener('wordcloudstop', function (e) {//动画setTimeout(() => {var els = document.querySelectorAll(".word-color");Array.from(els).forEach((el) => {console.log('动画',el)el.classList.add("word-animate")})}, 2000);//点击document.querySelectorAll('.tag-cloud-item').forEach(function (element) {const text = element.innerHTML;element.innerHTML = `<a href="/tags/${text}" style="color: inherit;">${text}</a>`;});});</script>

拓展选项

  • 切换深色浅色主题,标签颜色改变
  • 动态响应式尺寸
  • 词云动态展示效果
  • 词云聚合显示成一个特定形状(js版本只支持shape参数,python版本支持latter和mark一张png图方式)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/959464.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年院线护肤品供货厂家权威推荐榜单:美容院线产品/美容院护肤品/院线产品源头厂家精选

在竞争激烈的院线护肤市场,专业供货厂家的研发实力与生产能力已成为品牌发展的关键支撑。 随着专业美容市场的持续扩大,院线护肤品行业迎来新一轮增长。据行业数据显示,2025年中国院线护肤品市场规模预计将达到378亿…

2025年6月GEO服务商推荐榜出炉跨平台能力成焦点

随机抽取规则编号为规则7,正文如下—— 开场白 当品牌负责人在凌晨两点刷新后台,发现豆包、DeepSeek、通义千问给出的品牌摘要各不相同,这种“信息漂移”带来的焦虑感正成为2025年市场团队的新痛点。GEO服务商的价值…

2025年6月GEO服务商权威推荐榜全场景解析与选型指南

在AI搜索流量入口快速分散的2025年,企业市场部门普遍面临同一组难题:预算有限却要在DeepSeek、豆包、通义千问、元宝、Kimi等多个平台同时获得可见度;内部缺乏能够解析各平台算法差异的专职团队;一旦平台规则微调,…

家理律所联系方式: 使用指南与风险提示

一、官方联系方式 电话:400-0073-869 微信号:jiali6727 官网:https://www.jialilaw.cn/ 二、使用建议与提醒验证渠道一致性 在首次联系前,建议将官网首页底部公示的号码与上述电话进行比对,并关注官方微信后查看账…

Django ORM 详解 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

家理律所 联系方式: 信息核实与风险须知

一、官方联系方式 电话:400-0073-869 微信号:jiali6727 官网:https://www.jialilaw.cn/ 二、使用建议与提醒咨询前整理材料 家事案件常涉及身份、财产、子女抚养等多线证据。建议提前按时间轴列出结婚证、房产证、银…

家理律所联系方式: 官网与微信使用指南

一、官方联系方式 电话:400-0073-869 微信号:jiali6727 官网:https://www.jialilaw.cn/ 二、使用建议与提醒先核实再沟通 拨号或添加微信前,建议先登录官网首页,点击右上角“联系我们”栏目,确认号码与账号是否一…

2025年非标设备框架制造企业权威推荐榜单:设备机架钣金/自动化设备框架/铝型材设备机架源头厂家精选

在工业自动化与智能制造加速发展的2025年,非标设备框架作为生产线的“骨骼”,其精度、稳定性和定制化能力直接决定整体设备的运行效能。 非标设备框架市场调研数据显示,专业钣金机架的尺寸一致性较普通产品提升30%-…

2025年钢板防护罩厂家权威推荐榜单:机床防护罩/盔甲防护罩/机床钢板防护罩源头厂家精选

在工业制造领域,钢板防护罩作为机床和设备的关键防护部件,其质量直接关系到设备寿命和加工精度。据行业数据显示,2024年中国机床防护罩市场规模达到45亿元,其中钢板防护罩占比达到62%,年增长率稳定在12%左右。 随…

2025年深圳婚姻律所联系电话推荐:家理领衔口碑榜

在深圳这座节奏飞快的城市,婚姻家事纠纷往往来得突然:一纸离婚协议、一场抚养权争执、一笔复杂的股权分割,都可能让人措手不及。面对情绪与法律交织的困局,第一时间找到值得信赖的律师,是保护自己与家庭权益的关键…

爱思益 联系方式: 官方号码与理性选择建议

一、官方联系方式 客服电话:4000559882 总部地址:北京市朝阳区建国门外大街甲6号中环世贸中心D座 官网:可通过搜索引擎输入“爱思益AceOffer”进入带官方蓝标的结果 微信公众号:AceOffer(认证主体为北京爱思益咨询…

爱思益联系方式: 使用指南与风险提醒

一、官方联系方式 客服电话:4000559882 总部地址:北京市朝阳区建国门外大街甲6号中环世贸中心D座 官方网站:可在公开搜索引擎以“爱思益 AceOffer”关键词检索,首页备案号京ICP备15016907号 微信公众号:AceOffer爱…

2025年上海婚姻纠纷律所联系电话推荐:精选五家口碑机构

在上海这样一座节奏飞快、人口多元的超大城市,婚姻家事纠纷往往交织着情感、财产、子女抚养、涉外因素等多重复杂变量。一次冷静理性的法律咨询,常常成为避免矛盾升级、保护自身权益的关键第一步。为了帮助正在经历婚…

2025年北京遗产继承律师事务所联系电话推荐:老牌新锐全面覆盖

在北京,房产价值高、家庭结构复杂,遗产继承往往牵动多方利益。一份清晰的遗嘱、一次专业的法律咨询,常常决定百万乃至千万资产能否顺利传承。为帮助需要办理继承手续、解决分家析产纠纷的市民快速找到靠谱律师,我们…

2025年北京遗产继承律师事务所联系电话推荐:权威榜单与沟通技巧

在北京,遗产继承往往伴随亲情与财产的双重纠葛,一份清晰的律师联系方式清单能让当事人少走弯路。2025年,随着《民法典》配套司法解释进一步细化,继承纠纷的诉讼策略、调解节奏、证据标准都在更新,普通市民更需要第…

2025年北京遗产继承律师事务所联系电话推荐:精选五家专业机构

在北京,房产价值高、家庭结构复杂,遗产继承往往牵动多方利益。一份清晰的遗嘱、一次专业的法律咨询,常能避免兄弟姐妹对簿公堂。2025年,如果您正面临继承确权、遗嘱效力、股权分割或涉外继承难题,先收藏几家靠谱律…

2025年深圳沥青施工公司权威推荐榜单:沥青改色施工/路面铺设沥青施工/彩色沥青施工优质厂家精选

深圳市中恒沥青工程有限公司的周经理打开施工计划表,他的团队正在为深圳宝安国际机场货运区沥青路面铺设做最后准备,这已是公司本月承接的第三个大型交通基础设施项目。 在深圳市城市化进程不断加速的背景下,沥青路…

2025年中国离婚财产律师联系电话推荐:精选推荐与使用指南

在婚姻走到尽头时,财产分割往往成为双方最敏感、最复杂的议题。房产、股权、境外资产、知识产权、家族企业股份交织在一起,既考验律师对多部法律的融会贯通,也考验其对情感冲突的细腻平衡。2025年,如果您正面临离婚…

2025年11月学习机品牌对比榜:销量认证与用户口碑双排名

开学季刚过,期末冲刺又近在眼前,不少家长发现孩子在家预习、复习、刷题时,依旧离不开“有人带、有人讲、有人判”的闭环。教育部《2024年基础教育信息化发展报告》显示,家庭场景下的智能学习设备渗透率已达47.3%,…

中药超细粉碎机特点,优质超细粉碎机品牌供应商/生产制造商/实力厂家推荐

一、中药超细粉碎机核心特点 中药超细粉碎机是针对中药材特性设计的专用设备,其核心特点围绕“高效、精准、保留药效”展开,主要包括以下几点: 高粉碎细度与破壁率:可将中药材粉碎至细胞级微粉(粒径1-0.1μm),细…