Hexo + Fluid 美化
本博客的主题已由 Fluid 改为 Butterfly, 部分功能可能失效,请注意!
Hexo + Fluid 美化
Fluid 简介
Fluid 是基于 Hexo 的一款 Material Design 风格的主题,由 Fluid-dev 负责开发与维护。
主题 GitHub: https://github.com/fluid-dev/hexo-theme-fluid
预览网站:
Fluid 主题安装
方式一
Hexo 5.0.0 版本以上,推荐通过 npm 直接安装,进入博客目录执行命令:
1 | npm install --save hexo-theme-fluid |
提示:如果 npm 速度慢或者安装失败,可以通过淘宝镜像安装,即使用如下命令
1 | cnpm install --save hexo-theme-fluid |
然后在博客目录下创建 _config.fluid.yml
,将主题的 config.yml 内容复制进去。
方式二
下载 最新 release 版本 解压到 Hexo 博客目录中的 themes
目录,并将解压出的文件夹重命名为 fluid
。
指定 Fluid 主题
如下修改 Hexo 博客目录中的 _config.yml
:
1 | theme: fluid # 指定主题 |
Fluid 美化
基础配置修改
对于 Fluid 主题的基础配置修改,在 官方配置指南 以及 theme/fluid/_config.yml
或者 _config.fluid.yml
中有详细的提示说明,这里不再赘述。
注意
本文中的 " 博客配置 " 指的 Hexo 博客目录下的 _config.yml
," 主题配置 " 指的是 theme/fluid/_config.yml
或者 _config.fluid.yml
,注意区分
添加网站运行时间
页脚添加网站运行时间,只需要在主题配置中的 footer: content
添加:
1 | footer: |
之后在主题目录下创建 source/js/duration.js
,内容如下:
1 | var now = new Date(); |
将建站时间修改为你自己的建站时间,即可在页脚加入网站运行时间。
添加一言
在主题配置 _config.yml
中找到 custom_head
,修改如下:
1 | custom_head: ' |
修改完成之后,在任意地方添加如下代码即可获取一言
1 | <p id="hitokoto">:D 获取中...</p> |
添加 GitHub 日历热力图
这里提供一个简单的 API Github Chart API
直接在需要的位置添加如下 HTML 语句即可,注意将 GitHub 用户名修改为你自己的。
1 | <img src="https://ghchart.rshah.org/emoryhuang" alt="emoryhuang's Github chart" /> |
效果如下所示:
也可以改变颜色,只需要修改为 hex 颜色代码即可
1 | <img src="https://ghchart.rshah.org/409ba5/emoryhuang" alt="emoryhuang's Github chart" /> |
添加看板娘
向你的 Hexo 里放上一只二次元看板娘,项目地址
演示:https://l2dwidget.js.org/dev.html
模型预览:https://huaji8.top/post/live2d-plugin-2.0/
安装
在 Git Bash 中安装模块:
1 | npm install --save hexo-helper-live2d |
or
1 | yarn add hexo-helper-live2d |
配置
向 Hexo 的 _config.yml
文件添加配置,例子如下
1 | live2d: |
点这里 可以查看现有的模型
在 Git Bash 中安装喜欢的模型
1 | npm install 模型的包名 |
将包名输入位于 _config.yml
的 model.use
中。
1 | hexo clean |
添加背景黑色线条
背景黑色线条js代码
1 | !function(){function o(w,v,i){return w.getAttribute(v)||i}function j(i){return document.getElementsByTagName(i)}function l(){var i=j("script"),w=i.length,v=i[w-1];return{l:w,z:o(v,"zIndex",-1),o:o(v,"opacity",0.5),c:o(v,"color","0,0,0"),n:o(v,"count",99)}}function k(){r=u.width=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,n=u.height=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}function b(){e.clearRect(0,0,r,n);var w=[f].concat(t);var x,v,A,B,z,y;t.forEach(function(i){i.x+=i.xa,i.y+=i.ya,i.xa*=i.x>r||i.x<0?-1:1,i.ya*=i.y>n||i.y<0?-1:1,e.fillRect(i.x-0.5,i.y-0.5,1,1);for(v=0;v<w.length;v++){x=w[v];if(i!==x&&null!==x.x&&null!==x.y){B=i.x-x.x,z=i.y-x.y,y=B*B+z*z;y<x.max&&(x===f&&y>=x.max/2&&(i.x-=0.03*B,i.y-=0.03*z),A=(x.max-y)/x.max,e.beginPath(),e.lineWidth=A/2,e.strokeStyle="rgba("+s.c+","+(A+0.2)+")",e.moveTo(i.x,i.y),e.lineTo(x.x,x.y),e.stroke())}}w.splice(w.indexOf(i),1)}),m(b)}var u=document.createElement("canvas"),s=l(),c="c_n"+s.l,e=u.getContext("2d"),r,n,m=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(i){window.setTimeout(i,1000/45)},a=Math.random,f={x:null,y:null,max:20000};u.id=c;u.style.cssText="position:fixed;top:0;left:0;z-index:"+s.z+";opacity:"+s.o;j("body")[0].appendChild(u);k(),window.onresize=k;window.onmousemove=function(i){i=i||window.event,f.x=i.clientX,f.y=i.clientY},window.onmouseout=function(){f.x=null,f.y=null};for(var t=[],p=0;s.n>p;p++){var h=a()*r,g=a()*n,q=2*a()-1,d=2*a()-1;t.push({x:h,y:g,xa:q,ya:d,max:6000})}setTimeout(function(){b()},100)}(); |
将上面的代码复制,并在此目录下 themes/fluid/source/js/DynamicLine.js
创建文件,将代码全部粘贴进去。
然后在主题配置 _config.yml
中找到 custom_js
或者 custom_css
,修改如下:
1 | custom_js: |
如果不想这么麻烦或者不需要自行修改的话,可以使用我的提供的 CDN
在主题配置 _config.yml
中找到 custom_js
或者 custom_css
,修改如下:
(效果添加或去除注释 #
即可使用)
1 | custom_js: |
获取源码:
将 //cdn.jsdelivr.net/gh/EmoryHuang/BlogBeautify@1.1/DynamicLine.js
输入地址框即可
注意去除 .min
这是经过压缩之后的
后面类似的效果本文就不再放源码了,按上面的方法搜一下就好
添加动态彩带
1 | //cdn.jsdelivr.net/gh/EmoryHuang/BlogBeautify@1.1/DynamicRibbon.min.js # 动态彩带 |
添加静态彩带
1 | //cdn.jsdelivr.net/gh/EmoryHuang/BlogBeautify@1.1/Ribbon.min.js # 静态彩带 |
添加小雪花飘落效果
1 | //cdn.jsdelivr.net/gh/EmoryHuang/BlogBeautify@1.1/snowflake.min.js # 小雪花飘落 |
添加樱花飘落效果
1 | //cdn.jsdelivr.net/gh/EmoryHuang/BlogBeautify@1.1/Cherry.min.js #樱花飘落 |
鼠标跟随小星星
1 | //cdn.jsdelivr.net/gh/EmoryHuang/BlogBeautify@1.1/star.min.js # 鼠标跟随小星星 |
鼠标点击出字
1 | //cdn.jsdelivr.net/gh/EmoryHuang/BlogBeautify@1.1/containsWord.min.js # 鼠标点击出字 |
鼠标点击出爱心
1 | //cdn.jsdelivr.net/gh/EmoryHuang/BlogBeautify@1.1/love.min.js # 鼠标点击出爱心 |
滚动条颜色
1 | //cdn.jsdelivr.net/gh/EmoryHuang/BlogBeautify@1.1/scroll.css # 滚动条颜色 |
头部打字机颜色效果渐变
1 | //cdn.jsdelivr.net/gh/EmoryHuang/BlogBeautify@1.1/gradient.css # 头部打字机颜色效果渐变 |
更换鼠标指针样式
1 | //cdn.jsdelivr.net/gh/EmoryHuang/BlogBeautify@1.1/shubiao.css #鼠标指针 |