本文基于店长Akilar和安知鱼的教程

插件教程

1.安装插件,在博客根目录[Blogroot]下打开终端,运行以下指令安装依赖:

1
npm install hexo-butterfly-swiper-anzhiyu --save

2.在_config.butterfly.yml加入以下配置项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# hexo-butterfly-swiper-anzhiyu
# see https://akilar.top/posts/8e1264d1/
swiper:
enable: true # 开关
randomenable: true # 人潮汹涌开关
priority: 5 #过滤器优先权
enable_page: / # 应用页面
timemode: date #date/updated
layout: # 挂载容器类型
type: id
name: recent-posts
index: 1
default_descr: 再怎么看我也不知道怎么描述它的啦!
swiper_css: https://cdn.cbd.int/hexo-butterfly-swiper-anzhiyu@1.0.4/lib/swiper.min.css #swiper css依赖
swiper_js: https://npm.elemecdn.com/anzhiyu-blog@1.1.6/js/swiper.min.js #swiper js依赖 #swiper js依赖
custom_css: https://cdn.cbd.int/hexo-butterfly-swiper-anzhiyu@1.0.4/lib/swiperstyle.css # 适配主题样式补丁
custom_js: https://cdn.cbd.int/hexo-butterfly-swiper-anzhiyu@1.0.4/lib/swiper_init.js # swiper初始化方法
gsap_js: https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/gsap/3.9.1/gsap.min.js
people_js: https://npm.elemecdn.com/hexo-butterfly-swiper-anzhiyu@1.0.4/lib/people.min.js

3.pjax适配

_config.butterfly.yml,用Vscode的小伙伴可以用快捷键Crtl + F搜索pjax

enable里的false改为true

1
2
3
4
5
6
7
8
# Pjax
# It may contain bugs and unstable, give feedback when you find the bugs.
# https://github.com/MoOx/pjax
pjax:
enable: true
exclude:
# - xxxx
# - xxxx

4.轮播图顺序控制(使用方法)

新建文章后在配置信息中添加swiper_index: num

1
2
3
4
5
6
7
8
---
title: 文章标题
date: 创建日期
updated: 更新日期
cover: 文章封面
description: 文章描述
swiper_index: 1 #置顶轮播图顺序,非负整数,数字越大越靠前
---

参数释义

参数 备选值/类型 释义
priority number 【可选】过滤器优先级,数值越小,执行越早,默认为10,选填
enable true/false 【必选】控制开关
randomenable true/false 【必选】人潮汹涌控制开关
enable_page path/all 【可选】填写想要应用的页面的相对路径(即路由地址),如根目录就填’/‘,分类页面就填’/categories/‘。若要应用于所有页面,就填’all’,默认为all
exclude path 【可选】填写想要屏蔽的页面,可以多个。仅当enable_page为’all’时生效。写法见示例。原理是将屏蔽项的内容逐个放到当前路径去匹配,若当前路径包含任一屏蔽项,则不会挂载。
timemode date/updated 【可选】时间显示,date为显示创建日期,updated为显示更新日期,默认为date
layout.type id/class 【可选】挂载容器类型,填写id或class,不填则默认为id
layout.name text 【必选】挂载容器名称
layout.index 0和正整数 【可选】前提是layout.type为class,因为同一页面可能有多个class,此项用来确认究竟排在第几个顺位
error_img url 封面图片加载失败时的替换图片
insertposition text ‘beforebegin’:元素自身的前面。’afterbegin’:插入元素内部的第一个子节点之前。’beforeend’:插入元素内部的最后一个子节点之后。’afterend’:插入元素自身的后面。
default_descr text 【可选】默认文章描述
swiper_css url 【可选】自定义的swiper依赖项css链接
swiper_js url 【可选】自定义的swiper依赖项加js链接
custom_css url 【可选】适配主题样式补丁
custom_js url 【可选】swiper初始化方法
gsap_js url 【可选】gsap_js依赖
people_js url 【可选】随机逛逛js
categorygroup_css url 【可选】分类类别css

温馨提示

配置swiper插件之前记得配置分类(categories)和标签(tags),不然会出现点击分类和标签图标时无限刷出swiper插件的奇异bug
我把新建这两个页面的指令写在下面

1
2
hexo new page categories
hexo new page tags