Commit Graph

337 Commits

Author SHA1 Message Date
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
6d9792d22e demo now available without SSL 2013-09-26 15:30:31 +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
3905e84af1 add live demo 2013-09-13 19:58:26 +02:00
Martin Zimmermann
52f64dd26f improve url exists detection for new comment threads 2013-09-13 19:52:53 +02:00
Martin Zimmermann
30fa254023 connect to SMTP on-demand 2013-09-13 19:51:56 +02:00
Martin Zimmermann
98ab6d205a anonymize IP if passed as ::ffff.1.2.3.4 correctly 2013-09-13 18:30:51 +02:00
Martin Zimmermann
88a7d40bea send null instead of the empty string 2013-09-13 18:24:24 +02:00
Martin Zimmermann
b744e2fe39 use SSL for https:// 2013-09-13 18:12:32 +02:00
Martin Zimmermann
9d7c049b32 add .gitignore 2013-09-13 18:03:35 +02:00
Martin Zimmermann
2e632b3795 add ipaddress to setup.py 2013-09-13 17:51:00 +02:00
Martin Zimmermann
3eeb686d5f update stylesheet link 2013-09-13 16:15:14 +02:00
Martin Zimmermann
2ee47bd902 return 404 when creating a comment for a non-existing URI 2013-09-13 16:14:13 +02:00
Martin Zimmermann
021b672ee2 use only first 3 bytes from an IPv6 address 2013-09-13 16:13:45 +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
e56d6a087a fix unittests with mocking 2013-09-13 16:12:26 +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
9edd34d079 fix typos 2013-09-12 19:20:31 +02:00
Martin Zimmermann
0f7516edb4 always announce CORS, fix 3218e16 2013-09-12 19:10:38 +02:00
Martin Zimmermann
27022af1e6 update README, added docs/API.md draft 2013-09-12 19:10:03 +02:00
Martin Zimmermann
5759513fcd remove old stuff and trim output from utils.heading 2013-09-12 17:28:44 +02:00
Martin Zimmermann
27ba6d795f extend utils.ago to handle dates beyond 31 days 2013-09-12 17:28:13 +02:00
Martin Zimmermann
63f03e1111 disqus import now sets the comment creation date correctly 2013-09-12 17:27:16 +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
1105e3e016 don't shrink textarea on blur 2013-09-12 12:28:53 +02:00
Martin Zimmermann
10c65561ed mv /client to /js 2013-09-12 11:46:09 +02:00
Martin Zimmermann
a059171ca9 rm Makefile, no longer needed 2013-09-09 18:11:02 +02:00
Martin Zimmermann
5744a79e4d fix test for 88b77ff 2013-09-09 14:52:32 +02:00
Martin Zimmermann
83f7c0201f use almond.js for single file output 2013-09-09 14:44:04 +02:00
Martin Zimmermann
88b77ffa2d show markdown by default 2013-09-09 14:14:27 +02:00
Martin Zimmermann
b65b86d664 fix german utils.ago strings 2013-09-09 14:14:10 +02:00
Martin Zimmermann
9484a8fa6f add heading 'Kommentieren' etc. 2013-09-09 14:13:34 +02:00
Martin Zimmermann
18ebf6f95a disable threading, use processes 2013-09-09 14:13:05 +02:00
Martin Zimmermann
3037f5926d clean imports and remove old code 2013-09-09 13:37:57 +02:00
Martin Zimmermann
56ea90d7e0 JavaScript Identicons (awww), closes #8 2013-09-09 13:27:35 +02:00
Martin Zimmermann
bebda530b6 clear comment that still has references 2013-09-09 13:24:47 +02:00
Martin Zimmermann
413fb0c9a6 automatically update time(ago) every minute 2013-09-09 13:24:03 +02:00
Martin Zimmermann
fa277c98c1 disable scrollIntoView 2013-09-09 13:23:18 +02:00
Martin Zimmermann
20f82dcfcd fix disqus import 2013-09-08 17:37:26 +02:00
Martin Zimmermann
aecab5cf01 scoll into view 2013-09-08 17:24:54 +02:00
Martin Zimmermann
f0c1574c15 remove stale comments from DB, closes #9 2013-09-08 17:21:33 +02:00
Martin Zimmermann
f1ffe444bc don't remove root msg box on submit, but clear fields 2013-09-08 14:17:46 +02:00
Martin Zimmermann
449c838be3 REMOTE_ADDR is not unicode 2013-09-08 14:13:17 +02:00
Martin Zimmermann
af11656022 add tox.ini 2013-09-08 13:24:45 +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
11c6e4d720 remove email column 2013-09-06 15:56:43 +02:00
Martin Zimmermann
59706815e7 add comment.hash to recognize user by email or ip fallback
also: fixed test_comment json.dumps(json.loads(json.dumps(...)))
madness.
2013-09-05 23:09:56 +02:00