hexo美化
都自己搞了一个网站写博客,肯定希望塞点花里胡哨的东西到自己的个人博客里面。这里给出我个人用的主题next(简约用的人多教程多debug简单,玩的花)
给出下载链接
1 | git clone https://github.com/next-theme/hexo-theme-next themes/next |
然后塞到这个里面

在你网站的_config.yaml里面修改一下主题

注意:这里的主题名字要和你塞到theme下面的文件夹名称一样
然后就是
1 | hexo clean |
本地看看没有问题就可以传到你的github上面了
1 | hexo clean |

个人信息设置
个人信息设置
点开主站得config文件

个人头像设置

这里得图片我有点没太搞懂要怎么传,所以我采用图床得方式在github建立一个专门放照片得仓库之后将图片上传,而且也方便markdown文件里面文件得上传,可以看我另外一篇博客
新建标签及分类界面
打开主题配置文件,搜索 menu,找到如下代码:

然后点开我们的站点的Source,新键一下这些文件夹

新建一下index.md

就完成了创建
添加浏览进度
打开 themes/next/_config.yml,搜索关键字 scrollpercent,把 false改为 true。
效果图如下:

本地搜索
安装插件hexo-generator-searchdb,执行以下命令:
1 | npm install hexo-generator-searchdb --save |
修改hexo/_config.yml站点配置文件,新增以下内容到任意位置:
1 | search: |
编辑 主题配置文件,启用本地搜索功能:
1 | # Local search |
效果图:

设置网站图标
主题的_config.yaml中找到

把你的图像传上去,效果如下

添加近期文章功能
(适用于8.x)
在主站的source中创建_data文件夹一定是主站的source不是主题的source
在这个文件夹下创建sidebar.njk文件,格式如下:

输入以下代码
1 | <!-- recent posts --> |
然后点开主题搜索custom_file_path
把sidebar这块解除注释

然后输入以下代码
1 | recent_posts: true |
成果图:

看板娘可说话可互动
下载 大佬项目项目,解压到本地博客目录的themes/next/source下,修改文件夹名为 `live2d-widget`,修改项目中的 `autoload.js` 文件,如下:
1 | const live2d_path = "https://cdn.jsdelivr.net/gh/stevenjoezhang/live2d-widget/"; |
在/themes/next/layout/_layout.swing中,新增如下内容:
1 | <script src="/live2d-widget/autoload.js"></script> |
在 主题配置文件 中,新增如下内容:
1 | live2d: |
想修改看板娘大小、位置、格式、文本内容等,可查看并修改 waifu-tips.js 、 waifu-tips.json 和 waifu.css
自定义看板娘模型
看板娘github
文件如下:

然后下载一下live2d_api的项目live2d_api下载到本地
建议拉到主题的source文件夹下方便项目上传

点开model_list.yaml里面如下:

models里面放的是模型的路径
message里面放的是打招呼
然后打开model文件夹如下

里面存放的就是你的模型

-motion里面放的是人物的动作
jpg文件是人物的贴图
找到其中的某个json文件一般是model.json命名的打开如下

将这个json的名字改成index.json
在api文件夹下打开cmd
如果有使用过npm镜像请先关闭
输入命令登录
1 | npm adduser |
按照提示输入邮箱和密码
查看一下是否登录成功
1 | npm whoami |
如果提示网络错误可以设置代理
1 | npm config set proxy http://127.0.0.1:port |
修改package.json的信息并发布
-
先初始化
1
2npm init
修改api文件夹中的package.json的信息,将几处都换成你自己的链接
发布资源(会比较久,看大小和网速)
1
2
npm publish --public
通过CDN或unpkg访问
-
一般上传到npm后基本能立刻通过CDN访问到(可以在浏览器打开查看),但是不能超过100MB,格式如下(gcore的访问速度更好一点)
1
2
3https://unpkg.com/资源名@版本/
https://fastly.jsdelivr.net/npm/资源名@版本/
https://gcore.jsdelivr.net/npm/资源名@版本/
unpkg也可以使用,就是收录速度实在太慢了,还经常内部的文件夹打不开,不过它确实能加载更大的项目,格式如下(饿了么的源好一点)
1 | https://npm.elemecdn.com/资源名@版本/ |
打开你的livewd-wight文件夹下的autoload.js文件

将你的cdnpath替换成上面的建议用gcore比较快。
修改加载特效
由于网页不可能一直都秒进,总会等待一段时间的,所以可以设置顶部加载条。Next 已经集成了很多加载特效,可以在下面选项中在线调试测试一下。
搜索pace,找到如下代码

Valine评论区功能
网不好之后单独出一期
RSS订阅功能
首先先安装一下RSS feed插件
1 | npm install hexo-generator-feed --save |
编辑文件themes/next/_config.yml,在Sidebar Settings部分的最后添加以下设置
1 | sidebar_rss: |
然后打开themes/next/layout/_partials/sidebar/site-overview.swig在最下面插入
1 | {%- if theme.sidebar_rss %} |
效果图

鼠标点击红心特效
在 /themes/hexo-theme-spfk/source/js 下新建文件 love.js,在 love.js 文件中添加以下代码:
1 | !function(e,t,a){function n(){c(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 500%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"),o(),r()}function r(){for(var e=0;e<d.length;e++)d[e].alpha<=0?(t.body.removeChild(d[e].el),d.splice(e,1)):(d[e].y--,d[e].scale+=.004,d[e].alpha-=.013,d[e].el.style.cssText="left:"+d[e].x+"px;top:"+d[e].y+"px;opacity:"+d[e].alpha+";transform:scale("+d[e].scale+","+d[e].scale+") rotate(45deg);background:"+d[e].color+";z-index:99999");requestAnimationFrame(r)}function o(){var t="function"==typeof e.onclick&&e.onclick;e.onclick=function(e){t&&t(),i(e)}}function i(e){var a=t.createElement("div");a.className="heart",d.push({el:a,x:e.clientX-5,y:e.clientY-5,scale:1,alpha:1,color:s()}),t.body.appendChild(a)}function c(e){var a=t.createElement("style");a.type="text/css";try{a.appendChild(t.createTextNode(e))}catch(t){a.styleSheet.cssText=e}t.getElementsByTagName("head")[0].appendChild(a)}function s(){return"rgb("+~~(255*Math.random())+","+~~(255*Math.random())+","+~~(255*Math.random())+")"}var d=[];e.requestAnimationFrame=function(){return e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(e){setTimeout(e,1e3/60)}}(),n()}(window,document); |
在 \themes\hexo-theme-spfk\layout\layout.swig 文件末尾添加以下代码:
1 | <!-- 页面点击小红心 --> |
鼠标点击字体特效
在 /themes/hexo-theme-spfk/source/js 下新建文件 click_show_text.js,在 click_show_text.js 文件中添加以下代码:
1 | var a_idx = 0; |
在 \themes\hexo-theme-spfk\layout\layout.swig 文件末尾添加以下代码:
1 | <!--单击显示文字--> |
背景添加
可以在 themes/next/source/css/_schemes/Gemini/index.styl 中添加的代码(在最后添加即可),muse是我的 next 的布局样式(next默认是muse,在muse的index.styl添加也有同样的效果)。
1 | body { |

搜索框等透明化设置添加到刚刚的下面就可以
1 | body{ //修改主体字体颜色 |
背景不够透明怎么办,百度搜索在线图像透明化从根本解决烦恼
代码块mac美化
在主题的config.yml找到,codeblock设置即可

代码云
命令行安装一下
1 | npm install hexo-tag-cloud@^2.0.* --save |
在主题文件theme/next/layout/_macro/sidebar.swig添加下方代码
1 | {% if site.tags.length > 1 %} |
如下图所示

在主站的config.yml下添加配置
1 | tag_cloud: |
最后的结果是在侧边栏(我之前以为是在标签页结果搞了好久…)

彩色标签云
在/themes/next/layout/目录下,新增tag-color.swig文件,加入下方代码:
1 | <script type="text/javascript"> |
在/themes/next/layout/page.swig/中引入tag-color.swig:
在下方加上 {% include 'tag-color.swig' %} 代码
1 | <div class="tag-cloud"> |
效果图

标签放到首页
在路径:/themes/next/layout/index.swig 中{% block content %}下面添加下方代码
1 | {% block content %} |