rewrite website integration part

This commit is contained in:
Martin Zimmermann 2013-10-31 17:14:49 +01:00
parent dea4c88162
commit 4a59ad95c3

141
README.md
View File

@ -12,16 +12,13 @@ Isso comes into play.
**[Try Yourself!](http://posativ.org/isso/)** **[Try Yourself!](http://posativ.org/isso/)**
Isso is not stable (pretty far from that state) and the database format may
change without any backwards compatibility. Just saying.
Features Features
-------- --------
* [CRUD](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) comments written in Markdown * [CRUD](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) comments written in Markdown
* SQLite backend, Disqus import * SQLite backend, Disqus import
* client-side JS (currently 61kb minified, 21kb gzipped) * client-side JS (currently 54kb minified, 18kb gzipped)
* I18N, available in german and english (also fallback) * I18N, available in german and english (also fallback)
@ -37,38 +34,82 @@ Installation
------------ ------------
- Python 2.6, 2.7 or 3.3 - Python 2.6, 2.7 or 3.3
- easy_install or pip - a working C compiler
Install Isso (and its dependencies) with: Install Isso with:
~> pip install isso ~> pip install isso
Before you start, you may want to import comments from Set your database location and website:
[Disqus.com](https://disqus.com/):
~> isso import ~/Downloads/user-2013-09-02T11_39_22.971478-all.xml ~> cat my.cfg
[general]
dbpath = /var/lib/isso/comments.db
host = http://example.tld/
You can optionally import your comments from [Disqus.com](https://disqus.com/):
~> isso -c my.cfg import ~/Downloads/user-2013-09-02T11_39_22.971478-all.xml
[100%] 53 threads, 192 comments [100%] 53 threads, 192 comments
You start the server via (try to visit [http://localhost:8080/static/post.html]()). You start the server via (try to visit [http://localhost:8080/check-ip]().
~> isso run ~> 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
If that is working, you may want to [edit the configuration](https://github.com/posativ/isso/blob/master/docs/CONFIGURATION.rst). Make sure, Isso can connect to the server that hosts your blog, otherwise you
are not able to post comments.
Webserver Configuration Website Integration
----------------------- -------------------
This part is not fun, I know. I have prepared two possible setups for nginx, You can run Isso on a dedicated domain or behind a sub URI like `/isso`. It
using Isso on the same domain as the blog, and on a different domain. Each makes actually no difference except for the webserver configuration (see
setup has its own benefits. below).
### Isso on a Sub URI Whatever method you prefer (just change the URL), you add comments to your
site, add:
Let's assume you want Isso on `/isso`, use the following nginx snippet: ```html
<head>
...
<script src="http://example.tld/js/embed.min.js"></script>
...
</head>
<body>
...
<div id="isso-thread"></div>
...
</body>
```
```nginx The JavaScript client will automatically detect the API endpoint.
server { To show the comment count for a post, add `#isso-thread` to the link:
```html
<head>
...
<script src="http://example.tld/js/count.min.js"></script>
...
</head>
<body>
...
<a href="/path/to/post#isso-thread">Comments</a>
...
</body>
```
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
* nginx configuration to run Isso on `/isso`:
```nginx
server {
listen [::]:80; listen [::]:80;
listen [::]:443 ssl; listen [::]:443 ssl;
server_name example.tld; server_name example.tld;
@ -79,54 +120,22 @@ server {
proxy_set_header X-Script-Name /isso; proxy_set_header X-Script-Name /isso;
proxy_pass http://localhost:8080; proxy_pass http://localhost:8080;
} }
} }
``` ```
```html * nginx configuration to run Isso on a dedicated domain:
<script src="http://example.tld/isso/js/embed.min.js"></script>
<div id="isso-thread"></div>
```
### Isso on a Dedicated Domain ```nginx
server {
listen [::]:8080;
server_name comments.example.tld;
Now, assuming you have your isso instance running on a different URL, such as location / {
`http://example.tld:8080`, but your blog runs on `http://example.tld`: proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080;
~> cat example.cfg }
[general] }
host = http://example.tld/ ```
~> isso -c example.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-10-30 09:32:48,409 INFO: * Running on http://localhost:8080/
Make sure, Isso can connect to server that hosts your blog, otherwise you are
not able to post comments.
Integrate Isso with:
```html
<script src="http://example.tld:8080/js/embed.min.js"></script>
<div id="isso-thread"></div>
```
Also, put the plain isso server behind a real web server or [use uWSGI][3].
[3]: https://github.com/posativ/isso/blob/master/docs/uWSGI.md
Website Integration
-------------------
To enable comments, add a `<div id="isso-thread"></div>` or `<section id="isso-thread" ...`
below your post.
To add comment count links to your index page, include `count.min.js` at the
very bottom of your document. All links followed by `#isso-thread`, are
updated with the current comment count.
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.
Documentation Documentation