首页 > 其他分享 >Hexo-Butterfly主题美化

Hexo-Butterfly主题美化

时间:2023-08-18 13:56:21浏览次数:48  
标签:Butterfly Hexo hexo 样式 auto cursor css 美化 鼠标

## 更换主题

> 安装

```
git clone -b master [<https://github.com/jerryc127/hexo-theme-butterfly.git>](<https://github.com/jerryc127/hexo-theme-butterfly.git>) themes/butterfly
npm install hexo-renderer-pug hexo-renderer-stylus --save
```

hexo5.0版本以上:`npm i hexo-theme-butterfly`

安装渲染:`npm install hexo-renderer-pug hexo-renderer-stylus --save`

> 修改配置文件

```
theme: butterfly
```

## 自定义样式

> 外部引入

- `项目根路径\\themes\\butterfly\\source\\css\\index.styl`中引入自定义的css文件(为避免样式覆盖,放在最下面进行定义),也可在此引入外链css

```css
// 引入自定义css
@import '_custom/*.css'

// 引入外链
@import '<https://cdn.jsdelivr.net/gh/username/repo/css/xxx.css>'
```

### 背景样式

> 背景样式

```css
/* 页脚透明 */
#footer{
background: transparent!important;
}

/* 页脚黑色透明玻璃效果移除 */
#footer::before{
background: transparent!important;
}

/* 头图透明 */
#page-header{
background: transparent!important;
}

/* top-img黑色透明玻璃效果移除,不建议加,除非你执着于完全一图流或者背景图对比色明显 */
#page-header:not(.not-top-img):before {
background-color: transparent!important;
}

/*夜间模式伪类遮罩层透明*/
[data-theme="dark"]
#footer::before{
background: transparent!important;
}
[data-theme="dark"]
#page-header::before{
background: transparent!important;
}
```

### 字体样式

> 字体样式

引用参考:[谷歌字体库](https://link.juejin.cn/?target=https%3A%2F%2Ffonts.google.com%2F),选择、预览字体,可查看`API`,引用链接和`font-family`

### 鼠标样式

> 鼠标样式

引用参考:[致美化](https://link.juejin.cn/?target=https%3A%2F%2Fzhutix.com%2Ftag%2Fcursors%2F)

```css
/* 全局默认鼠标指针 */
body,
html{
cursor: url('指定样式cur文件路径'),auto !important;
}
/* 悬停图片时的鼠标指针 */
img{
cursor: url('指定样式cur文件路径'),auto !important;
}
/* 选择链接标签时的鼠标指针 */
a:hover{
cursor: url('指定样式cur文件路径'),auto;
}
/* 选中输入框时的鼠标指针 */
input:hover{
cursor: url('指定样式cur文件路径'),auto;
}
/* 悬停按钮时的鼠标指针 */
button:hover{
cursor: url('指定样式cur文件路径'),auto;
}
/* 悬停列表标签时的鼠标指针 */
i:hover{
cursor: url('指定样式cur文件路径'),auto;
}
/* 悬停页脚链接标签(例如页脚徽标)时的鼠标指针 */
#footer-wrap a:hover{
cursor: url('指定样式cur文件路径'),auto;
}
/* 悬停页码时的鼠标指针 */
#pagination .page-number:hover{
cursor: url('指定样式cur文件路径'),auto;
}
/* 悬停菜单栏时的鼠标指针 */
#nav .site-page:hover{
cursor: url('指定样式cur文件路径'),auto;
}
```

## 功能插件安装

### 本地搜索

> 修改主题配置文件

打开主题配置中`local_search`,安装`npm install hexo-generator-search --save`

主题`_config.yml`中添加

```
search:
path: search.xml
field: post
content: true
template: ./search.xml
```

### 网易云音乐全局引用

> hexo项目根目录引入配置

```
aplayer:
meting: true
asset_inject: false
```

> _config.butterfly.yml主题配置文件中配置aplayerInject

```
# Inject the css and script (aplayer/meting)
aplayerInject:
enable: true
per_page: true
```

> 插入代码到页脚

需要切换页面音乐不中断,则将主题配置文件中的pjax设置为true即可

```
inject:
head:
bottom:
- <div class="aplayer no-destroy" data-id="2643422422" data-server="netease" data-type="playlist" data-fixed="true" data-autoplay="true"> </div>
```

注:网易云我喜欢列表似乎有bug,无法显示

## 音乐页面

> hexo-butterfly使用aplayer加载音乐页面

参考原文:https://blog.51cto.com/alexclownfish/3051070 作者:**[Alexclownfish](https://blog.51cto.com/alexclownfish)**

------

由于hexo butterfly主题作者没有详细说明如何加载aplayer,之指明了aplayer官网文档。但是官网文档的教程未免有些难懂(尤其是对于新手),因为网上找到的大多为ejs创造的主题,而本主题使用了pug,所以,我将我摸索的经验在此公布,希望能带给使用pug编写的主题的朋友们一些帮助

```
hexo new page music
npm install aplayer
npm install --save hexo-tag-aplayer
```

接着,假如安装成功,则可以定位到主题目录\layout\includes看看layout.pug应该出现以下字段

```
head
include ./head.pug
link(rel="stylesheet" href="APlayer.min.css")
div(id="aplayer")
script(src="<https://cdn.jsdelivr.net/gh/radium-bit/res@master/live2d/autoload.js>" async)
script(src="<https://cdn.jsdelivr.net/npm/meting@2/dist/Meting.min.js>" async)
body
1.2.3.4.5.6.7.
```

若不存在

```
link(rel="stylesheet" href="APlayer.min.css")
div(id="aplayer")
script(src="<https://cdn.jsdelivr.net/npm/meting@2/dist/Meting.min.js>" async)
1.2.3.
```

若不存在请手动加上。一定要注意缩进与上述结构一致!因为缩进是Pug的表达方式。接着,查看aplayer.pug,若文件不存在。请创建文件并复制以下内容手动加上

```
link(rel="stylesheet" type='text/css', href="<https://cdn.jsdelivr.net/npm/[email protected]/dist/APlayer.min.css>")
script(type='text/javascript', src="<https://cdn.jsdelivr.net/npm/[email protected]/dist/APlayer.min.js>")
script(type='text/javascript', src="<https://cdn.jsdelivr.net/npm/[email protected]/dist/Meting.min.js>")
1.2.3.
```

最后,返回博客根目录,查看_config.yml在最后添加以下代码

```
#aplayer
aplayer:
script_dir: js # Public 目录下脚本目录路径,默认: 'assets/js'
style_dir: css # Public 目录下样式目录路径,默认: 'assets/css'
#cdn: <http://xxx/aplayer.min.js> # 引用 APlayer.js 外部 CDN 地址 (默认不开启)
#style_cdn: <http://xxx/aplayer.min.css> # 引用 APlayer.css 外部 CDN 地址 (默认不开启)
meting: true # MetingJS 支持
#meting_api: <http://xxx/api.php> # 自定义 Meting API 地址
#meting_cdn: <http://xxx/Meing.min.js> # 引用 Meting.js 外部 CDN 地址 (默认不开启)
asset_inject: true # 自动插入 Aplayer.js 与 Meting.js 资源脚本, 默认开启
#externalLink: <http://xxx/aplayer.min.js> # 老版本参数,功能与参数 cdn 相同meting: true
1.2.3.4.5.6.7.8.9.10.11.
```

并调整

```
post_asset_folder: true
```

最后,在 博客根目录\source\music\index.md使用以下格式

```markdown
---
title: 我的歌单
date: 2019-05-17 16:14:00
cover: <https://cdn.jsdelivr.net/gh/radium-bit/res@latest/Music.jpg>
type: "music"
---

<font color=#0c74d6 size=3 face="黑体">**这是歌单介绍,如果不需要刻意留空**</font>

{% meting "697054881" "netease" "playlist" %}
1.2.3.4.5.6.7.8.9.10.
```

那一串数字是歌单ID,“netease”为网易云音乐。详细参数用法请参考官方文档歌单ID提取方法是以链接分享某个歌单例如https://music.163.com/playlist?id=313418853&userid=1362990007

红色部分就是歌单ID了

写入完毕后,回到CMD。输入`hexo g`

生成完毕!接下来就可以部署到你的服务器啦(…•˘_˘•…)

标签:Butterfly,Hexo,hexo,样式,auto,cursor,css,美化,鼠标
From: https://www.cnblogs.com/sumiceBlog/p/17640273.html

相关文章

  • 关于博客园美化
    参考这个https://github.com/BNDong/Cnblogs-Theme-SimpleMemoryDocument(bndong.github.io)音乐播放器<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/APlayer.min.css"><script src="https://files.cnbl......
  • 基于Hexo和Butterfly创建个人技术博客,(15) 开发个人hexo主题-stylus动态样式语法
    stylus可以简单理解为一个动态的css样式表,在原有W3C规定的基础上增加了编程的能力,在使用前通过插件会再编译成普通的css文件。本章目标:掌握stylus样式语法,本章开始我们会从头开始编写自己的博客主题,同样采用pug和styl语法,官方帮助文档:stylus一、概述Stylus语法是python式基于缩进......
  • Winform-控件美化小技巧
    提供一些日常控件美化的小技巧,复杂需求则需要扩展控件。⭐圆角按钮,渐变色按钮1>从PPT中选择圆角长方形形状,填充颜色渐变色,右击另存为png图片;2>按钮的BackColor设置为透明,BackGroundImage设置为刚才的图片,LayOut设为Stretch;3>按钮的FlatStyle设置为Flat,FlatAppearance的Borde......
  • Hexo博客字数统计和阅读时长(网站底部/文章内)
    NexT主题集成了文章【字数统计】、【阅读时长】统计功能,安装一个插件就可以实现插件地址:https://github.com/theme-next/hexo-symbols-count-time安装插件npminstallhexo-symbols-count-time--save修改站点配置文件symbols_count_time:#文章内是否显示symbols:tru......
  • Hexo图形化界面和文章管理——Hexon
    介绍你在使用hexo写文章的时候是不是还在hexonewhexoghexod这样写文章不仅效率慢而且管理起来也不方便,所以今天我就带来了这个项目——hexonhexon是一个带有git的hexo图形化界面,可以运行命令和管理内容这是它的github链接https://github/gethexon/hexon部署如果你......
  • 基于Hexo和Butterfly创建个人技术博客,(14) 给博客站点添加Aplayer音乐
    本章目标:掌握aplayer音乐插件的用法给博客站点添加音乐功能一、概述个人比较倾向网站以简洁为主,并不赞成把网站做成花里虎哨的,比如添加鼠标特效或各种动态的元素。但个人站点的随意性比较大,虽没必要做成全局的音乐播放能力,但还是可以做成单独页或在无关紧的模块添加音乐功能。笔者......
  • 对博客美化的尝试
    随手粘一个以前oi时期的博文看看效果今天考试T1考这个,以前只在床上看书时推过一遍,现在忘完了。复习(重学)一下。学习博客:CSDNOIWIKIDFS树树枝边:DFS时经过的边,即DFS搜索树上的边。前向边:与DFS方向一致,从某个结点指向其某个子孙的边。后向边:与DFS方向相反,从某个结点指向其......
  • CSS基础:学习CSS样式的基本语法和应用,了解如何美化网页。
    CSS(层叠样式表)是一种用于描述网页上元素(例如文字、图像、背景等)外观和布局的样式语言。通过使用CSS,您可以控制和改变网页的外观,使其更具吸引力和易于使用。下面是一些CSS基础知识和常用的语法:选择器:CSS中的选择器用于选择要应用样式的HTML元素。最常见的选择器是元素选择器(例如......
  • 探索美颜SDK技术:实现精准人脸美化的算法与挑战
    在现代社交媒体和直播平台的兴起中,美颜技术已成为一种不可或缺的元素,让用户能够在镜头前展现出最佳的自己。这种技术的背后有着复杂而精密的算法,由美颜SDK驱动,以实现精准人脸美化。本文将探讨这些算法的核心原理、应用领域以及挑战。一、美颜SDK技术背后的核心原理 美颜SDK技术旨......
  • 博客园美化
    主要参考博客与问题https://www.cnblogs.com/anan-java/p/12196061.htmlhttps://www.cnblogs.com/WhiteTears/p/8824544.html博客园会将上传文件与历史上传文件名进行比对,文件名相同,博客园保留历史版本而不会保留更改,上传的文件是改变了的,但是在设置里面如果链接相同因为历史版......