05_Hexo-twikoo数据从MongoDB导出-js适配pjax

:点击此处或下方 以展开或折叠目录

一. Twikoo数据从MongoDB导出

前言

  1. 参考文章 iMaeGoo张时贰

  2. 记录 twikoovercel + mongodb 改为 私有部署,数据导出过程

  3. Win 下使用 mongoexport 和客户端工具 失败(个人原因,作者的样例 是成功的),转而用云主机(CentOS 8.2)导出数据

步骤

参考自 iMaeGoo张时贰

  1. MongoDB官网下载 Database Tools,解压安装

1
2
3
4
5
# 登录 Vercel 管理后台,点开 Twikoo 的环境,点击上方的 Settings,点击左侧的 Environment Variables,在页面下方找到 MONGODB_URI,点击对应的小眼睛图标,会出现数据库连接地址,点击以复制这串地址;
# 如果地址中包含参数,请先删去参数,参数即 “?” 和 “?” 后面的部分,例如 ?journal=true&w=majority;
# 打开一个命令行窗口,粘贴以下命令:
mongoexport --uri 这里换成刚才复制的地址 --collection comment --type json --out twikoo-comments.json


二. js文件适配 PJAX

参考文章

张洪Hexo - pjax无法生效解决办法,butterfly主题维护你的pjax

Leonus - 评论区

心流 - 记录一次因为pjax导致js无法生效以及解决方案

  1. butterfly主题下

    butterfly的话就使用data-pjax属性来让js文件重载,因为这个是butterfly中写好的规则:

    1
    <script src="https://cdn.zhheo.com/JS-Heo/bb/showbb_in_index.js" data-pjax="" defer=""></script>
  2. 在自定义js文件按照下面这样写即可,可以把代码弄成一个函数,然后把函数名放在下面的函数里面

    1
    2
    3
    4
    5
    6
    7
    function whenDOMReady() {
    //此处填写需要执行的代码,如:
    //leonus.demo()
    }

    whenDOMReady() //打开网站之后先执行一次函数
    document.addEventListener("pjax:complete", whenDOMReady) //pjax加载完成之后执行上面函数