Commit Graph

102 Commits

Author SHA1 Message Date
Martin Zimmermann
dea4c88162 remove admin interface fragments 2013-10-31 17:14:32 +01:00
Martin Zimmermann
1358fac258 fix empty thread title due premature HTTP connection closing 2013-10-30 19:41:41 +01:00
Martin Zimmermann
0c7a4e44f9 disable werkzeug connection log 2013-10-30 10:06:09 +01:00
Martin Zimmermann
b672dae624 allow multiple hosts, e.g. HTTP and HTTPS sites 2013-10-29 12:22:13 +01:00
Martin Zimmermann
527b349fbe use python's logging module 2013-10-27 13:40:18 +01:00
Martin Zimmermann
94b1fef28e rewrite CONFIGURATION.md in reST and extend document 2013-10-27 12:44:59 +01:00
Martin Zimmermann
48b4c9f9a5 purge comments in moderation queue after given time, closes #13 2013-10-24 14:38:40 +02:00
Martin Zimmermann
a8d0670db7 fix PEP-8 minors 2013-10-24 11:56:48 +02:00
Martin Zimmermann
4f5b247ed1 delete comments via mail 2013-10-21 17:40:03 +02:00
Martin Zimmermann
11246f51dc support for moderated comments, part of #13
* add moderated = true to your configuration (defaults to false)
* comment activation via email to the Isso owner
2013-10-13 15:02:42 +02:00
Martin Zimmermann
61a486d2ea support for Python 3.3 2013-10-09 16:33:49 +02:00
Martin Zimmermann
ab618ad898 add basic spam protection 2013-10-06 18:37:05 +02:00
Martin Zimmermann
6eab8ad5ca support for uWSGI
* naive uWSGI fallback which spawns one thread per request and
  one thread per mail notification
* uWSGI backend which utilize queues and spooling to handle
  simultanous requests and mail notifications

This also fixes a bug where N concurrent POSTs on a new topic
failed for N-1 requests (db integrity error).
2013-10-06 15:36:38 +02:00
Martin Zimmermann
a7cc1cdf4d move scss to isso/css/ 2013-10-02 16:15:43 +02:00
Martin Zimmermann
b36e2fdb28 COMMIT ALL THE THINGS
* refactor JS (a lot)
* use a CSS framework (neat/bourbon), because CSS is hard
* up/downvote comments
* cleaner HTML
* HTML inclusion in JS
* SVG icons for reference, up and downvote
* basic i18n: english and german supported ootb
* lazy (because slow) client-side identicon generation (preview ability)
* removed website input field for no particular reason
* remove HTML.js in favour of a homebrew DOM manipulation tool
2013-10-01 14:47:01 +02:00
Martin Zimmermann
4f03b3faf9 re-license to MIT 2013-09-19 18:44:40 +02:00
Martin Zimmermann
560e73cc0a rewrite db backend 2013-09-19 18:44:37 +02:00
Martin Zimmermann
30fa254023 connect to SMTP on-demand 2013-09-13 19:51:56 +02:00
Martin Zimmermann
7ed5d6461e add ProxyFix WSGI middleware for real IP and remove dead code 2013-09-13 16:13:08 +02:00
Martin Zimmermann
adb3d40c03 send notification for new comments
This commit also introduces a new db which maps path to thread title.
The title is read by parsing the HTML for a related <h1> tag using
`html5lib`.

You can set up SMTP in your configuration (here the defaults):

    [SMTP]
    host = localhost
    port = 465
    ssl = on
    username =
    password =
    recipient =
    sender =

In short, by default Isso uses a local SMTP server using SSL without
any authentication. An email is send on comment creation to "recipient"
from "Ich schrei sonst <sender>".

This commit also uses a simple ANSI colorization module from my static
blog compiler project.

On server startup, Isso will connect to the SMTP server and fall back to
a null mailer. It also tries to connect to your website, so if that
doesn't work, you probably can't comment on your website either.
2013-09-13 15:21:18 +02:00
Martin Zimmermann
0f7516edb4 always announce CORS, fix 3218e16 2013-09-12 19:10:38 +02:00
Martin Zimmermann
3218e16532 add CORS support
Isso can now run on a separate domain such as comments.example.org
and still serve for blog.example.org using CORS.
2013-09-12 17:26:10 +02:00
Martin Zimmermann
45d4e18aef new /count?uri=path and count.js
A separate (minified) JS to load only the comment count for each
`<a href="...#isso-thread">...</a>` link. If there are no comments,
return a 404, otherwise return the number JSON formatted.

To built `count.ks`, run `r.js -o build.count.js`.
2013-09-12 17:22:37 +02:00
Martin Zimmermann
10c65561ed mv /client to /js 2013-09-12 11:46:09 +02:00
Martin Zimmermann
18ebf6f95a disable threading, use processes 2013-09-09 14:13:05 +02:00
Martin Zimmermann
5cad8fb8b5 clean db interface and comment model 2013-09-08 13:02:25 +02:00
Martin Zimmermann
c7ee35423b implement db backend for votes/likes #5 2013-09-06 17:19:25 +02:00
Martin Zimmermann
f6271e5cf6 commit work in progress
completely revamp JS client because JS sucks^W^W^W to feature AMD,
require.js, promises and HTML.js.

The comment listing is now more like Disqus and for now comment
retrieval, comment creation and deletion works. Form validation is
rudimentary implemented as well.

replaced Mako with Jinja2 (because... I forgot.), admin interface will
use Bootstrap™ but is not functional yet.

features a progress indicator in case you're sqlite db performs *really*
bad
2013-09-05 19:31:18 +02:00
Martin Zimmermann
7e6fa0438b use argparse and configparser 2013-09-03 13:40:40 +02:00
Martin Zimmermann
2d075f867a move code around™ 2013-09-03 12:15:43 +02:00
Martin Zimmermann
dd4ba9263a refactor all the things (use werkzeug instead of NIH to handle WSGI)
Also: use ?uri=%2Fpath%2F as path indicator.
2013-09-02 14:44:53 +02:00
posativ
a753045f8b some documentation and move login to /admin/ 2012-12-16 19:54:56 +01:00
posativ
65c2fce636 better admin 'theme', 304 Not Modified support and minor improvements 2012-12-16 17:59:20 +01:00
posativ
eaaf1f4653 moar syntactic sugar 2012-12-16 13:38:24 +01:00
posativ
8e2e90ed4e add threaded WSGI server mixin to check URL existence on same host :> 2012-12-16 00:46:20 +01:00
posativ
a4514e1f91 rewrite using NIH 2012-12-16 00:14:30 +01:00
posativ
1bafe193ad approve comments 2012-10-28 00:39:22 +02:00
posativ
db32d1c7f0 refactor JS and add YUI compression. 2012-10-25 16:20:50 +02:00
posativ
2bfbad39ca begin dashboard using mako templates 2012-10-24 19:53:56 +02:00
posativ
39899dda81 /comment/ -> /1.0/ 2012-10-23 21:09:51 +02:00
posativ
ac6d88f61e isso import FILE can import Disqus export 2012-10-23 20:36:43 +02:00
posativ
487d76ba61 add API for different markup languages 2012-10-20 18:12:02 +02:00
posativ
f2eff22ff7 circumvent CGI 1.1 specs (PATH_INFO is quoted) 2012-10-19 18:58:55 +02:00
posativ
3cb623e7c2 check if url exists before creating a comment 2012-10-18 16:16:36 +02:00
posativ
f1fb80f5ef add license decoration 2012-10-18 15:05:54 +02:00
posativ
05336728f4 use itsdangerous 2012-10-17 22:43:51 +02:00
posativ
759b304cb5 refactor configuration variables 2012-10-17 18:32:53 +02:00
posativ
e2198ed74a add update and delete views 2012-10-17 11:06:26 +02:00
posativ
5d23bff409 clean json fuckup and add create and get views 2012-10-16 22:52:02 +02:00
posativ
8301f0af78 replace db.initialize with db.__init__ 2012-10-16 21:30:30 +02:00
posativ
0333f7efb0 first tests and general code layout 2012-10-16 16:18:07 +02:00
posativ
7d905ed4ea initial commit 2012-10-16 15:45:02 +02:00