update README and make instructions

This commit is contained in:
posativ 2012-12-16 13:55:18 +01:00
parent eaaf1f4653
commit ba33f28f31
2 changed files with 39 additions and 21 deletions

View File

@ -1,7 +1,11 @@
all: all:
init: init:
(cd isso/js && ender build jeesh) cd isso/js
ender build jeesh
git clone https://github.com/posativ/promisejs.git
ender add promisejs
js: js:
cat isso/js/ender.js isso/js/isso.js > _.js cat isso/js/ender.js isso/js/isso.js > _.js

View File

@ -9,19 +9,29 @@ a comment system that is under your control. This is, were Isso comes into play.
[1]: https://github.com/posativ/acrylamid [1]: https://github.com/posativ/acrylamid
[2]: http://disqus.com/ [2]: http://disqus.com/
Current status: `nosetests specs/`. Ran 11 tests in 0.570s. Current Status
--------------
## Features/Roadmap - `nosetests specs/` ⇾ *Ran 17 tests in 0.491s*
- `(cd /path/static/html/ && isso)` ⇾ fire up your browser and visit your site except for `/`
- transparent and lightweight backend (SQLite or plain text files) Features/Roadmap
- simple JSON API (hence comments are JavaScript-only) ----------------
- create comments and modify/delete within a time range
- Ping/Trackback support (not implemented yet)
- simple admin interface (work in progress)
- easy integration, similar to Disqus (work in progress)
- spam filtering using [http:bl](https://www.projecthoneypot.org/) (not implemented yet)
## Hacking - [x] lightweight backend (SQLite)
- [ ] transparent backend (JSON)
- [x] simple JSON API, hence comments are JavaScript-only
- [x] create comments and modify/delete within a time range as user
- [ ] Ping/Trackback support
- [w] simple admin interface
- [w] easy integration, similar to Disqus
- [ ] spam filtering using [http:bl](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.
You'll need [2.6 ≤ python ≤ 2.7](http://python.org), [ender.js](http://ender.no.de/) and 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: [YUI Compressor](http://developer.yahoo.com/yui/compressor/). Then run:
@ -29,15 +39,17 @@ You'll need [2.6 ≤ python ≤ 2.7](http://python.org), [ender.js](http://ender
$ git clone https://github.com/posativ/isso.git && cd isso/ $ git clone https://github.com/posativ/isso.git && cd isso/
$ make init $ make init
$ make js $ make js
$ isso --test $ isso
Then go to <http://localhost:8000/static/post.html> to write a comment. Then go to <http://localhost:8080/static/post.html> and write a comment :-)
## Installation Installation
------------
Still a TODO, but later on it's simply `easy_install isso`. Still a TODO, but later it's simply `easy_install isso`.
## Migrating from Disqus Migration from Disqus
---------------------
Go to [disqus.com](https://disqus.com/) and export your "forum" as XML. If you 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 use Firefox and you get a 403, try a webkit browser, Disqus did something very
@ -48,11 +60,12 @@ weird with that download link. Next:
That's it. Visit your admin page to see all threads. If it doesn't work for you, 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. please file in a bug report \*including\* your dump.
## API API
---
To fetch all comments for a path, run To fetch all comments for a path, run
$ curl -H "Accept: application/json" http://example.org/comment/foo-bar/ $ curl http://example.org/comment/foo-bar/
To write a comment, you have to POST a JSON dictionary with the following key-value 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 pairs. Text is mandatory otherwise you'll get a 400 Bad Request. You'll also get
@ -60,7 +73,7 @@ a 400 when your JSON is invalid.
Let's say you want to comment on /foo-bar/ Let's say you want to comment on /foo-bar/
$ curl http://example.org/comment/foo-bar/new -H "Accept: application/json" -X POST -d \ $ curl http://example.org/comment/foo-bar/new -X POST -d \
'{ '{
"text": "Lorem ipsum ...", "text": "Lorem ipsum ...",
"name": "Hans", "email": "foo@bla.org", "website": "http://blog/log/" "name": "Hans", "email": "foo@bla.org", "website": "http://blog/log/"
@ -73,12 +86,13 @@ 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 -H ... -X DELETE http://example.org/comment/foo-bar/1 $ 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 If your comment has been referenced by another comment, your comment will be cleared but
not deleted to retain depending comments. not deleted to retain depending comments.
## Alternatives Alternatives
------------
- [Juvia](https://github.com/phusion/juvia) Ruby on Rails - [Juvia](https://github.com/phusion/juvia) Ruby on Rails
- [Tildehash.com](http://www.tildehash.com/?article=why-im-reinventing-disqus) PHP - [Tildehash.com](http://www.tildehash.com/?article=why-im-reinventing-disqus) PHP