6.2 KiB
title, tags, categories, abbrlink, copyright, comments, date
| title | tags | categories | abbrlink | copyright | comments | date | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Hexo NexT 主题不蒜子相关问题汇总 |
|
|
e96c9b26 | true | true | 2020-11-27 11:15:21 |
什么是不蒜子
不蒜子是 Bruce 开发的一款轻量级的网页计数器,可以将网站访问计数直接显示在网页上。
启用不蒜子
NexT 预置了不蒜子提供的网页计数功能。只需要在配置文件中启用即可。
# Show Views / Visitors of the website / page with busuanzi.
# Get more information on http://ibruce.info/2015/04/04/busuanzi
busuanzi_count:
enable: true # 启用不蒜子
total_visitors: true # 网站总访客数
total_visitors_icon: fa fa-user
total_views: true # 网站总浏览数
total_views_icon: fa fa-eye
post_views: true # 文章浏览数
post_views_icon: fa fa-eye
不蒜子和 Live2D 冲突的问题 (2020-11-27)
Hexo 版本:5.2.0
NexT 版本:8.0.2
不蒜子版本: 2.3
问题描述
添加 Live2D 前的不蒜子显示情况如下。
添加 Live2D 后,不蒜子在页面中不显示。
问题原因
经查,添加 Live2D 后网页的不蒜子部分源码的 style 从 "display: inline;" 替换为了 "display: none;"。
<span class="post-meta-item" title="阅读次数" id="busuanzi_container_page_pv" style="display: none;">
<span class="post-meta-item-icon">
<i class="fa fa-eye"></i>
</span>
<span class="post-meta-item-text"> 阅读次数:</span>
<span id="busuanzi_value_page_pv">19</span>
</span>
<span class="post-meta-item" title="阅读次数" id="busuanzi_container_page_pv" style="display: inline;">
<span class="post-meta-item-icon">
<i class="fa fa-eye"></i>
</span>
<span class="post-meta-item-text"> 阅读次数:</span>
<span id="busuanzi_value_page_pv">18</span>
</span>
解决方法
在网页生成引擎中修改代码,去掉不蒜子部分的 id 和 style 属性,重新生成网页即可解决该问题。若将 class 属性一并删除,会导不蒜子部分和前面的其他显示部分缺少分隔符,如下图。
具体需要修改两个文件,next/layout/_third-party/statistics/busuanzi-counter.swig 中修改的是网页页脚部分的不蒜子显示,next/layout/_macro/post.swig 中修改的博客文章阅览数的不蒜子显示。
{%- if theme.busuanzi_count.total_visitors %}
<span class="post-meta-item" id="busuanzi_container_site_uv" style="display: inline;">
<!-- ... -->
</span>
{%- endif %}
<!-- ... -->
{%- if theme.busuanzi_count.total_views %}
<span class="post-meta-item" id="busuanzi_container_site_pv" style="display: inline;">
<!-- ... -->
</span>
{%- endif %}
{%- if not is_index and theme.busuanzi_count.enable and theme.busuanzi_count.post_views %}
<span class="post-meta-item" title="{{ __('post.views') }}" id="busuanzi_container_page_pv" style="display: inline;">
<!-- ... -->
</span>
{%- endif %}
不蒜子和 Live2D 冲突的问题 (2023-04-08)
Hexo 版本:6.3.0
NexT 版本:8.15.1
不蒜子版本: 2.3
重新捣鼓博客的时候发现不蒜子又不显示了,依然已经不维护的 hexo-helper-live2d 插件导致的。2020 年的方法写的模棱两可,NexT 的一些网页架构也有了细微改变,因此将新的解决方法附于下方。很多方法是通过直接修改 NexT 主题下的源文件实现的,但是 NexT 并不推荐这样的写法,因为主题目录下的文件是会随着主题更新而被覆盖的,而且不便于使用 Git 管理。经过寻找,在 NexT 的 Github Issues 中找到了优雅的解决方法。
在 source/_data/styles.styl 中添加如下代码即可解决。
#busuanzi_container_site_uv, #busuanzi_container_site_pv, #busuanzi_container_page_pv {
display: inline !important;
}
REF:
上述解决方法来源:【必读】更新说明及常见问题
这篇文章分析了
hexo-helper-live2d插件导致不蒜子不显示的根本原因:busuanzi 访问量统计与 live2d 插件同时使用导致 busuanzi 不显示的根本原因以及解决方法