Isso评论服务
2024年11月10日 2024年11月10日
引入
之前收到过一条评论,因为使用了html语法却没有使用代码块,无法正常显示。
我希望评论内容仅作为文本,便萌生了更换评论系统的想法。
一番尝试后找到了Isso,其作者考虑到这一点,允许在配置文件提供相应设置。
Isso - Configure how comments are rendered
Isso
在官网首页的评论示例中,包含html代码,不会被解析。
该项目仍在更新。
Isso-cn
Isso的分支,针对国内环境增加了一些新功能。
安装
环境 | |
---|---|
系统 | Ubuntu |
-
创建用户isso
略 -
安装Python环境
1sudo apt-get install python3-setuptools python3-virtualenv python3-dev
-
在virtualenv安装
1virtualenv --download /opt/isso
-
激活virtualenv
1source /opt/isso/bin/activate
-
安装Isso
1pip install isso
部署
-
配置文件
Isso - Server ConfigurationIsso-cn - Server Configuration
1# su isso 2 3touch ~/isso.cfg
isso.cfg
[general] dbpath = <数据库路径> host = <站点> max-age = 15m notify = stdout log-file = <日志路径> gravatar = false gravatar-url = https://www.gravatar.com/avatar/{}?d=identicon&s=55 latest-enabled = false [server] listen = http://localhost:<Isso监听端口>/ [admin] enabled = true password = <后台管理密码> [markup] options = strikethrough, superscript, autolink flags = skip-html, escape, hard-wrap allowed-elements = allowed-attributes =
通过设置flags,不解析评论文本。
其他字段含义,参见官网文档。
字段 示例 数据库路径 /tmp/comments.db 站点 https://example.com 日志路径 /tmp/isso.log Isso监听端口 10022 后台管理密码 secret -
如果开启防火墙,需允许Isso监听端口
1# sudo -i 2 3ufw allow <Isso监听端口>
-
Nginx反代
server { listen 443 ssl; ... location /isso { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Script-Name /isso; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://localhost:<Isso监听端口>; } }
-
在后台运行服务
1# su isso 2nohup isso -c ~/isso.cfg run &
-
验证
管理后台
<站点>/isso/admin
接入Isso
-
脚本
1<script data-isso="<站点>/isso/" 2 data-isso-id="thread-id" 3 data-isso-css="true" 4 data-isso-css-url="null" 5 data-isso-lang="zh" 6 data-isso-max-comments-top="10" 7 data-isso-max-comments-nested="5" 8 data-isso-reveal-on-click="5" 9 data-isso-sorting="newest" 10 data-isso-avatar="true" 11 data-isso-avatar-bg="#f0f0f0" 12 data-isso-avatar-fg="#9abf88 #5698c4 #e279a3 #9163b6 ..." 13 data-isso-vote="true" 14 data-isso-vote-levels="" 15 data-isso-page-author-hashes="f124cf6b2f01,7831fe17a8cd" 16 data-isso-reply-notifications-default-enabled="false" 17 src="<站点>/isso/js/embed.min.js"></script>
-
评论框
1<section id="isso-thread"></section>
注意 :官网的JS路径 embed.js
不可用
附
使用 Isso 为 Hugo/Hexo 等静态网站添加评论功能