A Disqus alternative https://posativ.org/isso/
Go to file
2013-10-31 12:34:00 +01:00
docs allow multiple hosts, e.g. HTTP and HTTPS sites 2013-10-29 12:22:13 +01:00
isso detect Isso API endpoint when using *.dev.js script 2013-10-31 12:34:00 +01:00
specs improve doctests and refactor title extraction 2013-10-29 12:01:45 +01:00
.gitignore include uncompressed JS files for debugging purposes 2013-10-31 11:21:57 +01:00
CHANGES.rst Back to development: 0.2.3 2013-10-31 11:09:38 +01:00
CONTRIBUTING.md point to isso release on PyPi and remove CSS from inclusion snippet 2013-10-30 09:28:52 +01:00
isso.ini use uWSGIs locking 2013-10-30 10:52:06 +01:00
LICENSE re-license to MIT 2013-09-19 18:44:40 +02:00
Makefile include uncompressed JS files for debugging purposes 2013-10-31 11:21:57 +01:00
MANIFEST.in include uncompressed JS files for debugging purposes 2013-10-31 11:21:57 +01:00
README.md point to new isso website, also include changelog 2013-10-30 16:16:54 +01:00
setup.py Back to development: 0.2.3 2013-10-31 11:09:38 +01:00
tox.ini improve doctests and refactor title extraction 2013-10-29 12:01:45 +01:00

Isso Ich schrei sonst

You love static blog generators (especially Acrylamid cough) and the only option to interact with the community is Disqus. There's nothing wrong with it, but if you care about the privacy of your audience you are better off with a comment system that is under your control. This is, where Isso comes into play.

Try Yourself!

Isso is not stable (pretty far from that state) and the database format may change without any backwards compatibility. Just saying.

Features

  • CRUD comments written in Markdown
  • SQLite backend, Disqus import
  • client-side JS (currently 61kb minified, 21kb gzipped)
  • I18N, available in german and english (also fallback)

Roadmap

  • Ping/TrackBack™ support
  • simple admin interface (needs contributor)
  • spam filtering

Installation

  • Python 2.6, 2.7 or 3.3
  • easy_install or pip

Install Isso (and its dependencies) with:

~> pip install isso

Before you start, you may want to import comments from Disqus.com:

~> isso import ~/Downloads/user-2013-09-02T11_39_22.971478-all.xml
[100%]  53 threads, 192 comments

You start the server via (try to visit http://localhost:8080/static/post.html).

~> isso run

If that is working, you may want to edit the configuration.

Webserver Configuration

This part is not fun, I know. I have prepared two possible setups for nginx, using Isso on the same domain as the blog, and on a different domain. Each setup has its own benefits.

Isso on a Sub URI

Let's assume you want Isso on /isso, use the following nginx snippet:

server {
    listen       [::]:80;
    listen       [::]:443 ssl;
    server_name  example.tld;
    root         /var/www/example.tld;

    location /isso {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Script-Name /isso;
        proxy_pass http://localhost:8080;
    }
}
<script src="http://example.tld/isso/js/embed.min.js"></script>
<div id="isso-thread"></div>

Isso on a Dedicated Domain

Now, assuming you have your isso instance running on a different URL, such as http://example.tld:8080, but your blog runs on http://example.tld:

~> cat example.cfg
[general]
host = http://example.tld/
~> isso -c example.cfg run
2013-10-30 09:32:48,369 WARNING: unable to connect to SMTP server
2013-10-30 09:32:48,408 WARNING: connected to HTTP server
2013-10-30 09:32:48,409 INFO:  * Running on http://localhost:8080/

Make sure, Isso can connect to server that hosts your blog, otherwise you are not able to post comments.

Integrate Isso with:

<script src="http://example.tld:8080/js/embed.min.js"></script>
<div id="isso-thread"></div>

Also, put the plain isso server behind a real web server or use uWSGI.

Website Integration

To enable comments, add a <div id="isso-thread"></div> or <section id="isso-thread" ... below your post.

To add comment count links to your index page, include count.min.js at the very bottom of your document. All links followed by #isso-thread, are updated with the current comment count.

This functionality is already included when you embed embed.min.js, do not mix embed.min.js and count.min.js in a single document.

Other Documents

Alternatives