isso/README.md

158 lines
4.0 KiB
Markdown
Raw Normal View History

2012-10-17 20:44:35 +00:00
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 are
better off with a comment system that is under your control. This is, where
Isso comes into play.
2012-10-17 20:44:35 +00:00
[1]: https://github.com/posativ/acrylamid
2013-09-05 17:52:51 +00:00
[2]: https://disqus.com/
2012-10-17 20:44:35 +00:00
**[Try Yourself!](http://posativ.org/isso/)**
2013-09-12 17:10:03 +00:00
2012-10-17 20:44:35 +00:00
Features
--------
2012-10-17 20:44:35 +00:00
2013-10-30 09:06:09 +00:00
* [CRUD](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) comments written in Markdown
* SQLite backend, Disqus import
2013-10-31 16:14:49 +00:00
* client-side JS (currently 54kb minified, 18kb gzipped)
2013-10-03 12:36:00 +00:00
* I18N, available in german and english (also fallback)
2012-10-17 20:44:35 +00:00
2012-12-16 13:00:40 +00:00
Roadmap
-------
2012-12-16 12:55:18 +00:00
- Ping/TrackBack™ support
2013-10-29 16:21:39 +00:00
- simple admin interface (needs contributor)
2013-09-12 17:10:03 +00:00
- spam filtering
2012-10-25 14:20:16 +00:00
2012-12-16 13:00:40 +00:00
2012-12-16 12:55:18 +00:00
Installation
------------
2012-10-17 20:44:35 +00:00
- Python 2.6, 2.7 or 3.3
2013-10-31 16:14:49 +00:00
- a working C compiler
2013-09-12 17:10:03 +00:00
2013-10-31 16:14:49 +00:00
Install Isso with:
~> pip install isso
2013-10-31 16:14:49 +00:00
Set your database location and website:
2013-09-12 17:10:03 +00:00
2013-10-31 16:14:49 +00:00
~> cat my.cfg
[general]
dbpath = /var/lib/isso/comments.db
host = http://example.tld/
2013-10-31 16:14:49 +00:00
You can optionally import your comments from [Disqus.com](https://disqus.com/):
2013-10-31 16:14:49 +00:00
~> isso -c my.cfg import ~/Downloads/user-2013-09-02T11_39_22.971478-all.xml
[100%] 53 threads, 192 comments
2013-10-29 16:21:39 +00:00
2013-10-31 16:14:49 +00:00
You start the server via (try to visit [http://localhost:8080/check-ip]().
2012-10-17 20:44:35 +00:00
2013-10-31 16:14:49 +00:00
~> isso -c my.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-09-12 17:10:03 +00:00
2013-10-31 16:14:49 +00:00
Make sure, Isso can connect to the server that hosts your blog, otherwise you
are not able to post comments.
2013-09-12 17:10:03 +00:00
2013-10-31 16:14:49 +00:00
Website Integration
-------------------
2013-09-05 17:52:51 +00:00
2013-10-31 16:14:49 +00:00
You can run Isso on a dedicated domain or behind a sub URI like `/isso`. It
makes actually no difference except for the webserver configuration (see
below).
2013-10-31 16:14:49 +00:00
Whatever method you prefer (just change the URL), you add comments to your
site, add:
```html
2013-10-31 16:14:49 +00:00
<head>
...
<script src="http://example.tld/js/embed.min.js"></script>
...
</head>
<body>
...
<div id="isso-thread"></div>
...
</body>
```
2013-10-31 16:14:49 +00:00
The JavaScript client will automatically detect the API endpoint.
To show the comment count for a post, add `#isso-thread` to the link:
2012-10-17 20:44:35 +00:00
2013-09-12 17:10:03 +00:00
```html
2013-10-31 16:14:49 +00:00
<head>
...
<script src="http://example.tld/js/count.min.js"></script>
...
</head>
<body>
...
<a href="/path/to/post#isso-thread">Comments</a>
...
</body>
2013-09-12 17:10:03 +00:00
```
2012-10-17 20:44:35 +00:00
2013-10-31 16:14:49 +00:00
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.
### Webserver configuration
2013-10-31 16:14:49 +00:00
* nginx configuration to run Isso on `/isso`:
2013-10-31 16:14:49 +00:00
```nginx
server {
listen [::]:80;
listen [::]:443 ssl;
server_name example.tld;
root /var/www/example.tld;
2013-10-31 16:14:49 +00:00
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;
}
}
```
2013-10-31 16:14:49 +00:00
* nginx configuration to run Isso on a dedicated domain:
2012-10-17 20:44:35 +00:00
2013-10-31 16:14:49 +00:00
```nginx
server {
listen [::]:8080;
server_name comments.example.tld;
2012-10-23 19:09:51 +00:00
2013-10-31 16:14:49 +00:00
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080;
}
}
```
2012-10-17 20:44:35 +00:00
Documentation
-------------
2013-09-12 17:10:03 +00:00
2013-10-29 16:21:39 +00:00
- [Configuration](https://github.com/posativ/isso/blob/master/docs/CONFIGURATION.rst)
- [API overview](https://github.com/posativ/isso/raw/master/docs/API.md)
- [uWSGI usage](https://github.com/posativ/isso/blob/master/docs/uWSGI.md)
- [Contributing](https://github.com/posativ/isso/blob/master/CONTRIBUTING.md)
- [Development](https://github.com/posativ/isso/blob/master/docs/DEVELOPMENT.md)
2012-10-17 20:44:35 +00:00
2012-12-16 12:55:18 +00:00
Alternatives
------------
2012-10-17 20:44:35 +00:00
2013-09-12 17:10:03 +00:00
- [talkatv](https://github.com/talkatv/talkatv) Python
2013-09-12 17:20:31 +00:00
- [Juvia](https://github.com/phusion/juvia) Ruby on Rails
2013-09-12 17:10:03 +00:00
- [Tildehash.com](http://www.tildehash.com/?article=why-im-reinventing-disqus) PHP
- [SO: Unobtrusive, self-hosted comments](http://stackoverflow.com/q/2053217)