dd4ba9263a
Also: use ?uri=%2Fpath%2F as path indicator.
95 lines
2.7 KiB
Plaintext
95 lines
2.7 KiB
Plaintext
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, were
|
||
Isso comes into play.
|
||
|
||
.. __: https://github.com/posativ/acrylamid
|
||
.. __: http://disqus.com/
|
||
|
||
|
||
Features
|
||
--------
|
||
|
||
...
|
||
|
||
|
||
Roadmap
|
||
-------
|
||
|
||
- lightweight SQLite backend
|
||
- create comments and modify/delete within a time range as user
|
||
- Ping/TrackBack™ support
|
||
- simple admin interface
|
||
- easy integration snippet, similar to Disqus
|
||
- spam filtering using `http:bl`__
|
||
|
||
.. __: https://www.projecthoneypot.org/
|
||
|
||
|
||
Installation
|
||
------------
|
||
|
||
Still a TODO, but later it's simply `easy_install isso`.
|
||
|
||
|
||
Migration from Disqus
|
||
---------------------
|
||
|
||
Go to `disqus.com <https://disqus.com/>`_ and export your "forum" as XML. If you
|
||
use Firefox and you get a 403, try a WebKit browser, Disqus did something very
|
||
weird with that download link. Next::
|
||
|
||
$ isso import /path/to/ur/dump.xml
|
||
|
||
That's it. Visit your admin page to see all threads. If it doesn't work for
|
||
you, please file in a bug report \*including\* your dump.
|
||
|
||
|
||
API
|
||
---
|
||
|
||
To fetch all comments for `http://example.tld/foo-bar/`, run
|
||
|
||
::
|
||
|
||
$ curl http://example.tld/isso?uri=%2Ffoo-bar%2F
|
||
|
||
To write a comment, you have to POST a JSON dictionary with the following
|
||
key-value pairs. Text is mandatory otherwise you'll get a 400 Bad Request.
|
||
You'll also get a 400 when your JSON is invalid.
|
||
|
||
Let's say you want to comment on /foo-bar/
|
||
|
||
::
|
||
|
||
$ curl http://example.tld/isso/new?uri=%2Ffoo-bar%2F -X POST -d \
|
||
'{
|
||
"text": "Lorem ipsum ...",
|
||
"name": "Hans", "email": "foo@bla.org", "website": "http://blog/log/"
|
||
}'
|
||
|
||
This will set a cookie, that expires in a few minutes (15 minutes per default).
|
||
This cookie allows you do modify or delete your comment. Don't try to modify
|
||
that cookie, it is cryptographically signed. If your cookie is outdated or
|
||
modified, you'll get a 403 Forbidden.
|
||
|
||
For each comment you'll post, you get an unique cookie. Let's try to remove
|
||
your comment::
|
||
|
||
$ curl -X DELETE 'http://example.tld/isso?uri=%2Ffoo-bar%2F&id=1'
|
||
|
||
If your comment has been referenced by another comment, your comment will be
|
||
cleared but not deleted to retain depending comments.
|
||
|
||
Alternatives
|
||
------------
|
||
|
||
- `talkatv <https://github.com/talkatv/talkatv>`_ – Python
|
||
- `Juvia <https://github.com/phusion/juvia)>`_ – Ruby on Rails
|
||
- `Tildehash.com <http://www.tildehash.com/?article=why-im-reinventing-disqus>`_ – PHP
|
||
- `SO: Unobtrusive, self-hosted comments <http://stackoverflow.com/q/2053217>`_
|