Merged master in
This commit is contained in:
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
|
||||||
|
|
||||||
|
33
Dockerfile
Normal file
33
Dockerfile
Normal 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…
Reference in New Issue
Block a user