Merged master in

pull/415/head
Facundo Batista 6 years ago
commit be5792cb79

@ -4,7 +4,8 @@ Changelog for Isso
0.10.7 (unreleased) 0.10.7 (unreleased)
------------------- -------------------
- Fix Chinese translation - Fix Chinese translation & typo in CJK
- Fix link in moderation mails if isso is setup on a sub-url (e.g. domain.tld/comments/)
- Add Danish translation - Add Danish translation
- Add Hungarian translation - Add Hungarian translation
- Add Persian translation - Add Persian translation
@ -12,7 +13,9 @@ Changelog for Isso
- Add links highlighting in comments - Add links highlighting in comments
- Add apidoc - Add apidoc
- Add rc.d script for FreeBSD - Add rc.d script for FreeBSD
- Some tests/travis/documentation improvements and fixes - Add the possibility to set CORS Origin through ISSO_CORS_ORIGIN environ variable
- Some tests/travis/documentation improvements and fixes + pep8
- Improvement on german translation
0.10.6 (2016-09-22) 0.10.6 (2016-09-22)

@ -51,13 +51,37 @@ In chronological order:
* Added configuration to require email addresses (no validation) * Added configuration to require email addresses (no validation)
* Fix Vagrantfile * Fix Vagrantfile
* Benoît Latinier <benoit@latinier.fr> * Benoît Latinier @blatinier <benoit@latinier.fr>
* Fix thread discovery * Fix thread discovery
* Added mandatory author * Added mandatory author
* Added admin interface
* Ivan Pantic <ivanpantic82@gmail.com> * Ivan Pantic <ivanpantic82@gmail.com>
* Added vote levels * Added vote levels
* Martin Schenck @schemar
* Improvement in the german translation
* @cclauss
* Pep8 and drop of legacy supports (old python & debian version tested in travis)
* Make travis use pyflakes
* Lucas Cimon @Lucas-C
* Added the possibility to define CORS origins through ISSO_CORS_ORIGIN environment variable
* Yuchen Pei @ycpei
* Fix link in moderation emails when isso is installed in a sub URL
* @Rocket1184
* Fix typo in CJK translations
* @vincentbernat
* Added documentation about data-isso-id attribute (overriding the standard isso-thread-id)
* Added multi-staged Dockerfile
* @p-vitt & @M4a1x
* Documentation on troubleshooting for uberspace users
* Facundo Batista <facundo@taniquetil.com.ar> * Facundo Batista <facundo@taniquetil.com.ar>
* Added a generic way to migrate from a json file * Added a generic way to migrate from a json file

@ -0,0 +1,33 @@
# First, compile JS stuff
FROM node
WORKDIR /src/
COPY . .
RUN npm install -g requirejs uglify-js jade bower
RUN make init js
# Second, create virtualenv
FROM python:3-stretch
WORKDIR /src/
COPY --from=0 /src .
RUN apt-get -qqy update && apt-get -qqy install python3-dev sqlite3
RUN python3 -m venv /isso \
&& . /isso/bin/activate \
&& python setup.py install \
&& pip install gunicorn
# Third, create final repository
FROM python:3-slim-stretch
WORKDIR /isso/
COPY --from=1 /isso .
# Configuration
VOLUME /db /config
EXPOSE 8080
ENV ISSO_SETTINGS /config/isso.cfg
CMD ["/isso/bin/gunicorn", "-b", "0.0.0.0:8080", "-w", "4", "--preload", "isso.run"]
# Example of use:
#
# docker build -t isso .
# docker run -it --rm -v /opt/isso:/config -v /opt/isso:/db -v $PWD:$PWD isso /isso/bin/isso -c \$ISSO_SETTINGS import disqus.xml
# docker run -d --rm --name isso -p 8080:8080 -v /opt/isso:/config -v /opt/isso:/db isso

@ -59,5 +59,3 @@ definitely need help:
- delete or activate comments matching a filter (e.g. name, email, ip address) - delete or activate comments matching a filter (e.g. name, email, ip address)
- close threads and remove threads completely - close threads and remove threads completely
- edit comments

@ -7,6 +7,7 @@ preferably in the script tag which embeds the JS:
.. code-block:: html .. code-block:: html
<script data-isso="/prefix/" <script data-isso="/prefix/"
data-isso-id="thread-id"
data-isso-css="true" data-isso-css="true"
data-isso-lang="ru" data-isso-lang="ru"
data-isso-reply-to-self="false" data-isso-reply-to-self="false"
@ -23,11 +24,11 @@ preferably in the script tag which embeds the JS:
src="/prefix/js/embed.js"></script> src="/prefix/js/embed.js"></script>
Furthermore you can override the automatic title detection inside Furthermore you can override the automatic title detection inside
the embed tag, e.g.: the embed tag, as well as the thread ID, e.g.:
.. code-block:: html .. code-block:: html
<section id="isso-thread" data-title="Foo!"></section> <section id="isso-thread" data-title="Foo!" data-isso-id="/path/to/resource"></section>
data-isso data-isso
--------- ---------

@ -108,7 +108,7 @@ Enable moderation queue and handling of comments still in moderation queue
enabled enabled
enable comment moderation queue. This option only affects new comments. enable comment moderation queue. This option only affects new comments.
Comments in modertion queue are not visible to other users until you Comments in moderation queue are not visible to other users until you
activate them. activate them.
purge-after purge-after

@ -149,7 +149,18 @@ Prebuilt Packages
* Fedora: https://copr.fedoraproject.org/coprs/jujens/isso/ — copr * Fedora: https://copr.fedoraproject.org/coprs/jujens/isso/ — copr
repository. Built from Pypi, includes a systemctl unit script. repository. Built from Pypi, includes a systemctl unit script.
* Docker Image: https://registry.hub.docker.com/u/bl4n/isso/ Build a Docker image
--------------------
You can get a Docker image by running ``docker build . -t
isso``. Assuming you have your configuration in ``/opt/isso``, you can
use the following command to spawn the Docker container:
.. code-block:: sh
~> docker run -d --rm --name isso -p 127.0.0.1:8080:8080 -v /opt/isso:/config -v /opt/isso:/db isso
Then, you can use a reverse proxy to expose port 8080.
Install from Source Install from Source
------------------- -------------------

@ -1,6 +1,12 @@
Troubleshooting Troubleshooting
=============== ===============
For uberspace users
-------------------
Some uberspace users experienced problems with isso and they solved their
issue by adding `DirectoryIndex disabled` as the first line in the `.htaccess`
file for the domain the isso server is running on.
pkg_ressources.DistributionNotFound pkg_ressources.DistributionNotFound
----------------------------------- -----------------------------------

@ -37,6 +37,12 @@ class SMTP(object):
self.isso = isso self.isso = isso
self.conf = isso.conf.section("smtp") self.conf = isso.conf.section("smtp")
gh = isso.conf.get("general", "host")
if type(gh) == str:
self.general_host = gh
#if gh is not a string then gh is a list
else:
self.general_host = gh[0]
# test SMTP connectivity # test SMTP connectivity
try: try:
@ -109,7 +115,7 @@ class SMTP(object):
(local("origin") + thread["uri"] + "#isso-%i" % comment["id"])) (local("origin") + thread["uri"] + "#isso-%i" % comment["id"]))
rv.write("\n") rv.write("\n")
uri = local("host") + "/id/%i" % comment["id"] uri = self.general_host + "/id/%i" % comment["id"]
key = self.isso.sign(comment["id"]) key = self.isso.sign(comment["id"])
rv.write("---\n") rv.write("---\n")

@ -1,11 +1,11 @@
define({ define({
"postbox-text": "在此输入评论 (最少3个字符)", "postbox-text": "在此输入评论 (最少 3 个字符)",
"postbox-author": "名字 (可选)", "postbox-author": "名字 (可选)",
"postbox-email": "E-mail (可选)", "postbox-email": "E-mail (可选)",
"postbox-website": "网站 (可选)", "postbox-website": "网站 (可选)",
"postbox-submit": "提交", "postbox-submit": "提交",
"num-comments": "1条评论\n{{ n }}条评论", "num-comments": "1 条评论\n{{ n }} 条评论",
"no-comments": "还没有评论", "no-comments": "还没有评论",
"comment-reply": "回复", "comment-reply": "回复",
@ -21,10 +21,10 @@ define({
"comment-hidden": "{{ n }} 条评论已隐藏", "comment-hidden": "{{ n }} 条评论已隐藏",
"date-now": "刚刚", "date-now": "刚刚",
"date-minute": "1分钟前\n{{ n }}分钟前", "date-minute": "1 分钟前\n{{ n }} 分钟前",
"date-hour": "1小时前\n{{ n }}小时前", "date-hour": "1 小时前\n{{ n }} 小时前",
"date-day": "昨天\n{{ n }}天前", "date-day": "昨天\n{{ n }} 天前",
"date-week": "上周\n{{ n }}周前", "date-week": "上周\n{{ n }} 周前",
"date-month": "上个月\n{{ n }}个月前", "date-month": "上个月\n{{ n }} 个月前",
"date-year": "去年\n{{ n }}年前" "date-year": "去年\n{{ n }} 年前"
}); });

@ -1,11 +1,11 @@
define({ define({
"postbox-text": "在此輸入留言(至少3個字元", "postbox-text": "在此輸入留言(至少 3 個字元)",
"postbox-author": "名稱 (非必填)", "postbox-author": "名稱 (非必填)",
"postbox-email": "電子信箱 (非必填)", "postbox-email": "電子信箱 (非必填)",
"postbox-website": "個人網站 (非必填)", "postbox-website": "個人網站 (非必填)",
"postbox-submit": "送出", "postbox-submit": "送出",
"num-comments": "1則留言\n{{ n }}則留言", "num-comments": "1 則留言\n{{ n }} 則留言",
"no-comments": "尚無留言", "no-comments": "尚無留言",
"comment-reply": "回覆", "comment-reply": "回覆",
@ -18,13 +18,13 @@ define({
"comment-deleted": "留言已刪", "comment-deleted": "留言已刪",
"comment-queued": "留言待審", "comment-queued": "留言待審",
"comment-anonymous": "匿名", "comment-anonymous": "匿名",
"comment-hidden": "{{ n }}則隱藏留言", "comment-hidden": "{{ n }} 則隱藏留言",
"date-now": "剛剛", "date-now": "剛剛",
"date-minute": "1分鐘前\n{{ n }}分鐘前", "date-minute": "1 分鐘前\n{{ n }} 分鐘前",
"date-hour": "1小時前\n{{ n }}小時前", "date-hour": "1 小時前\n{{ n }} 小時前",
"date-day": "昨天\n{{ n }}天前", "date-day": "昨天\n{{ n }} 天前",
"date-week": "上週\n{{ n }}週前", "date-week": "上週\n{{ n }} 週前",
"date-month": "上個月\n{{ n }}個月前", "date-month": "上個月\n{{ n }} 個月前",
"date-year": "去年\n{{ n }}年前" "date-year": "去年\n{{ n }} 年前"
}); });

@ -84,6 +84,8 @@ def origin(hosts):
hosts = [urlsplit(h) for h in hosts] hosts = [urlsplit(h) for h in hosts]
def func(environ): def func(environ):
if 'ISSO_CORS_ORIGIN' in environ:
return environ['ISSO_CORS_ORIGIN']
if not hosts: if not hosts:
return "http://invalid.local" return "http://invalid.local"

Loading…
Cancel
Save