主题优化
选择主题
Hexo默认的主题是landscape
,推荐以下主题:
详见:https://github.com/search?q=hexo-theme
应用主题
- 下载主题
- 将下载好的主题文件夹,粘贴到站点目录的
themes
下。 - 更改站点配置文件
_config.yml
的theme字段,为主题文件夹的名称:
1 | # Extensions |
优化常见问题
以上主题都有比较详细的说明文档,本节主要解决主题优化的常见问题。
主题优化一般包括:
设置「RSS」
添加「标签」页面
添加「分类」页面
设置「字体」
问题:引用国外字体镜像较慢。
解决:可以改用国内的。将\themes*\layout_partials\head external-fonts.swig文件中fonts.google.com改成fonts.lug.ustc.edu.cn。
设置「代码高亮主题」
侧边栏社交链接
问题:图标哪里找?
解决:Font Awesome
开启打赏功能
问题:微信支付宝二维码不美观,规格不一。
解决:在线生成二维码
设置友情链接
腾讯公益404页面
站点建立时间
订阅微信公众号
设置「动画效果」
问题:慢,需要等待 JavaScript 脚本完全加载完毕后才会显示内容。
解决:将主题配置文件_config.yml
中,use_motion字段的值设为false
来关闭动画。设置「背景动画」
主题优化还包括:
添加背景图
在 themes/*/source/css/_custom/custom.styl 中添加如下代码:
1 | body{ |
修改Logo字体
在 themes/*/source/css/_custom/custom.styl
中添加如下代码:
1 | @font-face { |
其中字体文件在 themes/next/source/fonts
目录下,里面有个 .gitkeep
的隐藏文件,打开写入你要保留的字体文件,比如我的是就是写入 Zitiming.ttf
,具体字库自己从网上下载即可。
修改内容区域的宽度
编辑主题的 source/css/_variables/custom.styl
文件,新增变量:
1 | // 修改成你期望的宽度 |
网站标题栏背景颜色
打开 themes/*/source/css/_custom/custom.styl
,在里面写下如下代码:
1 | .site-meta { |
自定义鼠标样式
打开 themes/*/source/css/_custom/custom.styl
,在里面写下如下代码:
1 | // 鼠标样式 |
文章加密访问
打开 themes/*/layout/_partials/head.swig
文件,在 ``之前插入代码:
1 | <script> |
写文章时加上password: *
:
1 | --- |
实现点击出现桃心效果
- 在
/themes/*/source/js/src
下新建文件click.js
,接着把以下粘贴到click.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: 50%;-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\*\layout\_layout.swig
文件末尾添加:
1 | <!-- 页面点击小红心 --> |
静态资源压缩
在站点目录下:
1 | npm install gulp -g |
安装gulp插件:
1 | npm install gulp-minify-css --save |
在 Hexo
站点下新建 gulpfile.js
文件,文件内容如下:
1 | var gulp = require('gulp'); |
只需要每次在执行 generate
命令后执行 gulp
就可以实现对静态资源的压缩,压缩完成后执行 deploy
命令同步到服务器:
1 | hexo g |
修改访问URL路径
默认情况下访问URL路径为:domain/2018/10/18/关于本站
,修改为 domain/About/关于本站
。 编辑 Hexo
站点下的 _config.yml
文件,修改其中的 permalink
字段:
1 | permalink: :category/:title/ |
博文置顶
- 安装插件
1 | npm uninstall hexo-generator-index --save |
然后在需要置顶的文章的Front-matter中加上top即可:
1 | --- |
- 设置置顶标志
打开:/themes/*/layout/_macro/post.swig,定位到
,插入以下代码即可:
1 | {% if post.top %} |
在右上角或者左上角实现fork me on github
- 选择样式GitHub Ribbons,
- 修改图片跳转链接,将
<a href="https://github.com/you">
中的链接换为自己Github链接: - 打开
themes/next/layout/_layout.swig
文件,把代码复制到<div class="headband"></div>
下面。
主页文章添加边框阴影效果
打开 themes/*/source/css/_custom/custom.styl
,向里面加代码:
1 | // 主页文章添加阴影效果 |
显示当前浏览进度
修改themes/*/_config.yml
,把 false
改为 true
:
1 | # Back to top in sidebar |
创建分类页
在终端窗口下,定位到 Hexo
站点目录下,新建:
1 | cd <站点目录> |
加入 广告
注册,复制广告代码
部署到网站。
2.1. 新建
theme/*/layout/_custom/google_ad.swig
,将 AdSense 上的代码粘贴进去
2.2. 头部。在theme/*/layout/_custom/head.swig
中也粘贴一份
2.3. 每篇博客。在theme/*/layout/post.swig
里中在希望看到的地方加上:1
{% include '_custom/google_ad.swig' %}
例如:在
<div id="posts" class="posts-expand"> </div>
中间插入,总代码如下:1
2
3
4
5
6{% block content %}
<div id="posts" class="posts-expand">
{{ post_template.render(page) }}
{% include '_custom/google_ad.swig' %}
</div>
{% endblock %}等待审核通过。如果失败,可再次申请。
添加萌萌哒
安装插件
1
npm install --save hexo-helper-live2d
复制你选择的模型名字:
将以下代码添加到主题配置文件
_config.yml
,修改<你喜欢的模型名字>:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16live2d:
enable: true
scriptFrom: local
pluginRootPath: live2dw/
pluginJsPath: lib/
pluginModelPath: assets/
tagMode: false
log: false
model:
use: live2d-widget-model-<你喜欢的模型名字>
display:
position: right
width: 150
height: 300
mobile:
show: true建配置文件
4.1. 在站点目录下建文件夹
live2d_models
,4.2. 再在
live2d_models
下建文件夹<你喜欢的模型名字>
,4.3. 再在
<你喜欢的模型名字>
下建json文件:<你喜欢的模型名字>.model.json安装模型。在命令行(即Git Bash)运行以下命令即可:
npm install –save live2d-widget-model-<你喜欢的模型名字>
在命令行(即Git Bash)运行以下命令, 在
https://127.0.0.1:4000/
查看测试结果:hexo clean && hexo g && hexo s