Giter Site home page Giter Site logo

cheng-kang / wildfire Goto Github PK

View Code? Open in Web Editor NEW
178.0 12.0 18.0 34.51 MB

🔥From a little spark may burst a flame.

Home Page: https://wildfire.js.org

License: GNU General Public License v3.0

JavaScript 17.18% Vue 26.39% CSS 56.43%
wildfire firebase wilddog vuejs comment-plugin comments

wildfire's Introduction

Wildfire Backers on Open Collective Sponsors on Open Collective

A drop-in replacement for other comment plug-ins.

Please visit the brand new Wildfire Home Page (https://wildfire.js.org). Detailed documentation is available.

Started using wildfire? Share your website with others: We are using Wildfire! !

全新的 Wildfire 主页 (https://wildfire.js.org/#/zh-cn/) 已经启用了,快去那儿看看详细的文档吧。

点此查看 中文版 README.md

Intro

wildfire aims to be an it-just-works comment plug-in for personal websites, like your Hexo blogs. It takes advantage of free real-time databases (Firebase and Wilddog) to store your comments data, and provide you real-time communicating experience.

Continue reading Get Started, and start your journey with wildfire!

If you are using Wildfire, please share your website here: We are using Wildfire! :-D.

Features

For site owners:

For all visitors (anonymous & authorized):

  • Comment (with Markdown support)
  • Mention (@username)

For authorized visitors:

  • Like/dislike a comment
  • Delete own comments
  • Report inappropriate comments
  • Update user profile
    • Display name
    • Avatar
  • Personal Center:
    • Notification

Showcase

For more showcases, check this Wiki page: Who is using Wildfire?.

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

License

GNU General Public License v3.0

wildfire's People

Contributors

cheng-kang avatar momocow avatar monkeywithacupcake avatar mrliaocn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wildfire's Issues

不在维护了么?

问题描述 Issue Description

怎么了 What

[讲讲问题是什么。]
[Tell us about the issue.]

如何重现 Reproduce

[重新这个问题的步骤。]
[The steps to reproduce this issue. ]

其他的话 Other Comment

[其他要说的话请写在这里。]
[Add anything else here.]

不在维护了么?

野火系统内置样式覆盖highlightjs样式

问题描述 Issue Description

添加野火评论系统后,由于野火加载在最后并且内置的style重新定制了标签的样式。所以如果你想使用highlightJS定制你的代码样式时,会碰到原highlightjs样式被野火内置样式覆盖的问题。

[讲讲问题是什么。]
[Tell us about the issue.]

如何重现 Reproduce

  1. 在网站使用野火评论系统,配置theme:'light'

  2. 在网站引入highlightjs并导入主题样式,如agate.css

  3. 刷新网页, agate主题样式会被覆盖

📢`wildfire-dev` 开发者测试版

此 issue 为公告,因此未遵循 issue 模板。正常的 issue 应遵循 issue 模板创建。

经过很长一段时间之后,一些重要的功能更新终于在 wildfire 开发者测试版 中发布了。

当前最新的版本是:[email protected]

由于目前还没有明确的更新正式版的计划,如果想获得测试版本中对于一些以往的问题的修复或者体验新功能,请参照下方所述手动将版本切换到 [email protected]

使用方法

注意:由于新版本中数据结构和数据库安全规则有重大更新,为避免破坏以前的数据,需要新建一个数据库来运行新的版本。未来可能会推出一个脚本用于将以前的数据转移到新的数据库。

  1. 创建新的 Firebase / Wilddog 数据库项目,复制粘贴 安全规则

  2. 开启用户模块邮箱登录方式。

  3. 将一下代码添加到你的网站的恰当位置:

    <div class="wildfire_thread"></div>
    <script>
      var wildfireConfig = () => ({
        useDev: true, // 请使用这个配置项来启用开发者测试版
        version: '0.5.4', // 请使用这个配置项来指定特定版本号
        databaseProvider: 'firebase',
        databaseConfig: {
            apiKey: "...",
            authDomain: "...",
            databaseURL: "...",
            projectId: "...",
            storageBucket: "...",
            messagingSenderId: "..."
        },
      })
    </script> 
    <script src="https://unpkg.com/wildfire-comment"></script>

    新的版本将使用 wildfire-comment 来加载 wildfire

新功能

  • iframe 模式

    在这个版本中,wildfire 将通过 HTML5 中 iframe 的 srcdoc 属性被渲染在一个 iframe 标签内。

    解决了:#11

  • 插件

    新增了插件中心,管理员可以在插件中心添加插件并配置。开发者可参考已有插件开发自定义插件。

    已有插件:置顶评论匿名评论扩展

    解决了:#33

修复

展示

我的个人博客正在使用 [email protected]https://chengkang.me/2017/12/19/introduction-to-wildfire/#License

Error: PERMISSION_DENIED: This client does not have permission to perform this operation

问题描述 Issue Description

怎么了 What

Error: PERMISSION_DENIED: This client does not have permission to perform this operation
    at P (wilddog-web-all.js?e40d:204)
    at Object.eval [as P] (wilddog-web-all.js?e40d:210)
    at eval (wilddog-web-all.js?e40d:141)
    at mf.h.wg (wilddog-web-all.js?e40d:145)
    at Socket.eval (wilddog-web-all.js?e40d:134)
    at Socket.Emitter.emit (index.js?ea2f:134)
    at Socket.onPacket (socket.js?1006:442)
    at WS.eval (socket.js?1006:258)
    at WS.Emitter.emit (index.js?ea2f:134)
    at WS.Transport.onPacket (transport.js?87a5:143)

如何重现 Reproduce

如果在设置管理员时将 isAdmin 设置成了字符串 "true" 而非逻辑真值 true,就会出现这个错误。

This error occurs when you set isAdmin to string "true" instead of boolean true.

其他的话 Other Comment

isAdmin 设置为逻辑真值 true

Set isAdmin to boolean true.

有时掉线,开了vpn全局模式才能正常启动。

问题描述 Issue Description

刚部署好wildfire到jekyll NexT(首先感谢@cheng-kang)。不过发现一些问题,最大的问题是今天如果不开VPN的全局模式,wildfire就无法启动,我在国内。我在we are using wildfire! 打开其他人的博客,包括开发者cheng-kang 的也是无法启动。会不是firebase在国内的连接不太稳定。请问有啥解决办法吗?thanks!

页面url包含中文导致Edge浏览器一直处于“正在启动 Wildfire……”

问题描述 Issue Description

怎么了 What

只要文章url包含中文,用Edge浏览器打开就无法启动Wildfire,一直显示“正在启动 Wildfire……”

如何重现 Reproduce

Url包含中文的文章无法正常加载评论:
http://mrliao.cn/2017/12/25/在Hexo.NexT主题中部署Wildfire评论系统/
https://oaoa.me/vps/2017/12/为Hexo博客Next主题添加Wildfire评论系统/
Url不包含中文的文章可以正常加载评论:
https://oaoa.me/cplusplus/2017/12/Cef-Bug-Fix-List/

其他的话 Other Comment

  • Chrome 63.0.3239.84
  • Firefox 57.0.2
    以上浏览器均能正常加载评论

feature_request(auth): alternative authentication methods

1. Summary

It would be nice, if would be possible authenticate in Wildfire, use alternative authentication methods, supported by Firebase.

2. Argumentation

  1. Simplicity. Press to button Sign up via GitHub simply, that print e-mail and password.
  2. Spam preventing. At the time for Wildfire authentication even e-mail verification code not needed. Spammers needs merely fill authentication areas and post spam comments. Wildfire needs more spam protection.
  3. Data privacy. Firebase console admins can see users e-mails. Perhaps some users do not want show e-mail addresses, and we must respect their opinion.

3. Example of expected behavior

Site owner visit Firebase Console → Authentication → enable, for example, GitHub and Google.

WildfireFirebase authentication

Users can authenticate via GitHub and Google, not via e-mail solely.

Thanks.

一直处于评论加载中,错误码10403

问题描述 Issue Description

怎么了 What

页面一直处于评论加载中,打开开发者工具,发现ns.wilddog.com/v1/lookup?这个接口返回出错,错误码 10403。

如何重现 Reproduce

打开我博客任意一篇文章,必现。

其他的话 Other Comment

处理步骤:

*.oaoa.me
*.wilddog.com
*.wilddogio.com

仍然无法解决,临时解决方案是暂时关闭了安全域名。

suggestion

1.增加一个hexo的jade主题添加wildfire的wiki(ejs和swig都有了,就剩jade/pug了)。
2.希望增加一个评论的样式,即传统的昵称、邮箱、网站(可选)、评论内容 这个样式。
当然,作为评论管理者,可以随时切换现有的登陆样式还是传统样式,只是给大家多一个选择罢了。

增强对HTTPS的支持

问题描述 Issue Description

用户发布的内容,会影响全站https

怎么了 What

在发布评论、设置头像时,有些图片的来源不是https时,会导致无法实现全站https
因此对启用https的站点,用户在发布评论、设置头像时,应当强制检查https

如何重现 Reproduce

无需重现

其他的话 Other Comment

Cannot read property 'initializeApp' of undefined

问题描述 Issue Description

怎么了 What

wildfire.min.js:1 Uncaught TypeError: Cannot read property 'initializeApp' of undefined
    at Object.install (wildfire.min.js:1)
    at 2.html:33

如何重现 Reproduce

如果在加载 firebase.js 或者 wilddog.js 之前加载 wildfire.min.js 的话,就会出现这个错误。

This error occurs when loading firebase.js or wilddog.js after wildfire.min.js.

E.g.:

  <script src="https://cdn.jsdelivr.net/npm/vue"></script>
  <script src="https://cdn.wilddog.com/sdk/js/2.5.17/wilddog.js"></script>
  <script src="https://unpkg.com/wildfire/dist/wilddog/wildfire.min.js"></script>

其他的话 Other Comment

如果你是用这种方式加载 wildfire 的话,请确保将 wildfire.min.js 放在最后加载。

Please make sure wildfire.min.js is the last to be loaded if you are loading wildfire in this way.

We are using Wildfire!

Thanks for using Wildfire

If you are using wildfire comment system, please leave a comment and share your website.

We will add your website link to Wildfire Wiki: We are using Wildfire! ASAP.

Template

Site Title: [Example Title]
URL: [https://example.com]
Tags:[tech, life...]
Description: [Any other words...]

pageURL字段值包含中文字段导致wildfire一直处于加载中

问题描述 Issue Description

怎么了 What

pageURL字段值包含中文或者其他非标准url字段,会导致wildfire一直处于加载中
_20171227141530
_20171227141457
_20171227141837

如何重现 Reproduce

  1. Hexo的Next主题下,设置pageURL: '{{page.permalink}}'
  2. 文章标题包含中文

其他的话 Other Comment

现在的临时解决方案是,在swig层对url进行编码pageURL: '{{page.permalink|url_encode}}',具体可以参考我的博客
但还是觉得sdk层应该对这种不可信url进行编码之后再处理比较好。

短信实名功能

问题描述 Issue Description

提供一个短信验证的功能

虽然知道会被喷,但是国内环境必须有一个实名的姿势,可以对接一些短信服务的API

怎么了 What

[讲讲问题是什么。]
《互联网跟帖评论服务管理规定》

svg文件丢失导致页面持续处于加载状态

问题描述 Issue Description

svg文件丢失导致页面持续处于加载状态

怎么了 What

[讲讲问题是什么。]
[Tell us about the issue.]

如何重现 Reproduce

cdn.rawgit.com/cheng-kang/wildfire/088cf3de/resources/wildfire-avatar.svg:1 GET https://cdn.rawgit.com/cheng-kang/wildfire/088cf3de/resources/wildfire-avatar.svg net::ERR_CONNECTION_TIMED_OUT

[重新这个问题的步骤。]
[The steps to reproduce this issue. ]
qq 20180320205758

其他的话 Other Comment

[其他要说的话请写在这里。]
[Add anything else here.]

How to disable anonymous users from authenticating

问题描述 Issue Description

i would like to get help regarding on how to disable anonymous users from commenting

怎么了 What

[讲讲问题是什么。]
[Tell us about the issue.]

如何重现 Reproduce

[重新这个问题的步骤。]
[The steps to reproduce this issue. ]

其他的话 Other Comment

[其他要说的话请写在这里。]
[Add anything else here.]

Add support for React

问题描述 Issue Description

Add support for React

怎么了 What

This is a cool project that I want to use for my personal blog. But it only supports Vue. Can we add a port for React too?

如何重现 Reproduce

其他的话 Other Comment

Not sure if this project is still under active development. If so, I would like to help with this feature.

请问在Jekyll NexT中如何部署wildfire评论系统?

wildfire看起来不错,不过现在的教程都是基于Hexo NexT主题的,我尝试把wildfire安装到自己的Jekyll NexT系统。按照这篇教程,我修改了/_includes/_partials/comments.html文件,并把theme.换成了site.。在.config.yml中也按照教程增加了配置代码。不过编译不通过...想知道哪位大神知道什么原因?谢谢啦

feature_request(e-mail): e-mail notifications

1. Summary

It would be nice, if Wildfire will support automatically e-mail notifications.

  • Admins will receive notifications if post any comment;
  • Another user — replies to his comments and mentions to him.

I don't find, how I can do it in Wildfire documentation.

2. Argumentation

Site owners must quickly get comments, that:

  • reply to users
  • ban spammers

Another users must automatically get reminders, if reply or mention; they don't must manually update page pending comment.

It a critical feature for comments services as Wildfire.

3. Steps to reproduce

I setup Firebase database and add Wildfire to my site → I post comment → I reply to comment from different account:

Reply to comment

Records in Firebase console:

Firebase console

4. Expected behavior

Successful e-mail notification.

5. Actual behavior

No e-mail notification.

I try:

  • GMail
  • Yahoo Mail
  • Tutanota

I check Spam folder.

Thanks.

📢`wildfire-dev` developer beta version

This issue is not following the template because it is an announcement. Normal issues should follow issue template.

It's been a while, but finally some major features are released in the wildfire developer beta version.

The latest version is: [email protected].

Because we don't have a plan for public release yet, if you want the fixes of issues of previous versions or want to try the new features, please follow the instruction below to manually switch to [email protected].

Usage

Note: the new version includes major data structure & database security rules change. To avoid damaging old data, please create a new database to run the new version. We may publish a script for migrating old data to new database in the future.

  1. Create a new Firebase / Wilddog project,copy & paste security rules

  2. Activate email-password login method in authentication.

  3. Add following code to the right place of your website:

    <div class="wildfire_thread"></div>
    <script>
      var wildfireConfig = () => ({
        useDev: true, // Use this config to activate dev version
        version: '0.5.4', // Use this config to specify specific version
        databaseProvider: 'firebase',
        databaseConfig: {
            apiKey: "...",
            authDomain: "...",
            databaseURL: "...",
            projectId: "...",
            storageBucket: "...",
            messagingSenderId: "..."
        },
      })
    </script> 
    <script src="https://unpkg.com/wildfire-comment"></script>

    New version will be using wildfire-comment to load wildfire.

New Features

  • iframe mode

    In the new version, wildfire will be rendered inside an iframe tag using HTML5 srcdoc attribute of iframe.

    Fixes: #11

  • Plugins

    New plugin center. Admins can now add & configure plugins from Plugin Center. Developers can refer to existing plugins to create more custom plugins.

    Existing plugins: Pinned CommentExtended Anonymous Comment

    Fixes: #33

Fixes

Showcase

My personal blog is using [email protected]https://chengkang.me/2017/12/19/introduction-to-wildfire/#License

无法显示成功登录后的信息

无法显示成功登录后的信息

更换 最新0.5.6 Dev wildfire后 依旧 无法显示成功登录后的信息

HUGO 驱动的 https://narutosenki.top/contact 个人测试网站,看了作者大大 网页框架是0.5.6 我就全都复制过来,改下自己的firebase key 依旧和之前使用老版本(使用Vue)wildfire评论系统 一样情况----可以提示登录成功,但之后和没登录的界面一样,只能匿名发言,firebase 配置也是dev rules,数据也能看到,不知是哪里出错了......研究10多个小时无果,前来求助--(浏览器-->chrome+vpn插件)

如果大佬就时间

麻烦帮我看看,在下感激不尽

Cannot use 'in' operator to search for 'uid' in null

问题描述 Issue Description

无法登录野火🔥

怎么了 What

[讲讲问题是什么。]
[Tell us about the issue.]

Uncaught (in promise) TypeError: Cannot use 'in' operator to search for 'uid' in null
    at a.j [as $set] (vue:6)
    at wildfire.min.js:1
    at <anonymous>

如何重现 Reproduce

可以到我的博客看一下
[重新这个问题的步骤。]
[The steps to reproduce this issue. ]

其他的话 Other Comment

[其他要说的话请写在这里。]
[Add anything else here.]

[UI BUG] UI is affected by global styles of Hexo

问题描述 Issue Description

怎么了 What

Hexo 主题的全局样式影响了 wildfire UI,如下图所示。

wildfire UI is affected by global styles of Hexo themes, as shown in the pic below.

Hexo UI BUG

如何重现 Reproduce

[无必要重现。]
[No need.]

其他的话 Other Comment

建议:给所有的 wf 元素添加 reset.css

Proposal: add reset.css for all wf elements.

Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.

问题描述 Issue Description

怎么了 What

wildfire.count.js:1 Uncaught DOMException: Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.
    at https://unpkg.com/[email protected]/dist/wildfire.count.js:1:1049
    at Object.<anonymous> (https://unpkg.com/[email protected]/dist/wildfire.count.js:1:1300)
    at t (https://unpkg.com/[email protected]/dist/wildfire.count.js:1:101)
    at https://unpkg.com/[email protected]/dist/wildfire.count.js:1:477
    at https://unpkg.com/[email protected]/dist/wildfire.count.js:1:486

如何重现 Reproduce

v0.3.0 版本及之前,如果设置了 pageURL 配置并且 pageURL 中包含 Unicode 字符(比如中文),就会出现这个错误。

In wildfire@<0.3.1 versions, if pageURL is manually set and contains Unicode string (e.g. Chinese characters), this error would occur.

其他的话 Other Comment

v0.3.1 版本中该问题已被修复。

This has been fixed in v0.3.1.

建议拓展匿名评论的功能

问题描述 Issue Description

建议拓展匿名评论的功能

怎么了 What

目前评论方式分为匿名评论与注册登录评论两种,而匿名评论的形式无法区分评论者身份。因此我建议拓展匿名评论的功能,使之能够使用传统的邮箱+用户名的形式来评论,同时也可以接入gravatar的服务。
经我浅薄的思考,认为现在的评论方式有以下几点弊端:

  • 想要以个人身份而不是匿名用户的身份进行评论必须要注册登录。
    wildfire的主要受众应该是使用静态博客程序的个人博主们。从评论者的角度出发,对一个个人博客网站进行评论还要单独注册,这无疑增加了使用负担,同时也很可能会担心密码安全。应该会表现为评论数稀少或者主要是匿名评论。
  • 注意到注册用户的信息是储存在各站自己的PaaS中,这也就意味着即使对使用同一评论系统的不同站点也需要重复注册登录的步骤才能以个人身份评论。
    关于这点或许可以通过搭建api服务来解决,把用户信息放入api的数据库中,评论信息储存在各站的PaaS中。

以上便是我个人的一点不成熟的小建议。

其他的话 Other Comment

最后必然要感谢开发者的辛勤付出,谢谢。: )

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.