type
status
date
slug
summary
tags
category
icon
password
除参考butterfly主题文档进行正常配置之外,本博客还参照一些教程进行了魔改(复制)。记录一下,以便后期搞不清时查阅。

添加fps显示

  1. 在主题配置文件_config.butterfly.yml中找到inject项,插入代码。
  1. /source/css文件夹下新建fps.css,插入代码。
    1. /source/js文件夹下新建fps.js,插入代码。

      文章统计功能

      1. 新建charts页面(已删除,改到about页面去了)
        1. 引入ECharts.js
          1. 有两种引入方式。一种是全局引用,即在_config.butterfly.ymlinject中引入echarts.js文件。
            另一种为页面引入,即在需要引入文章统计图的页面中插入echarts.js文件。例如,可在/source/charts/index.md中添加以下内容。
            本博客采用第一种方法。
        1. 文章统计代码
          1. /themes/butterfly/scripts/helpers目录下新建charts.js文件,然后添加下述内容:
            更多属性见官方文档,可根据自行喜好对 ECharts 统计图进行修改。但不好意思,看不懂。只粘贴了现有的。
        1. 在建立的charts页面使用统计图(已改到about页面)
          1. 其中:
            • posts-chartdata-start="2023-01"属性表示文章发布时间统计图仅显示2023年1月及以后的文章数据。
            • tags-chartdata-length="10"属性表示仅显示排名前10的标签。
            • categories-chartdata-parent="true"属性表示有子分类时以旭日图显示分类,其他无子分类设置为false不设置该属性设置为其他非true属性情况都以饼状图显示分类。
        1. 在其他页面使用统计图
          1. 本博客暂未引用,详见Hexo博客文章统计图

        随机访问一篇文章

        功能主要基于baidusitemap插件实现。
        1. 在主题配置文件_config.butterfly.yml中找到inject项,插入代码。
          1. /source/js文件夹下新建randompost.js,插入代码。
            1. 在主题配置文件_config.butterfly.yml中增加导航按钮即可。

              网站标题提示

              1. 在主题配置文件_config.butterfly.yml中找到inject项,插入代码。
                1. /source/js文件夹下新建title.js,插入代码。

                  加载动画

                  1. 打开/themes/butterfly/layout/includes/loading/fullpage-loading.pug文件。
                    1. 原代码为:
                      删去,改为:
                  1. 打开/themes/butterfly/layout/includes/loading/index.pug文件。
                    1. 原代码为:
                      删去,改为:
                  1. /source/css中新建progress_bar.css文件,这是加载图片上方胶囊的样式。
                    1. 打开/themes/butterfly/source/css/_layout/loading.styl文件。
                      1. 原代码为:
                        删去,改为以下代码。代码中背景颜色修改。
                    1. /source/css/custom.css中新增代码,其中background中的url用于设置加载图片。
                      1. 在主题配置文件_config.butterfly.yml中找到inject项,插入代码。
                        1. 在主题配置文件_config.butterfly.yml中找到preloader项。
                          1. 其中source: 1为满屏加载但加载图片上方无胶囊动画,source: 2为有胶囊但无满屏动画,source: 3为两者皆有。

                        首页文章置顶滚动轮播

                        来源:Swiper Bar
                        1. 在本地站点根目录执行下述指令,安装插件。
                          1. 在站点配置文件_config.yml中添加下述代码。
                            1. 使用方法
                              1. 在文章front_matter中添加swiper_index: 1即可,其中swiper_index:后的数字为非负整数,代表置顶轮播图顺序,数字越大越靠前。

                            右下角增加分享分页按钮以及直达底部按钮

                            1. 打开/themes/butterfly/layout/includes/rightside.pug文件,在一众when下面添加一个when
                              1. 在此文档下面的·#rightside·数组中添加share函数。
                                1. 原代码:
                                  添加share函数后的代码:
                                  其中:在hideArray里面添加会在点击齿轮按钮之后显示,在showArray里面添加按钮会直接显示。
                                  虽然,在主题配置文档rightside_item_order中可对右下角按钮进行排序,但由于添加了自定义按钮,为了方便,直接更改此处顺序就可以对其进行排序。
                              1. 在主题配置文档的inject中的bottom项里引入下述代码,其中,该处代码必须要放在自定义分享功能js文件的前面。
                                1. /source/js/custom.js中插入自定义分享本页js。
                                  1. 直达底部功能在/themes/butterfly/layout/includes/rightside.pug文件最后添加代码。

                                    复制、粘贴、F12弹窗提醒

                                    由于之前已经引用了/source/js/custom.js,因此,只需要在/source/js/custom.js中插入下述代码。

                                    控制台样式自定义

                                    1. 在已经建立并在主题配置文件中引用的/source/js/custom.js文件中加入下述代码。
                                      1. F12控制台处可看到效果。

                                      文章顶部添加波浪效果

                                      1. 打开/themes/butterfly/layout/includes/header/index.pug文件。
                                        1. 找到35include ./post-info.pug,在其下添加下述代码。
                                      1. /source/css/custom.css中添加。
                                        自定义侧边栏以及添加css、js、img文件的说明 butterfly主题front-matter设置说明
                                        Loading...