页脚徽标效果图

如红框中的样式,除了比较好看,还可以用来填一些必要内容,如ICP备案号、版权声明、许可证等

image-20240908213812296


如何制作

通过插件实现

  1. 安装插件,在G:\Blog下打开Git Base Here,输入如下指令

npm install hexo-butterfly-footer-beautify --save

  1. 在主题配置文件_config.butterfly.yml中添加如下内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# footer_beautify
# 页脚计时器:[Native JS Timer](https://akilar.top/posts/b941af/)
# 页脚徽标:[Add Github Badge](https://akilar.top/posts/e87ad7f8/)
footer_beautify:
enable:
timer: true # 计时器开关
bdage: true # 徽标开关
priority: 5 #过滤器优先权
enable_page: all # 应用页面
exclude: #屏蔽页面
# - /posts/
# - /about/
layout: # 挂载容器类型
type: id
name: footer-wrap
index: 0
# ---------------------------------------------------------
# 下面的先不管,跟页脚徽标设置无关
# 计时器部分配置项(看你喜欢哪个,最好下载下来放到自己的项目中不然会增加我网站的负载)
# 这是我的
# runtime_js: https://www.fomal.cc/static/js/runtime.js
# runtime_css: https://www.fomal.cc/static/css/runtime.min.css
# 这是店长的
# runtime_js: https://npm.elemecdn.com/hexo-butterfly-footer-beautify@1.0.0/lib/runtime.js
# runtime_css: https://npm.elemecdn.com/hexo-butterfly-footer-beautify@1.0.0/lib/runtime.css
# --------------------------------------------------------
# 徽标部分配置项
swiperpara: 0 #若非0,则开启轮播功能,每行徽标个数
bdageitem:
- link: https://hexo.io/ #徽标指向网站链接,点击徽标会打开网站
shields: https://img.shields.io/badge/Frame-Hexo-blue?style=flat&logo=hexo #徽标API
message: 博客框架为Hexo_v6.2.0 #徽标提示语,鼠标悬浮在徽标上显示的文字内容
- link: https://butterfly.js.org/ # 其他徽标...
shields: https://img.shields.io/badge/Theme-Butterfly-6513df?style=flat&logo=bitdefender
message: 主题版本Butterfly_v4.3.1
- link: https://vercel.com/ # 其他徽标...
shields: https://img.shields.io/badge/Hosted-Vercel-brightgreen?style=flat&logo=Vercel
message: 本站采用多线部署,主线路托管于Vercel
# - link: https://dashboard.4everland.org/ # 其他徽标...
# # https://img.shields.io/badge/Hosted-4EVERLAND-3FE2C1?style=flat&logo=IPFS
# shields: https://img.shields.io/badge/Hosted-4EVERLAND-22DDDD?style=flat&logo=IPFS
# message: 本站采用多线部署,备用线路托管于4EVERLAND
- link: https://github.com/
shields: https://img.shields.io/badge/Source-Github-d021d6?style=flat&logo=GitHub
message: 本站项目由Github托管
- link: http://creativecommons.org/licenses/by-nc-sa/4.0/
shields: https://img.shields.io/badge/Copyright-BY--NC--SA%204.0-d42328?style=flat&logo=Claris
message: 本站采用知识共享署名-非商业性使用-相同方式共享4.0国际许可协议进行许可
swiper_css: https://npm.elemecdn.com/hexo-butterfly-swiper/lib/swiper.min.css
swiper_js: https://npm.elemecdn.com/hexo-butterfly-swiper/lib/swiper.min.js
swiperbdage_init_js: https://npm.elemecdn.com/hexo-butterfly-footer-beautify/lib/swiperbdage_init.min.js

参数释义

参数 备选值/类型 解释
priority number 【可选】过滤器优先级,数值越小,执行越早,默认为10,选填
enable.timer true/false 【必选】计时器控制开关
enable.bdage true/false 【必选】徽标控制开关
enable_page path 【可选】填写想要应用的页面,如根目录就填’/‘,分类页面就填’/categories/‘。若要应用于所有页面,就填all,默认为all
priority number 【可选】过滤器优先级,数值越小,执行越早,默认为10,选填
enable.timer true/false 【必选】计时器控制开关
enable.bdage true/false 【必选】徽标控制开关
enable_page path 【可选】填写想要应用的页面,如根目录就填’/‘,分类页面就填’/categories/‘。若要应用于所有页面,就填all,默认为all
exclude path 【可选】填写想要屏蔽的页面,可以多个。仅当enable_page为’all’时生效。写法见示例。原理是将屏蔽项的内容逐个放到当前路径去匹配,若当前路径包含任一屏蔽项,则不会挂载。
layout.type id/class 【可选】挂载容器类型,填写id或class,不填则默认为id
layout.name text 【必选】挂载容器名称
layout.index 0和正整数 【可选】前提是layout.type为class,因为同一页面可能有多个class,此项用来确认究竟排在第几个顺位
runtime_js url 【必选】页脚计时器脚本,可以下载上文填写示例的链接,参照注释和教程:Native JS Timer自行修改。
runtime_css url 【可选】自定义样式,预留开发者接口,可自行下载。
swiperpara number 【可选】若非零,则开启轮播功能,此项表示每行最多容纳徽标个数,用来应对徽标过多显得页脚拥挤的问题
bdageitem.link url 【可选】页脚徽标指向的网站链接
bdageitem.shields url 【必选】页脚徽标对应的API,API具体写法示例参照教程Add Github Badge
bdageitem.message text 【可选】页脚徽标悬停时显示的信息
swiper_css url 【可选】swiper的依赖
swiper_js url 【可选】swiper的依赖
swiperbdage_init_js url 【可选】swiper初始化方法

如何生成特色徽标(重要)

用到的网站:

徽标生成网站shields.io

图标查询网站 (包含3171 个适用于热门品牌的免费SVG图标,网站有点卡)

  1. 在“图标查询网站”选中想要的图标,获取图标的,常用的图标例如GitHubwordpressWeibo哔哩哔哩等图标都可以查得到,选中想要的图标名称

image-20240908220253846

  1. 通过shields.io在线生成

    • label标签:徽标左侧内容
    • message:徽标右侧内容
    • color:色值,支持十六进制、rgb、css等常用命名方式,十六进制要删除前面的#
  2. 最后的徽标是以 https://URL 的形式给出的,直接在需要的地方引用就行,也可以生成markdownHTML之类的格式,但是核心都是一个 https://URL 链接

徽标生成语法

  • 如果既有标签(左边)、又有消息(右边)颜色,则格式如下,标签、消息和颜色用破折号分隔-

https://img.shields.io/badge/**LEFT_TEXT-RIGHT_TEXT**-**COLOR**

实际例子:

https://img.shields.io/badge/any_text-you_like-blue

image-20240908221747975

  • 如果仅有消息(右边)和颜色,以破折号-分隔,例如

[https://img.shields.io/badge/just%20the%20message-8A2BE2](https://img.shields.io/badge/just the message-8A2BE2)

image-20240908221814647

  • 在上面写好标签、消息、颜色的基础上加上一个?logo=xxx查询字段,其中xxx是在图标查询网站获取的图标名称,例如bitdefender,最终效果如下

https://img.shields.io/badge/Theme-Butterfly-6513df?style=flat&logo=bitdefender

image-20240908222757830

  • 还可以设置style和,style可选值 [flat, flat-square, plastic, for-the-badge, social],一般用flat就合适了

    扩展写法示例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <!-- 普通样式 -->
    <img src="https://img.shields.io/badge/Frame-Hexo-blue">
    <!-- 五种style预览 -->
    <img src="https://img.shields.io/badge/Frame-Hexo-blue?logo=Hexo&style=plastic">
    <img src="https://img.shields.io/badge/Frame-Hexo-blue?logo=Hexo&style=flat">
    <img src="https://img.shields.io/badge/Frame-Hexo-blue?logo=Hexo&style=flat-square">
    <img src="https://img.shields.io/badge/Frame-Hexo-blue?logo=Hexo&style=for-the-badge">
    <img src="https://img.shields.io/badge/Frame-Hexo-blue?logo=Hexo&style=social">
    <!-- 添加图标和自定义label -->
    <img src="https://img.shields.io/badge/Frame-Hexo-blue?logo=Hexo&label=框架">
    <!-- 添加图标和图标宽度 -->
    <img src="https://img.shields.io/badge/Frame-Hexo-blue?logo=Hexo&logoWidth=30">
    <!-- 图标、label、message三部分颜色自定义 -->
    <img src="https://img.shields.io/badge/Frame-Hexo-blue?logo=Hexo&label=框架&logoColor=violet&labalColor=#1fd041&color=rgb(222, 31, 31)">
    <!-- 给标签添加链接 -->
    <object data="https://img.shields.io/badge/Frame-Hexo-blue?logo=Hexo&link=https://hexo.io/&https://hexo.io/zh-cn/docs/"></object>
    <!-- 也可以通过嵌套a标签来实现添加链接 -->
    <a target="_blank" href="https://hexo.io" title="框架采用Hexo"><img src="https://img.shields.io/badge/Frame-Hexo-blue"></a>

_config.butterfly.yml中关于徽标各项字段释义

- link:点击徽标时打开的网址

shields:徽标的URL,通过上面的语法获取

message:悬浮在徽标时显示的文字内容

现在有个问题是鼠标悬停在徽标上时并没有显示message,可能是其他配置没做好,还不知道问题

其他

现在ICP备案还没完成,等备案完成后再添加备案号和跳转链接