Hexo-Butterfly美化教程-[7]功能魔改(源码方式)
最新文章标志
本站采用的最新文章标志,在参考了博客文章轻笑Chuckle | Butterfly文章卡片加上最新文章标志和Leonus | 几行代码实现最新文章标志。实现方式是通过获取md文章的发布日期,动态比对文章的发布日期,实现精确标记最新文章。
在blog\themes\butterfly\scripts\helpers\page.js
文件最后加入以下内容。
1 | // 最新文章 |
在blog\themes\butterfly\layout\includes\mixins\indexPostUI.pug
文件中的.recent-post-info(class=no_cover)
下面加入以下两行内容。
1 | .recent-post-info(class=no_cover) |
在blog\source
目录下创建css
文件夹,并在css文件夹下创建css
文件,加入以下内容。(标签样式进行了微调)
1 | /* 最新文章图标 */ |
在_config.butterfly.yml
里面的inject
的head中引入css文件的路径。
1 | inject: |
随机一篇
在blog目录下的命令指示符中执行安装baidusitemap
插件:
1 | npm install hexo-generator-baidu-sitemap --save |
在blog\source
目录下创建js
文件夹,并在js文件夹下创建js
文件,加入以下内容。
1 | // 发现有时会和当前页面重复,加一个判断 |
在_config.butterfly.yml
里面的inject
的bottom中引入js文件的路径。
1 | inject: |
文章双栏卡片
打开blog目录下的Butterfly配置文件_config.butterfly.yml
,修改卡片双栏布局为7
。
1 | #首页卡片双栏布局 |
在blog\source\css
的css文件中加入以下内容。
1 | /* 文章双栏样式微调 */ |
文章顶部添加波浪效果
在blog\themes\butterfly\layout\includes\header\index.pug
文件的第33行include ./post-info.pug
下面加入内容。
1 | section.main-hero-waves-area.waves-area |
在blog\source\css
的css文件中加入以下内容。
1 | /* 波浪css */ |
实现参考原链接如下:
首页自定义页数跳转
在blog\themes\butterfly\layout\includes\pagination.pug
文件中,找到else条件的最后一行!=paginator(options)
下面,加入以下内容。
1 | if is_home() |
在blog\source\css
的css文件中加入以下内容。
1 | /***************************** 页数跳转按钮 *****************************/ |
在blog\source\js
的js文件中加入以下内容。
优化了点击回车跳转失效的问题
1 | // 自定页数跳转 |
实现参考原链接如下:
全局半透明
在blog\source\css
的css文件中加入以下内容。
1 | /*全局半透明背景*/ |
显示文章描述(相关推荐、上下篇)
打开blog目录下的Butterfly配置文件_config.butterfly.yml
,修改以下配置。
1 | #启用相关文章推荐 |
在blog\themes\butterfly\scripts\helpers\related_post.js
文件中添加以下内容(前面有加号的),显示推荐文章描述。
1 | weight: 1, |
在blog\themes\butterfly\layout\includes\pagination.pug
文件中添加以下内容(前面有加号的),显示上下篇文章描述。
1 | if getPostDesc |
在blog\source\css
的css文件中加入以下内容。
1 | /*上下篇文章描述显示*/ |
实现参考原链接如下:
博客文章统计图
在_config.butterfly.yml
里面的inject
的head中引入 ECharts.js
文件的路径。
1 | inject: |
在blog\themes\butterfly\scripts\helpers\
目录下创建charts.js
,加入以下内容。
1 | const cheerio = require('cheerio') |
归档页-文章发布统计图
在blog\themes\butterfly\layout\archive.pug
文件中,加入以下内容。
1 | #archive |
分类页-文章分类统计图
在blog\themes\butterfly\layout\includes\page\categories.pug
文件中,加入以下内容。
1 | +#categories-chart(data-parent="true" style="height: 300px; padding: 10px;") |
标签页-标签统计图
在blog\themes\butterfly\layout\includes\page\tags.pug
文件中,加入以下内容。
1 | +#tags-chart(data-length="10" style="height: 300px; padding: 10px;") |
实现参考原链接如下:
样式美化
分类魔改
大分类:每行最多可以并排放置5个,子分类叠加在对应的大分类上,且每行大分类的宽高一致,该分类文章总数量位于右侧。
子分类:对应子分类文章数量统一为右对齐。
分类背景色:随机渐变背景色,每次刷新会自动更换。
随机图标:位于大分类左下角,随机分配,每次刷新会自动更换。
在blog\source\css
的css文件中加入以下内容。
1 | /***************************** 分类页面样式 *****************************/ |
在blog\source\js
的js文件中加入以下内容。
1 | /*************************分类页面美化*************************/ |
分类美化参考原链接如下:
友链魔改
在blog\source\css
的css文件中加入以下内容。
1 | .flink-item-icon { |
友链美化参考原链接如下:
侧边栏标签
在blog\source\css
的css文件中加入以下内容。
1 | /*侧边栏标签美化*/ |
标签页标签
1 | /* 标签页加新样式 */ |
文章分页卡片
在blog\source\css
的css文件中加入以下内容。
1 | /*文章分页卡片美化*/ |
文章相关推荐卡片
在blog\source\css
的css文件中加入以下内容。
1 | /*文章相关推荐卡片美化*/ |
文章目录
在blog\source\css
的css文件中加入以下内容。
1 | /* 文章目录 */ |
版权信息
在blog\source\css
的css文件中加入以下内容。
1 | /* **********************版权信息 ********************** */ |
外挂标签Tab组件
在blog\source\css
的css文件中加入以下内容。
1 | /*外挂标签tab*/ |
页脚透明
在blog\source\css
的css文件中加入以下内容。
1 | /*页脚透明化*/ |
文章顶图透明化
在blog\source\css
的css文件中加入以下内容。
1 | /* 文章顶图透明化 */ |
标签云文章计数
在blog\themes\butterfly\scripts\helpers\page.js
文件中,修改内容。
1 | - return `<a href="${env.url_for(tag.path)}" style="${style}">${tag.name}</a>` |
实现参考原链接如下:
直达底部按钮
在blog\themes\butterfly\layout\includes\rightside.pug
文件中,i.fas.fa-arrow-up
下面添加以下两行内容。
1 | button#go-up(type="button" title=_p("rightside.back_to_top")) |
节日弹窗与公祭日变灰
在blog\source\js
目录下,创建day.js
文件,加入以下内容。
1 | var d = new Date(); |
在blog\source\js
目录下,创建lunar.js
文件,加入以下内容。
1 | var lunarInfo = [19416, 19168, 42352, 21717, 53856, 55632, 91476, 22176, 39632, 21970, 19168, 42422, 42192, 53840, 119381, 46400, 54944, 44450, 38320, 84343, 18800, 42160, 46261, 27216, 27968, 109396, 11104, 38256, 21234, 18800, 25958, 54432, 59984, 28309, 23248, 11104, 100067, 37600, 116951, 51536, 54432, 120998, 46416, 22176, 107956, 9680, 37584, 53938, 43344, 46423, 27808, 46416, 86869, 19872, 42416, 83315, 21168, 43432, 59728, 27296, 44710, 43856, 19296, 43748, 42352, 21088, 62051, 55632, 23383, 22176, 38608, 19925, 19152, 42192, 54484, 53840, 54616, 46400, 46752, 103846, 38320, 18864, 43380, 42160, 45690, 27216, 27968, 44870, 43872, 38256, 19189, 18800, 25776, 29859, 59984, 27480, 23232, 43872, 38613, 37600, 51552, 55636, 54432, 55888, 30034, 22176, 43959, 9680, 37584, 51893, 43344, 46240, 47780, 44368, 21977, 19360, 42416, 86390, 21168, 43312, 31060, 27296, 44368, 23378, 19296, 42726, 42208, 53856, 60005, 54576, 23200, 30371, 38608, 19195, 19152, 42192, 118966, 53840, 54560, 56645, 46496, 22224, 21938, 18864, 42359, 42160, 43600, 111189, 27936, 44448, 84835, 37744, 18936, 18800, 25776, 92326, 59984, 27424, 108228, 43744, 41696, 53987, 51552, 54615, 54432, 55888, 23893, 22176, 42704, 21972, 21200, 43448, 43344, 46240, 46758, 44368, 21920, 43940, 42416, 21168, 45683, 26928, 29495, 27296, 44368, 84821, 19296, 42352, 21732, 53600, 59752, 54560, 55968, 92838, 22224, 19168, 43476, 41680, 53584, 62034, 54560], solarMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], Gan = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"], Zhi = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"], Animals = ["鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"], solarTerm = ["小寒", "大寒", "立春", "雨水", "惊蛰", "春分", "清明", "谷雨", "立夏", "小满", "芒种", "夏至", "小暑", "大暑", "立秋", "处暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪", "冬至"], sTermInfo = ["9778397bd097c36b0b6fc9274c91aa", "97b6b97bd19801ec9210c965cc920e", "97bcf97c3598082c95f8c965cc920f", "97bd0b06bdb0722c965ce1cfcc920f", "b027097bd097c36b0b6fc9274c91aa", "97b6b97bd19801ec9210c965cc920e", "97bcf97c359801ec95f8c965cc920f", "97bd0b06bdb0722c965ce1cfcc920f", "b027097bd097c36b0b6fc9274c91aa", "97b6b97bd19801ec9210c965cc920e", "97bcf97c359801ec95f8c965cc920f", "97bd0b06bdb0722c965ce1cfcc920f", "b027097bd097c36b0b6fc9274c91aa", "9778397bd19801ec9210c965cc920e", "97b6b97bd19801ec95f8c965cc920f", "97bd09801d98082c95f8e1cfcc920f", "97bd097bd097c36b0b6fc9210c8dc2", "9778397bd197c36c9210c9274c91aa", "97b6b97bd19801ec95f8c965cc920e", "97bd09801d98082c95f8e1cfcc920f", "97bd097bd097c36b0b6fc9210c8dc2", "9778397bd097c36c9210c9274c91aa", "97b6b97bd19801ec95f8c965cc920e", "97bcf97c3598082c95f8e1cfcc920f", "97bd097bd097c36b0b6fc9210c8dc2", "9778397bd097c36c9210c9274c91aa", "97b6b97bd19801ec9210c965cc920e", "97bcf97c3598082c95f8c965cc920f", "97bd097bd097c35b0b6fc920fb0722", "9778397bd097c36b0b6fc9274c91aa", "97b6b97bd19801ec9210c965cc920e", "97bcf97c3598082c95f8c965cc920f", "97bd097bd097c35b0b6fc920fb0722", "9778397bd097c36b0b6fc9274c91aa", "97b6b97bd19801ec9210c965cc920e", "97bcf97c359801ec95f8c965cc920f", "97bd097bd097c35b0b6fc920fb0722", "9778397bd097c36b0b6fc9274c91aa", "97b6b97bd19801ec9210c965cc920e", "97bcf97c359801ec95f8c965cc920f", "97bd097bd097c35b0b6fc920fb0722", "9778397bd097c36b0b6fc9274c91aa", "97b6b97bd19801ec9210c965cc920e", "97bcf97c359801ec95f8c965cc920f", "97bd097bd07f595b0b6fc920fb0722", "9778397bd097c36b0b6fc9210c8dc2", "9778397bd19801ec9210c9274c920e", "97b6b97bd19801ec95f8c965cc920f", "97bd07f5307f595b0b0bc920fb0722", "7f0e397bd097c36b0b6fc9210c8dc2", "9778397bd097c36c9210c9274c920e", "97b6b97bd19801ec95f8c965cc920f", "97bd07f5307f595b0b0bc920fb0722", "7f0e397bd097c36b0b6fc9210c8dc2", "9778397bd097c36c9210c9274c91aa", "97b6b97bd19801ec9210c965cc920e", "97bd07f1487f595b0b0bc920fb0722", "7f0e397bd097c36b0b6fc9210c8dc2", "9778397bd097c36b0b6fc9274c91aa", "97b6b97bd19801ec9210c965cc920e", "97bcf7f1487f595b0b0bb0b6fb0722", "7f0e397bd097c35b0b6fc920fb0722", "9778397bd097c36b0b6fc9274c91aa", "97b6b97bd19801ec9210c965cc920e", "97bcf7f1487f595b0b0bb0b6fb0722", "7f0e397bd097c35b0b6fc920fb0722", "9778397bd097c36b0b6fc9274c91aa", "97b6b97bd19801ec9210c965cc920e", "97bcf7f1487f531b0b0bb0b6fb0722", "7f0e397bd097c35b0b6fc920fb0722", "9778397bd097c36b0b6fc9274c91aa", "97b6b97bd19801ec9210c965cc920e", "97bcf7f1487f531b0b0bb0b6fb0722", "7f0e397bd07f595b0b6fc920fb0722", "9778397bd097c36b0b6fc9274c91aa", "97b6b97bd19801ec9210c9274c920e", "97bcf7f0e47f531b0b0bb0b6fb0722", "7f0e397bd07f595b0b0bc920fb0722", "9778397bd097c36b0b6fc9210c91aa", "97b6b97bd197c36c9210c9274c920e", "97bcf7f0e47f531b0b0bb0b6fb0722", "7f0e397bd07f595b0b0bc920fb0722", "9778397bd097c36b0b6fc9210c8dc2", "9778397bd097c36c9210c9274c920e", "97b6b7f0e47f531b0723b0b6fb0722", "7f0e37f5307f595b0b0bc920fb0722", "7f0e397bd097c36b0b6fc9210c8dc2", "9778397bd097c36b0b70c9274c91aa", "97b6b7f0e47f531b0723b0b6fb0721", "7f0e37f1487f595b0b0bb0b6fb0722", "7f0e397bd097c35b0b6fc9210c8dc2", "9778397bd097c36b0b6fc9274c91aa", "97b6b7f0e47f531b0723b0b6fb0721", "7f0e27f1487f595b0b0bb0b6fb0722", "7f0e397bd097c35b0b6fc920fb0722", "9778397bd097c36b0b6fc9274c91aa", "97b6b7f0e47f531b0723b0b6fb0721", "7f0e27f1487f531b0b0bb0b6fb0722", "7f0e397bd097c35b0b6fc920fb0722", "9778397bd097c36b0b6fc9274c91aa", "97b6b7f0e47f531b0723b0b6fb0721", "7f0e27f1487f531b0b0bb0b6fb0722", "7f0e397bd097c35b0b6fc920fb0722", "9778397bd097c36b0b6fc9274c91aa", "97b6b7f0e47f531b0723b0b6fb0721", "7f0e27f1487f531b0b0bb0b6fb0722", "7f0e397bd07f595b0b0bc920fb0722", "9778397bd097c36b0b6fc9274c91aa", "97b6b7f0e47f531b0723b0787b0721", "7f0e27f0e47f531b0b0bb0b6fb0722", "7f0e397bd07f595b0b0bc920fb0722", "9778397bd097c36b0b6fc9210c91aa", "97b6b7f0e47f149b0723b0787b0721", "7f0e27f0e47f531b0723b0b6fb0722", "7f0e397bd07f595b0b0bc920fb0722", "9778397bd097c36b0b6fc9210c8dc2", "977837f0e37f149b0723b0787b0721", "7f07e7f0e47f531b0723b0b6fb0722", "7f0e37f5307f595b0b0bc920fb0722", "7f0e397bd097c35b0b6fc9210c8dc2", "977837f0e37f14998082b0787b0721", "7f07e7f0e47f531b0723b0b6fb0721", "7f0e37f1487f595b0b0bb0b6fb0722", "7f0e397bd097c35b0b6fc9210c8dc2", "977837f0e37f14998082b0787b06bd", "7f07e7f0e47f531b0723b0b6fb0721", "7f0e27f1487f531b0b0bb0b6fb0722", "7f0e397bd097c35b0b6fc920fb0722", "977837f0e37f14998082b0787b06bd", "7f07e7f0e47f531b0723b0b6fb0721", "7f0e27f1487f531b0b0bb0b6fb0722", "7f0e397bd097c35b0b6fc920fb0722", "977837f0e37f14998082b0787b06bd", "7f07e7f0e47f531b0723b0b6fb0721", "7f0e27f1487f531b0b0bb0b6fb0722", "7f0e397bd07f595b0b0bc920fb0722", "977837f0e37f14998082b0787b06bd", "7f07e7f0e47f531b0723b0b6fb0721", "7f0e27f1487f531b0b0bb0b6fb0722", "7f0e397bd07f595b0b0bc920fb0722", "977837f0e37f14998082b0787b06bd", "7f07e7f0e47f149b0723b0787b0721", "7f0e27f0e47f531b0b0bb0b6fb0722", "7f0e397bd07f595b0b0bc920fb0722", "977837f0e37f14998082b0723b06bd", "7f07e7f0e37f149b0723b0787b0721", "7f0e27f0e47f531b0723b0b6fb0722", "7f0e397bd07f595b0b0bc920fb0722", "977837f0e37f14898082b0723b02d5", "7ec967f0e37f14998082b0787b0721", "7f07e7f0e47f531b0723b0b6fb0722", "7f0e37f1487f595b0b0bb0b6fb0722", "7f0e37f0e37f14898082b0723b02d5", "7ec967f0e37f14998082b0787b0721", "7f07e7f0e47f531b0723b0b6fb0722", "7f0e37f1487f531b0b0bb0b6fb0722", "7f0e37f0e37f14898082b0723b02d5", "7ec967f0e37f14998082b0787b06bd", "7f07e7f0e47f531b0723b0b6fb0721", "7f0e37f1487f531b0b0bb0b6fb0722", "7f0e37f0e37f14898082b072297c35", "7ec967f0e37f14998082b0787b06bd", "7f07e7f0e47f531b0723b0b6fb0721", "7f0e27f1487f531b0b0bb0b6fb0722", "7f0e37f0e37f14898082b072297c35", "7ec967f0e37f14998082b0787b06bd", "7f07e7f0e47f531b0723b0b6fb0721", "7f0e27f1487f531b0b0bb0b6fb0722", "7f0e37f0e366aa89801eb072297c35", "7ec967f0e37f14998082b0787b06bd", "7f07e7f0e47f149b0723b0787b0721", "7f0e27f1487f531b0b0bb0b6fb0722", "7f0e37f0e366aa89801eb072297c35", "7ec967f0e37f14998082b0723b06bd", "7f07e7f0e47f149b0723b0787b0721", "7f0e27f0e47f531b0723b0b6fb0722", "7f0e37f0e366aa89801eb072297c35", "7ec967f0e37f14998082b0723b06bd", "7f07e7f0e37f14998083b0787b0721", "7f0e27f0e47f531b0723b0b6fb0722", "7f0e37f0e366aa89801eb072297c35", "7ec967f0e37f14898082b0723b02d5", "7f07e7f0e37f14998082b0787b0721", "7f07e7f0e47f531b0723b0b6fb0722", "7f0e36665b66aa89801e9808297c35", "665f67f0e37f14898082b0723b02d5", "7ec967f0e37f14998082b0787b0721", "7f07e7f0e47f531b0723b0b6fb0722", "7f0e36665b66a449801e9808297c35", "665f67f0e37f14898082b0723b02d5", "7ec967f0e37f14998082b0787b06bd", "7f07e7f0e47f531b0723b0b6fb0721", "7f0e36665b66a449801e9808297c35", "665f67f0e37f14898082b072297c35", "7ec967f0e37f14998082b0787b06bd", "7f07e7f0e47f531b0723b0b6fb0721", "7f0e26665b66a449801e9808297c35", "665f67f0e37f1489801eb072297c35", "7ec967f0e37f14998082b0787b06bd", "7f07e7f0e47f531b0723b0b6fb0721", "7f0e27f1487f531b0b0bb0b6fb0722"], nStr1 = ["日", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"], nStr2 = ["初", "十", "廿", "卅"], nStr3 = ["正", "二", "三", "四", "五", "六", "七", "八", "九", "十", "冬", "腊"]; |
在_config.butterfly.yml
里面的inject
的bottom中引入js文件的路径。
1 | inject: |
实现参考原链接如下:
博客底部运行时间
点击切换显示模式,支持四种显示模式循环切换:
模式0 → x 年 x 天 x 时 x 分 x 秒
模式1 →x 天 x 时 x 分 x 秒
模式2 → x 时 x 分 x 秒
模式3 → x 分 x 秒
在_config.butterfly.yml
修改footer
的custom_text。
1 | footer: |
在blog\source\css
的css文件中加入以下内容。
1 | /*页脚显示网站运行时间*/ |
在blog\source\js
的js文件中加入以下内容。
1 | /*页脚显示网站运行时间*/ |
实现参考原链接如下:
博客搭建系列文章
- Hexo-Butterfly美化教程-[1]基础环境
- Hexo-Butterfly美化教程-[2]Butterfly主题安装
- Hexo-Butterfly美化教程-[3]建主要页面
- Hexo-Butterfly美化教程-[4]修改配置文件
- Hexo-Butterfly美化教程-[5]安装常用插件
- Hexo-Butterfly美化教程-[6]开启博客评论
- Hexo-Butterfly美化教程-[7]功能魔改(源码方式)
- Hexo-Butterfly美化教程-[8]随鼠标变幻的动态粒子线条背景
- Hexo-Butterfly美化教程-[9]繁沙
- 在Github上使用OsmosFeed搭建在线RSS阅读器(无需服务器)