自定义博客主题相关设置
安装butterfly主题
首先,在hexo的根目录下使用如下命令下载主题
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly |
npm安装pug 和 stylus 渲染器。不然会报错
npm install hexo-renderer-pug hexo-renderer-stylus --save |
修改项目根目录下的_config.yml文件(称为站点配置文件),开启主题。
# Extensions |
【建议】
为了减少升级/修改主题带来的不便,可以将主题目录下(/blog/theme)的配置文件 _config.yml 重命名为 _config.butterfly.yml,复制到 Hexo 根目录下与_config.yml同级。
Hexo会自动合并主题中的_config.yml和 _config.butterfly.yml ,如果存在同名配置,会使用_config.butterfly.yml的配置,其优先度较高。所以像和博客网址相关联的固定资料可以设置在_config.yml中,比如博客的标题、作者信息和邮箱等等资料,而和主题样式相关的配置放在 _config.butterfly.yml 中,那么在将来你想换一个主题是很方便的。
导航栏菜单
修改主题配置文件 _config.butterfly.yml
menu: |
代码块显示
在_config.butterfly.yml配置文件中可以配置如下功能。
highlight_theme: mac # darker / pale night / light / ocean / mac / mac light / false 代码主题 |
同时将站点默认配置文件_config.yml的highlight设置为false。
highlight: |
本地搜索功能
如果要使用本地搜索功能,需要安装 hexo-generator-search 插件
npm install hexo-generator-search --save |
修改_config.butterfly.yml 配置文件:
# Local search |
修改副标题
修改主题配置文件 _config.butterfly.yml:
# the subtitle on homepage (主頁subtitle) |
图片设置
图片可以用云链接或者本地路径:/themes/butterfly/source/img。修改主题配置文件_config.butterfly.yml:
网站图标
# Favicon(网站图) |
头像
avatar: |
主页封面图片
# The banner image of home page |
文章详情页顶部图片
当没有在front-matter设置top_img和cover的情况下会显示该图
# If the banner of page not setting, it will show the top_img |
归档页底部图片
#归档子标签页图片 |
tag页顶部图片
#tag页(标签页) |
category页顶部图片
#category页 |
统一文章封面
cover: |
如果需要为每一篇文章设置不同的封面,可以在文章的md文件中添加配置。
--- |
错误页面
配置了该属性后会替换无法展示的图片
# Replace Broken Images (替換無法顯示的圖片) |
图片懒加载
新增hexo-lazyload-image模块
npm install hexo-lazyload-image --save |
在主目录配置文件_config.yml增加配置
lazyload: |
这个就是图片没加载出来的时候,出现一个动图转转转的文章页样式
图片放大查看
修改主题配置文件_config.butterfly.yml
medium_zoom: false |
版权样式
修改主题配置文件_config.butterfly.yml
复制的内容后面加上版权信息
# copy settings |
文章版权信息
post_copyright: |
侧边栏样式
修改主题配置文件_config.butterfly.yml
调整侧边栏出现位置
aside: |
个人信息
social: |
公告栏设置
修改主题配置文件_config.butterfly.yml
card_announcement: |
TOC目录
修改主题配置文件_config.butterfly.yml
# toc (目錄) |
背景美化
修改主题配置文件 _config.butterfly.yml
鼠标点击效果
有冒光特效、烟火特效、爱心特效、文字特效,选择其中一个将enable设置为true就可以。
# Typewriter Effect (打字效果) |
打字效果
# Typewriter Effect (打字效果) |
背景特效
# Background effects (背景特效) |
自定义背景主题色
可以修改部分的UI颜色,没测试过
# theme_color: |
渐变背景
默认显示白色,可设置图片或者颜色
修改主题配置文件_config.butterfly.yml:
background: |
设置渐变色步骤:
- 在\Butterfly\source\css\目录下创建css文件 background.css:
#web_bg { |
修改配置文件_config.butterfly.yml的引入方式
# Inject |
如果背景色不生效,设置_config.butterfly.yml
# Website Background (設置網站背景) |
footer背景
footer 的背景,当设置 false 时,将与主题色一致。修改主题配置文件_config.butterfly.yml
# footer是否显示图片背景(与top_img一致) |
字数统计
安装统计组件
npm install hexo-wordcount --save or yarn add hexo-wordcount |
修改主题配置文件_config.butterfly.yml
# wordcount (字數統計) |
添加音乐播放器
插件安装与配置
安装 hexo-tag-aplayer 这款插件。执行如下指令:
npm install --save hexo-tag-aplayer |
插件配置方式为修改Hexo 的配置文件中进行如下修改。就是你的Hexo根目录下的_config.yml文件。
这块直接搜,没有在Hexo目录下的_config.yml文件中找到,将如下内容添加:
aplayer: |
主题配置文件_config.butterfly.yml中开启aplayerInject:
# Inject the css and script (aplayer/meting) |
下面介绍两种常见的用法:
普通页面播放器
在博客音乐播放页面(/source/music/index.md)中添加如下:
{% meting "8872308188" "netease" "playlist" "autoplay" "mutex:false" "listmaxheight:400px" "preload:none" "theme:#ad7a86"%} |
常用的选项如下所示:
server可选:netease(网易云音乐),tencent(QQ音乐),kugou(酷狗音乐),xiami(虾米音乐),baidu(百度音乐)。建议网易云
type可选:song(歌曲),playlist(歌单),album(专辑),search(搜索关键字),artist(歌手)。添加单曲选的歌曲,歌单选择playlist,可以自行尝试。
id获取示例: 打开网易云音乐,选择喜欢的歌单,在网页版打开,获取歌单list,填入即可。使用的时候将上边的ID号换为自己喜欢的歌单即可。注意歌单中不能包括VIP音乐,否则无法解析。建议单独建立一个歌单,以后有喜欢的音乐添加进去,网页也会自动同步添加。
lrcType设置为 -1默认显示歌词,放在fixed模式下比较合适。
全局吸底Aplayer模式
把 aplayer代码 插入到主题配置文件_config.butterfly.yml的 inject.bottom 即可。
inject: |
需要修改的参数就只有data-id、data-server、data-type、data-autoplay=”true”、data-lrcType=”-1”一些常用的参数,可以自行根据需要修改。
最后,如果你想切换页面时,音乐不会中断。请把主题配置文件的 pjax 设为 true即可。
pjax: |
创建主题图库
执行如下命令,创建photos页面
hexo n page photos #创建你的页面 |
在index.md文件的 Front-matter 中添加如下内容(不现实侧边栏和评论区)
添加图库集合页
图库集合页面就是普通的页面,比如上面创建的/photos/index.md页面,下面将其设置成一个图库集合页面!设置图库集合页面是使用外挂标签来实现的,书写格式如下:
<div class="gallery-group-main"> |
这里面每个galleryGroup中设置的内容如下:
- name:图库名字
- description:图库描述
- link:链接到对应相册地址
- img-url:图库封面地址
如下所示:
<div class="gallery-group-main"> |
这样设置后,页面就变成了这样
图库子页面
此时,点击任何一个图集,都会重定向到 404 页!这是因为我们还没有创建相应的子页面!这里我以《生活》这个相册为例来创建它的子页面!
第一步:打开终端,切换到本地 Hexo 博客的根目录下,执行如下命令
hexo new page life |
然后会在博客根目录下的/source目录下生成名为life的文件夹,并在其中生成一个名为index.md的文件,这个文件就对应着《生活》这个子页面!
但是此时图库子页面/source/life/index.md跟相册首页/source/photos/index.md是平级的:
第二步:将life整个文件夹都移动到album文件夹中:
第三步:此时打开/source/photos/life/index.md文件,修改如下:
第四步:然后在子页面(也就是/source/photos/life/index.md)中使用标签外挂挂上自己的照片,写法如下:
{% gallery %} |
比如我下面这样,填写很多个自己的图片(图片路径需要自己填充):
{% gallery %} |