MCPcopy
hub / github.com/schn4ck/schnack

github.com/schn4ck/schnack @v0.2.3 sqlite

repository ↗ · DeepWiki ↗ · release v0.2.3 ↗
45 symbols 90 edges 17 files 0 documented · 0%
README

schnack.js

Schnack is a simple Disqus-like drop-in commenting system written in JavaScript.

What the schnack?

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.

Quickstart

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:






<script src="https://comments.example.com/embed.js"
    data-schnack-slug="post-slug"
    data-schnack-target=".comments-go-here">
</script>

or initialize schnack programmatically:







<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.

Configuration

Notify Providers:

  • pushover
  • webpush
  • slack
  • rss
  • sendmail

Who is behind Schnack?

Schnack is yet another happy collaboration between Webkid and Gregor Aisch.

Who is using Schnack?

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

Related projects

This is not a new idea, so there are a few projects that are doing almost the same thing:

Core symbols most depended-on inside this repo

$
called by 11
src/embed/client.js
error
called by 8
src/helper.js
getUser
called by 6
src/helper.js
isAdmin
called by 4
src/helper.js
saveComments
called by 3
src/importer.js
getSchnackDomain
called by 3
src/helper.js
refresh
called by 3
src/embed/client.js
formatWPComment
called by 2
src/importer.js

Shape

Function 37
Class 4
Method 4

Languages

TypeScript100%

Modules by API surface

src/importer.js11 symbols
src/helper.js8 symbols
src/embed/push.js8 symbols
src/embed/client.js8 symbols
src/auth.js3 symbols
src/push/index.js2 symbols
src/events.js2 symbols
src/server.js1 symbols
src/push/sendmail.js1 symbols
src/db/index.js1 symbols

Dependencies from manifests, versioned

babel-eslint10.0.1 · 1×
body-parser1.18.3 · 1×
connect-sqlite30.9.11 · 1×
cors2.8.5 · 1×
express4.16.4 · 1×
express-session1.15.6 · 1×
healthier2.0.0 · 1×
http-server0.12.3 · 1×
lodash.countby4.6 · 1×
marked0.3.19 · 1×
moment2.22.2 · 1×
nconf0.10.0 · 1×

For agents

$ claude mcp add schnack \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact