自部署开源网站评论系统 Twikoo
✨ Twikoo 是一个简洁、安全、免费的静态网站评论系统,可以轻松部署在自己的网站上。使用 Docker 进行部署非常方便,只需要简单的配置即可。在 memos 中使用 Twikoo 评论系统也很简单,只需要添加自定义脚本和样式即可。最终效果清晰明了,让网站评论更加方便和美观。
一直觉得网站也只有自己会回看,也就仅仅使用了 cusdis 提供的免费评论。这两天正好又想折腾下,还是整一个,经过查找最终选定了 Twikoo 。
部署
Docker
compose.yaml
version: '3'
services:
twikoo:
image: imaegoo/twikoo
container_name: twikoo
restart: unless-stopped
ports:
- 8080:8080
environment:
TWIKOO_THROTTLE: 1000
TZ: Asia/Shanghai
volumes:
- ./data:/app/datadocker compose up -d 启动:

输入 IP:8080 即可查看到如下提示信息:

其他部署方式可参考👆上面文档。
使用
memos 中使用
自定义脚本:
var TwikooENV = 'https://your-memos-url'
function addTwikooJS() {
var memosTwikoo = document.createElement("script");
memosTwikoo.src = `https://cdn.bootcdn.net/ajax/libs/twikoo/1.6.31/twikoo.all.min.js`;
var tws = document.getElementsByTagName("script")[0];
tws.parentNode.insertBefore(memosTwikoo, tws);
};
function startTwikoo() {
startTW = setInterval(function(){
var nowHref = window.location.href;
var twikooDom = document.querySelector('#twikoo') || '';
if( nowHref.replace(/^.*\/(m)\/.*$/,'$1') == "m"){
if(!twikooDom){
addTwikooJS()
setTimeout(function() {
var memoTw = document.querySelector('.gap-2') || '';
memoTw.insertAdjacentHTML('afterend', '<div id="mtcomment"></div>');
twikoo.init({
envId: TwikooENV,
el: '#mtcomment',
path: nowHref.replace(/^.*=?(http.*\/m\/[0-9]+).*$/,'$1'),
onCommentLoaded: function () {
startTwikoo();
}
})
}, 1500)
}else{
clearInterval(startTW)
}
}
}, 2000)
}
startTwikoo();自定义样式:
#twikoo{padding: 1rem;background-color: rgb(63,63,70);margin: 1rem 0;border-radius: .5rem;color: #fff !important;}
.twicon{position: absolute;right: 1rem;}
.btns-container.space-x-2{margin-right:1.5rem;}
.action-button-container{color: #e5e7eb;}
.action-button-container a{display:none !important;}最终效果如下:
