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 id="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.
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:
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