V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
SukkaW
V2EX  ›  分享创造

DisqusJS - 一个超轻量级的 DISQUS「评论基础模式」

  •  4
     
  •   SukkaW ·
    SukkaW · 2018-10-12 13:56:01 +08:00 · 4627 次点击
    这是一个创建于 2245 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://github.com/SukkaW/DisqusJS

    使用 Disqus API 渲染评论列表,搭配 Disqus API 的反代可以实现在网络审查地区加载 Disqus 评论列表;支持自动检测访客的 Disqus 可用性自动选择加载原生 DISQUS (评论完整模式)和 DisqusJS 提供的评论基础模式。

    npm version Author npm license Size Travis Codacy Badge Dependency Status jsDelivr Hits

    简介

    最早在 https://imququ.com 上看到了屈哥用 Disqus API 开发的「评论基础模式」供无法访问 Disqus 的访客查看评论和发表评论。同样在使用 Disqus 的我打算造一个类似的东西,至少能让不能访问 Disqus 的访客可以查看已有评论列表,于是就有了 DisqusJS。

    特性

    • 通过 Disqus API 渲染评论列表
    • 判断访客是否能访问 DISQUS,自动选择不同模式

    Demo

    https://suka.js.org/DisqusJS

    安装

    下载 经过编译和压缩的 DisqusJS 相关文件,在需要安装 DisqusJS 的页面的 </head> 之前引入 DisqusJS 的 css、在 </body> 之前引入 Disqus 的 JS:

    <link rel="stylesheet" href="disqusjs.css">
    
    <script src="disqus.js"></script>
    

    也可以使用 CDN 加载上述所需文件:

    jsDelivr

    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/disqusjs.css">
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/disqus.js"></script>
    

    Unpkg

    <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/disqusjs.css">
    <script src="https://unpkg.com/[email protected]/dist/disqus.js"></script>
    

    在需要显示评论的地方插入下述代码:

    <div id="disqus_thread"></div>
    <script>
    var disqusjs = [];
    disqusjs.config = {
        shortname: '', // Your Disqus Shortname
        identifier: '', // Your thread identifier
        url: '', // Your page URL
        api: '', // API Endpoint
        apikey: '', // Your Disqus Application API Key
        admin: '', // Disqus Moderator's Username
        adminLabel: '' // Disqus Moderator Badge Text
    };
    </script>
    

    Disqus API Application 的配置方法和 DisqusJS 配置参数说明请 阅读 DIsqusJS 的 README


    为了便于使用静态博客、没有自己的 VPS 的个人博主使用,我搭建了一个 Disqus API 的反代,直接填在 api 中即可:https://disqus.skk.moe/disqus/

    注意

    • Disqus API 无法直接通过 AJAX 创建新评论( post ),需要专门编写后端程序,所以 DisqusJS 暂时不支持「评论基础模式」下创建新评论。
    • Disqus API 也不能使用 AJAX 初始化页面(创建新 thread ),所以如果 DisquJS 检测到当前页面没有初始化,会提示是否切换到 Disqus 完整模式。

    Author 作者

    DisqusJS © Sukka, Released under the GPL-3.0 License.

    Authored and maintained by Sukka with help from contributors (list).

    Personal Website · Blog · GitHub @SukkaW · Telegram Channel @SukkaChannel

    5 条回复    2018-10-13 15:58:00 +08:00
    hentaisan
        1
    hentaisan  
       2018-10-12 14:04:49 +08:00
    感谢分享.
    vincentxue
        2
    vincentxue  
       2018-10-12 14:55:34 +08:00
    不错,感谢分享。GPLv3 略表遗憾。。
    SukkaW
        3
    SukkaW  
    OP
       2018-10-12 15:01:10 +08:00   ❤️ 2
    @vincentxue 选择 GPL 是因为不仅仅屈哥有做 Disqus 的「平均基础模式」,也有不少人填了相关的坑。DisqusJS 是一个仅仅依赖前端的实现,我觉得使用 GPLv3 还是可以接受的。
    如果以后为了实现初始化页面、创建新评论这两个功能,写一套 disqus sdk 的话,这个后端部分可以开成 MIT。
    Zohar
        4
    Zohar  
       2018-10-13 01:29:14 +08:00
    支持一下 qwq
    搞得我都想入坑 Disqus 了 hhhh
    SukkaW
        5
    SukkaW  
    OP
       2018-10-13 15:58:00 +08:00   ❤️ 1
    @Zohar 好耶
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1026 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 19:48 · PVG 03:48 · LAX 11:48 · JFK 14:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.