Hexo博客Jacman主题优化(一)--访问计数等
总阅读次
1.新增博客访问量统计和文章访问量统计
采用 不蒜子 极简计数器
在
themes/你的主题/layout/_partial/footer.ejs
中最后面添加脚本:1
2<script async src="https://dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js">
</script>
添加总pv计数和总uv计数
在上面footer.ejs文件最后添加这两个计数脚本:1
2
3
4
5
6<span id="busuanzi_container_site_pv">
Total visits: <span id="busuanzi_value_site_pv"></span>
</span>
<span id="busuanzi_container_site_uv">
You are Visiter No.<span id="busuanzi_value_site_uv"></span>
</span>
添加文章访问计数
这里我添加到标题右下方,正文上面的地方。
在
themes\jacman\layout_partial\post\header.ejs
中,1
2
3
4``` javascript
<span id="busuanzi_container_page_pv">
总阅读<span id="busuanzi_value_page_pv"></span>次
</span>
即可。
2.添加“热评文章”侧边栏
由于hexo没有内置诸如“热评文章”,“最新评论”等的widget,那么只能自定义widget,仿照其他的widget,在themes的_config.yml文件中的widgets下添加自定义widget的名称,如下面我添加了一个hot:1
2
3
4
5
6
7
8
9
10
11#### Widgets
widgets:
- github-card
- category
- archive
- tagcloud
- links
- rss
- weibo
- hot
## provide eight widgets:github-card,category,tag,rss,archive,tagcloud,links,weibo
然后在
D:\hexo\themes\jacman\layout\ _widget
目录下新建一个hot.ejs,在多说->后台管理->工具->热评文章中获取代码,写到hot.ejs文件中,然后在其上面写上名字“热评文章”,class=asidetitle。如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<p class="asidetitle">热评文章</p>
<div class="ds-top-threads" data-range="monthly" data-num-items="5"></div>
<!-- 多说公共JS代码 start (一个网页只需插入一次) -->
<script type="text/javascript">
var duoshuoQuery = {short_name:"whatbeg"};
(function() {
var ds = document.createElement('script');
ds.type = 'text/javascript';ds.async = true;
ds.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//static.duoshuo.com/embed.js';
ds.charset = 'UTF-8';
(document.getElementsByTagName('head')[0]
|| document.getElementsByTagName('body')[0]).appendChild(ds);
})();
</script>
<!-- 多说公共JS代码 end -->
即可。
分类优化
1.分类中含有诸如‘&’的特殊字符时,atom.xml文件就会报错,所以分类名尽量不要用此等特殊字符。
2.Jacman主题不支持多分类,如果在文章的md文件中想如此将文章加到多个分类中:1
2
3
4title: ...
date: ...
categories: [A,B]
那么在categories文件夹中会创建A分类和A\B分类,B分类目录是A分类目录的子目录,所以如果下一篇文章不是上述这样分类但是又有B时,如:1
2
3
4title: ...
date: ...
categories: B
这样又会创建一个跟A同目录的B分类文件夹,这里的B不等于上述的A\B,所以在侧边栏显示分类的时候就会显示两个B分类,显然违背了我们这样做的初衷。
解决方法有两个:
1.改进此主题
2.尽量只将文章分到一个类别,事实上归到多个标签就够了