|
|
|
@ -1,10 +1,11 @@
|
|
|
|
|
Isso – Ich schrei sonst
|
|
|
|
|
=======================
|
|
|
|
|
|
|
|
|
|
You love static blog generators (especially [Acrylamid][1] \*cough\*) and the only
|
|
|
|
|
option to interact with the community is [Disqus][2]. There's nothing wrong with
|
|
|
|
|
it, but if you care about the privacy of your audience you should better use
|
|
|
|
|
a comment system that is under your control. This is, were Isso comes into play.
|
|
|
|
|
You love static blog generators (especially [Acrylamid][1] \*cough\*) and the
|
|
|
|
|
only option to interact with the community is [Disqus][2]. There's nothing
|
|
|
|
|
wrong with it, but if you care about the privacy of your audience you should
|
|
|
|
|
better use a comment system that is under your control. This is, were Isso
|
|
|
|
|
comes into play.
|
|
|
|
|
|
|
|
|
|
[1]: https://github.com/posativ/acrylamid
|
|
|
|
|
[2]: http://disqus.com/
|
|
|
|
@ -13,7 +14,7 @@ Current Status
|
|
|
|
|
--------------
|
|
|
|
|
|
|
|
|
|
- `nosetests specs/` ⇾ *Ran 17 tests in 0.491s*
|
|
|
|
|
- `(cd /path/static/html/ && isso)` ⇾ fire up your browser and visit your site except for `/`
|
|
|
|
|
- `(cd /path/static/html/ && isso)` ⇾ fire up your browser and visit `localhost:8080`
|
|
|
|
|
|
|
|
|
|
Features/Roadmap
|
|
|
|
|
----------------
|
|
|
|
@ -25,16 +26,19 @@ Features/Roadmap
|
|
|
|
|
- [ ] Ping/Trackback support
|
|
|
|
|
- [w] simple admin interface
|
|
|
|
|
- [w] easy integration, similar to Disqus
|
|
|
|
|
- [ ] spam filtering using [http:bl](https://www.projecthoneypot.org/)
|
|
|
|
|
- [ ] spam filtering using [http:bl][3]
|
|
|
|
|
|
|
|
|
|
[3]: https://www.projecthoneypot.org/
|
|
|
|
|
|
|
|
|
|
Development
|
|
|
|
|
-----------
|
|
|
|
|
|
|
|
|
|
*Note:* This project is proudly made with the Not Invented Here syndrome, instead of `werkzeug`
|
|
|
|
|
or `bottle` it uses about 100 lines to manage WSGI and instead of JQuery it uses ender.js.
|
|
|
|
|
*Note:* This project is proudly made with the Not Invented Here syndrome,
|
|
|
|
|
instead of `werkzeug` or `bottle` it uses about 100 lines to manage WSGI
|
|
|
|
|
and instead of JQuery it uses ender.js.
|
|
|
|
|
|
|
|
|
|
You'll need [2.6 ≤ python ≤ 2.7](http://python.org), [ender.js](http://ender.no.de/) and
|
|
|
|
|
[YUI Compressor](http://developer.yahoo.com/yui/compressor/). Then run:
|
|
|
|
|
You'll need [2.6 ≤ python ≤ 2.7][4], [ender.js][5] and [YUI Compressor][6].
|
|
|
|
|
Then run:
|
|
|
|
|
|
|
|
|
|
$ git clone https://github.com/posativ/isso.git && cd isso/
|
|
|
|
|
$ make init
|
|
|
|
@ -43,6 +47,10 @@ You'll need [2.6 ≤ python ≤ 2.7](http://python.org), [ender.js](http://ender
|
|
|
|
|
|
|
|
|
|
Then go to <http://localhost:8080/static/post.html> and write a comment :-)
|
|
|
|
|
|
|
|
|
|
[4]: http://python.org
|
|
|
|
|
[5]: http://ender.no.de/
|
|
|
|
|
[6]: http://developer.yahoo.com/yui/compressor/
|
|
|
|
|
|
|
|
|
|
Installation
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
@ -57,8 +65,8 @@ 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.
|
|
|
|
|
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
|
|
|
|
|
---
|
|
|
|
@ -67,9 +75,9 @@ To fetch all comments for a path, run
|
|
|
|
|
|
|
|
|
|
$ curl http://example.org/comment/foo-bar/
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
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/
|
|
|
|
|
|
|
|
|
@ -79,17 +87,18 @@ Let's say you want to comment on /foo-bar/
|
|
|
|
|
"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.
|
|
|
|
|
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:
|
|
|
|
|
For each comment you'll post, you get an unique cookie. Let's try to remove
|
|
|
|
|
your comment:
|
|
|
|
|
|
|
|
|
|
$ curl -X DELETE http://example.org/comment/foo-bar/1
|
|
|
|
|
|
|
|
|
|
If your comment has been referenced by another comment, your comment will be cleared but
|
|
|
|
|
not deleted to retain depending comments.
|
|
|
|
|
If your comment has been referenced by another comment, your comment will be
|
|
|
|
|
cleared but not deleted to retain depending comments.
|
|
|
|
|
|
|
|
|
|
Alternatives
|
|
|
|
|
------------
|
|
|
|
|