Schnack is a simple Disqus-like drop-in commenting system written in JavaScript.
- Documentation
- Say hello to Schnack.js
- Follow @schnackjs on Twitter
Features:
- Tiny! It takes only ~8 KB!!! to embed Schnack.
- Open source and self-hosted.
- Ad-free and Tracking-free. Schnack will not disturb your users.
- It's simpy to moderate, with a minimal and slick UI to allow/reject comments or trust/block users.
- webpush protocol to notify the site owner about new comments awaiting for moderation.
- Third party providers for authentication like Github, Twitter, Google and Facebook. Users are not required to register a new account on your system and you don't need to manage a user management system.
This is the fastest way to setup schnack.
Requirements:
- Node.js (>= v6)
- npm (>= v5)
Clone or download schnack:
git clone https://github.com/schn4ck/schnack
Go to the schnack directory:
cd schnack
Install dependencies:
npm install
Copy and edit the config file according to configuration section:
cp config.tpl.json config.json
vim config.json # or open with any editor of your choice
Run the server:
npm start
Embed in your HTML page:
<div class="comments-go-here"></div>
<script src="https://comments.example.com/embed.js"
data-schnack-slug="post-slug"
data-schnack-target=".comments-go-here">
</script>
or initialize schnack programmatically:
<div class="comments-go-here"></div>
<script src="http://comments.example.com/client.js"></script>
<script>
new Schnack({
target: '.comments-go-here',
slug: 'post-slug',
host: 'http://comments.example.com'
});
</script>
You will find further information on the schnack page.
Notify Providers:
- pushover
- webpush
- slack
- rss
- sendmail
Schnack is yet another happy collaboration between Webkid and Gregor Aisch.
Schnack will never track who is using it, so we don't know! If you are a Schnack user, let us know and we'll add your website here. So far Schnack is being used on:
- https://schnack.cool (scroll all the day down)
- https://vis4.net/blog
- https://blog.datawrapper.de
- https://blog.webkid.io
This is not a new idea, so there are a few projects that are doing almost the same thing:
- CoralProject Talk - Node + MongoDB + Redis
- Discourse - Ruby on Rails + PostgreSQL + Redis
- Commento - Go + Node
- Isso - Python + SQLite3