diff --git a/Makefile b/Makefile index 45797f2..9072250 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,11 @@ all: 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: cat isso/js/ender.js isso/js/isso.js > _.js diff --git a/Readme.md b/README similarity index 64% rename from Readme.md rename to README index 982b380..0322c77 100644 --- a/Readme.md +++ b/README @@ -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 [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) -- 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) +Features/Roadmap +---------------- -## 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 [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/ $ make init $ make js - $ isso --test + $ isso -Then go to to write a comment. +Then go to 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 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, please file in a bug report \*including\* your dump. -## API +API +--- 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 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/ - $ 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 ...", "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: - $ 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 not deleted to retain depending comments. -## Alternatives +Alternatives +------------ - [Juvia](https://github.com/phusion/juvia) – Ruby on Rails - [Tildehash.com](http://www.tildehash.com/?article=why-im-reinventing-disqus) – PHP