Hexo Next主题美化
Hexo支持很多自定义主题和插件,本人使用的是Next主题,也涉及很多美化,为此记录一下。
添加页脚访客人数和总访问量
使用的是不蒜子来进行统计,不蒜子是一款记录访客和访问量的插件.
1.安装脚本
要使用不蒜子必须在页面中引入busuanzi.js
,在themes/next/layout/_partial/footer.swig
中添加脚本,代码如下
1 | <script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script> |
2.安装标签
要显示站点总访问量,复制以下代码添加到你需要显示的位置。有两种算法可选:
算法a:pv的方式,单个用户连续点击n篇文章,记录n次访问量。
1 | <span id="busuanzi_container_site_pv"> |
算法b:uv的方式,单个用户连续点击n篇文章,只记录1次访客数。1
2
3<span id="busuanzi_container_site_uv">
本站访客数<span id="busuanzi_value_site_uv"></span>人次
</span>
3.安装步骤
一般显示站点访问量在页脚,所以在footer.swig
中添加标签,在themes/next/_config.yml
中加入以下配置:
1 | # visitors count |
在themes/next/layout/_partial/footer.swig
中添加以下代码:
1 | {% if theme.footer.counter %} |
这样便可以在底部显示访问量了。之后使用hexo clean
清空缓存,使用hexo generate
重新生成站点文件,使用hexo deploy
部署,就能看到效果了。
设置Menu
菜单栏会显示可以跳转的页面。
如果还要添加,编辑
themes/next/_config.yml
:1
2
3
4
5
6
7
8menu:
home: / || home //首页
about: /about/ || user //关于
tags: /tags/ || tags //标签
categories: /categories/ || th //分类
archives: /archives/ || archive //归档
schedule: /schedule/ || calendar //日程表
sitemap: /sitemap.xml || sitemap //站点地图将需要的Menu前面
#
号去掉。
设置动态背景
主题配置文件中找到canvas_nest,设置成ture
1 | # Canvas-nest |
修改底部标签样式
- 修改
Blog\themes\next\layout\_macro\post.swig
中文件,搜索rel="tag">#
,将#
替换成<i class="fa fa-tag"></i>
。
侧边栏社交图标设置
打开主题配置文件
_config.yml
,搜索Social
,社交账号前面的#
号去掉。1
2
3
4
5
6
7
8
9
10
11
12
13#social:
GitHub: https://github.com/yourname || github
简书: https://www.jianshu.com/u/63445e24e8bf || heartbeat
掘金: https://juejin.im/user/5a371ae551882512d0607108 || spinner
#E-Mail: mailto:yourname@gmail.com || envelope
#Google: https://plus.google.com/yourname || google
#Twitter: https://twitter.com/yourname || twitter
#FB Page: https://www.facebook.com/yourname || facebook
#VK Group: https://vk.com/yourname || vk
#StackOverflow: https://stackoverflow.com/yourname || stack-overflow
#YouTube: https://youtube.com/yourname || youtube
#Instagram: https://instagram.com/yourname || instagram
#Skype: skype:yourname?call|chat || skype
添加网页顶部进度加载条
编辑主题配置文件,搜索
pace
,将其值改为ture
就可以了,选择一款你喜欢的样式。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19# Progress bar in the top during page loading.
pace: ture
# Themes list:
#pace-theme-big-counter
#pace-theme-bounce
#pace-theme-barber-shop
#pace-theme-center-atom
#pace-theme-center-circle
#pace-theme-center-radar
#pace-theme-center-simple
#pace-theme-corner-indicator
#pace-theme-fill-left
#pace-theme-flash
#pace-theme-loading-bar
#pace-theme-mac-osx
#pace-theme-minimal
# For example
# pace_theme: pace-theme-center-simple
pace_theme: pace-theme-minimal
添加点击爱心效果
在
/themes/next/source/js/src
下新建文件 clicklove.js ,接着把代码拷贝粘贴到 clicklove.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\next\layout\_layout.swig
文件末尾添加:1
<script type="text/javascript" src="/js/src/clicklove.js"></script>
背景图片设置
打开theme/next/source/css/_custom/custom.styl
,添加以下代码
1 | // Custom styles. |
文章添加阴影、透明效果
1 | // 主页文章添加阴影效果 |
文章末尾添加版权声明
查找主题配置文件themes/next/_config.yml
中的creative_commons
1 | creative_commons: |
文字背景以及半透明的设置
打开theme/next/source/css/_custom/custom.styl
,添加以下代码:
1 | .content { |