趁着我还有记忆,赶紧记录一下“跨文翻译”的留言板配置。
先说原则问题:在所有的技术问题上,我通常希望有一个常规使用的工具,一个稳定预备、随时可以启用的工具和一个正在进行预备性研究的工具。
比如,在使用博客的时候,我同时启用了微信公众号,wordpress博客,并在去年开始研究静态博客发布工具hugo的配置使用。
当微信公众号不能使用之后,备份的方案就提前了。这样看起来虽然有些忙碌,但也有原则性的好处吧。
hugo是用go语言开放的静态网站生成系统,开源,有很活跃的社区,有各种模板,而且生成网站的速度比其他静态生成器快不少。从去年开始,汉锋劝我将跨文的官网打理一下,我开始测试和迁移一点文章到上,到了两周以前才正式启用吧。
作为静态网站,或者说是“编译执行”而非“动态执行”的网站,对于读者而言,访问的感受要好不少。我目前使用asciidoc作为主要的发布语言,直接在服务器上用vim写字,然后就提交到github上保存,倒也方便。
唯一不便的地方,是静态网站没有任何动态功能,所以无法留言和互动。hugo的缺省留言功能由第三方的提供,因为使用了大量其他服务方的字体和代码,所以国内几乎无法打开,就像不存在一样。另一方面,及时能用disqus,价格也昂贵,而且其中跟踪隐私的代码很多,偶尔还会插入广告。
所以,下午花了一点时间配置了isso,作为我的极简博客模式的一部分。
以下是技术细节,不感兴趣的读者可以安全跳过,我的记录只是为了自己日后的备忘而已。
安装isso。isso是个python的服务器,所以最终还是得运行一个动态网站系统,才能获得动态功能。唉,无法可想。
sudo apt install python-dev build-essential -y sudo apt-get install python3-pip pip3 install –upgrade pip pip3 install isso
接下来安装sqlite3.
sudo apt-get install sqlite3
建立数据库目录。
sudo mkdir -p /var/lib/isso sudo chown isso:isso /var/lib/isso -R
配置一个最简单的配置文件,/etc/isso.d/enabled/isso.cfg。邮件通知和数据库管理问题以后再说了。
[general] dbpath = /var/lib/isso/comments.db host = http://kuawentrans.com/ https://kuawentrans.com/
[server] listen = http://localhost:8090/
[moderation] enabled = false
配置isso服务,取名叫“/etc/systemd/system/myisso.service”:
[Unit] Description=isso.Service After=network.target StartLimitIntervalSec=0
[Service] Type=simple Restart=always RestartSec=1 User=isso ExecStartPre= ExecStart=isso -c /etc/isso.d/enabled/isso.cfg run ExecStartPost ExecStop= ExecReload=
[Install] WantedBy=multi-user.target
将服务配置为启动项:
sudo systemctl start myisso sudo systemctl enable myisso
修改nginx的配置,在“server”段下增加反向代理:
location /isso {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Script-Name /isso;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8090;
}
测试:
curl https://kuawentrans.com/isso
//下面是curl的运行结果,表示一切正常,可以工作。否则,需要检查日志,以排除各种错误。
Redirecting… Redirecting… You should be redirected automatically to target URL: http://kuawentrans.com/isso/. If not click the link.
修改我的hugo主题下的page-footer.html。未修改的文件如下:
{{ $related := .Site.RegularPages.Related . | first 15 }} {{ $count := len $related }} {{ with $related }}
Related
{{ range $k, $v := . }}
{{- $v.Title -}}
{{ if lt $k (sub $count 1) }} / {{end}}
{{ end }}
{{ end }}
{{ template "_internal/disqus.html" . }}
把黑体部分删掉,增加isso的配置代码:
comments powered by Disqus