第2关:Hexo博客系统的改正性维护
🛠️ 国内环境通关步骤
定位到博客目录并克隆主题(使用 Gitee 国内镜像)
实验指南中给出了两个 Git 地址,必须使用 Gitee 链接,否则 GitHub 链接在国内大概率超时。
# 1. 确保进入了 blog 目录cd ~/blog
# 2. 清理可能存在的旧 next 目录,防止冲突
rm -rf themes/next
# 3. 使用 Gitee 镜像源极速下载 NexT 主题
git clone --depth=1 https://gitee.com/pkuzouyuhang/hexo-theme-next.git themes/next
# 4. 使用国内 npm 镜像安装 swig 渲染器
npm install hexo-renderer-swig --save --registry=https://registry.npmmirror.com修改站点配置文件 _config.yml
使用 sed 命令直接修改,免去手动用 vim 寻找行的麻烦,高效精准:Bash
# 将 _config.yml 中的 theme 字段修改为 next
sed -i 's/^theme:.*/theme: next/' _config.yml修改主题配置文件以开启统计功能
同样,我们直接通过脚本精准修改 themes/next/_config.yml 中不蒜子统计的 enable 配置:Bash
# 开启不蒜子访问量统计功能
sed -i '/busuanzi_count:/,/enable:/s/enable: .*/enable: true/' themes/next/_config.yml修复不蒜子统计的 Bug(改正性维护核心)
实验提到的 Bug 原因是旧版主题中的不蒜子官方 JS 链接失效了(原代码可能使用了不带 https 或旧域名的 dn-lbstatics.qbox.me)。我们直接使用 echo 覆写该文件,将其替换为国内最稳定、最新的官方 CDN 接口:
# 1. 确保目标目录存在
mkdir -p themes/next/layout/_third-party/analytics/
# 2. 直接写入修复后的正确代码(使用最新国内高可用 CDN 脚本)
cat << 'EOF' > themes/next/layout/_third-party/analytics/busuanzi-counter.swig
{% if theme.busuanzi_count.enable %}
<div class="busuanzi-count">
<script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
</div>
{% endif %}
EOF清理缓存并重新启动服务
# 1. 清理 Hexo 缓存
hexo clean
# 2. 重新生成并启动服务器
hexo server