Butterfly主题安装Swiper实现随机打开一篇文章

791 字
4 分钟
Butterfly主题安装Swiper实现随机打开一篇文章

{% tip cogs %}本文基于店长Akilar和安知鱼的教程{% endtip %}

插件教程#

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

Terminal window
npm install hexo-butterfly-swiper-anzhiyu --save

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

# 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的小伙伴可以用快捷键{% kbd Crtl %} + {% kbd F %}搜索pjax

enable里的false改为true

# 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

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

参数释义#

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

温馨提示#

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

Terminal window
hexo new page categories
hexo new page tags

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
Butterfly主题安装Swiper实现随机打开一篇文章
https://blog.smatrix.top/posts/butterfly-theme-swiper-random-article/
作者
Kayin.
发布于
2022-10-06
许可协议
CC BY-NC-SA 4.0

评论区