使用Charts插件给Butterfly增加统计图表
写在开始
之前就想给blog加上统计图表,查到的方法无奈要么太复杂,要么插件有bug,于是干脆自己插件化了一个hexo-butterfly-charts
。
效果演示
点击查看截图
点击查看暗色模式下的截图
特性
将 hexo poats、类别和标签的统计数据呈现到图表中。
灵感来自 HEXO 主题 matery.
包含
发布统计图
发布日历图
标签统计图
分类统计图
分类雷达图
支持图表名称自定义配置
支持标签/分类统计图横坐标间隔数自定义配置
适配butterfly暗色模式(有瑕疵)
更新记录
点击查看更新日志
hexo-butterfly-charts更新日志
2023-05-19 [1.1.4 -> 1.1.45]
- 插件默认
echarts_CDN
修改为:https://lib.baomitu.com/echarts/4.7.0/echarts.min.js
- 新增配置项:
echarts_CDN
解决原来使用的固定 CDN 资源失效问题。使用方法:1
2
3
4
5
6
7
8
9
10
11
12
13
14# 统计图表,支持发布文章统计、发布日历、Top标签统计、分类统计、分类雷达。
# see https://www.npmjs.com/package/hexo-butterfly-charts
charts:
enable: true # 是否启用功能
postsChart:
title: 文章发布统计 # 设置文章发布统计的标题,默认为空
interval: 1 # 横坐标间隔
tagsChart:
title: Top 10 标签统计 # 设置标签统计的标题,默认为空
interval: 1 # 横坐标间隔
postsCalendar_title: 文章发布日历 # 设置发布日历的标题,默认为空
categoriesChart_title: # 设置分类统计的标题,默认为空
categoriesRadar_title: # 设置分类雷达的标题,默认为空
+ echarts_CDN: # https://lib.baomitu.com/echarts/4.7.0/echarts.min.js
2023-01-22 [1.1.1 -> 1.1.4]
- 调整分类统计图中,“# 文章分类”为 “✒️文章篇数”
- 更新
moment
到2.29.4
2021-07-26 1.1.0 -> 1.1.1
- 调整README.md,增加Demo页面
2021-07-24 1.1.0
- 增加柱状图表横纵坐标轴名称
- 适配Butterfly暗色模式,自动切换
- 文章发布日历,坐标也换成中文
- 各图表标题支持配置
- 解决雷达图上,鼠标hover时,超出内容被画布吞掉的问题
- 解决分类雷达图未设置画布高度,导致无法显示的bug
安装
请在主题项目根目录下,执行以下命令安装(安装过其他Charts插件,请先卸载):
1 | npm i hexo-butterfly-charts --save |
配置
在主题配置文件_config.butterfly.yml
或hexo配置文件_config.yml
中增加以下内容:
参数 | 默认值 | 释义 |
---|---|---|
enable | 无 | 【必填】开启或关闭,true or false |
postsChart.Title | 空 | 发布统计的标题 |
postsChart.interval | 0 | 坐标轴值得间隔数。0表示强制显示所有;可填写0以上的正整数,如1就是横坐标间隔1个再展示 |
postsCalendar_Title | 空 | 发布日历的标题 |
tagsChart.Title | 空 | 标签统计的标题 |
tagsChart.interval | 0 | 坐标轴值得间隔数。0表示强制显示所有;可填写0以上的正整数,如1就是横坐标间隔1个再展示 |
categoriesChart_Title | 空 | 分类统计的标题 |
categoriesRadar_Title | 空 | 分类雷达的标题 |
echarts_CDN | baomitu资源 | echarts 自定义 CDN |
1 | # 统计图表,支持发布文章统计、发布日历、Top标签统计、分类统计、分类雷达。 |
用法
由于标签/分类/归档页面结构太相似,npm插件配置添加较难实现,因此安装插件后,还需主题源代码中添加节点ID。(好吧 是我菜……)
将发布日历添加到 归档 页面
点击查看详情
安装插件后,在/Butterfly/layout/archive.pug
文件中,#archive
下面添加一行#posts-calendar.js-pjax
, 新添加的比上一行多缩进两个空格。
修改后如下:
1 | extends includes/layout.pug |
其他页面,只需md
文件中插入这个标签:
1 | <div id="posts-calendar" class="js-pjax"></div> |
将 发布统计 添加到 归档 页面
点击查看详情
安装插件后,在/Butterfly/layout/archive.pug
文件中,#archive
下面添加一行#posts-chart.js-pjax
, 新添加的比上一行多缩进两个空格。
修改后如下:
1 | extends includes/layout.pug |
其他页面,只需md
文件中插入这个标签:
1 | <div id="posts-chart" class="js-pjax"></div> |
将 标签统计 插入到 标签 页面
点击查看详情
编辑主题目录/Butterfly/layout/includes/page/tags.pug
文件,在开头添加一行#tags-chart(data-length = "10").js-pjax
,data-length = "10"
表示显示 Top 10 的标签。
修改后如下:
1 | #tags-chart(data-length = "10").js-pjax |
其他页面,只需md
文件中插入这个标签:
1 | <!-- "data-length" = how many tags to show, default 10 --> |
将 分类统计(无标题)和 分类雷达图(无标题) 添加到 分类 页面。
点击查看详情
编辑主题目录/Butterfly/layout/includes/page/categories.pug
文件,在第5行添加#categories-chart.js-pjax
和#categories-radar.js-pjax
。
修改后如下:
1 | .category-lists |
其他页面,只需md
文件中插入这个标签:
分类统计(无标题)
1
<div id="categories-chart" class="js-pjax"></div>
分类雷达图(无标题)
1
<div id="categories-radar" class="js-pjax"></div>
许可
- 感谢鼓励 🙏