你言我语 By Twikoo
主要做了两件事:
- 一是前端魔改
- 二是首页调用(替代原 bber)
注明:以下样式、功能代码基于 Twikoo v1.6.4
前端魔改
“管理面板”按钮同步隐藏输入框。先到twikoo配置里填写“暗号”,暗号匹配前端才会显示。
所以,用 JavaScript 判断是否有那个管理 ⚙️ 图标(有2个 tk-icon 表示是管理员登录状态),则显示默认的评论框,反之移除。
<script src="https://fastly.jsdelivr.net/npm/twikoo@1.6.4/dist/twikoo.all.min.js"></script>
<script>
twikoo.init({
envId: 'https://xxxxxx.com',
el: '#tcomment',
onCommentLoaded: function () {
var myShow = document.getElementsByClassName('tk-icon'),mySubmit = document.querySelector('.tk-submit')
var myLength= 1;
for (i = 0; i < myShow.length;i++) {myLength += myLength + i};
if(myLength > 1){mySubmit.style.setProperty('display','block','important')}else{mySubmit.remove()}
var tkMain = document.getElementsByClassName('tk-main'),tkReplies = document.getElementsByClassName('tk-replies');
for (var i=0;i<tkMain.length;i++){
tkMain[i].index=i;tkMain[i].onclick = function () {tkReplies[this.index].classList.add("tk-replies-height");}
}
}
})
</script>
同时,精简显示内容。完整样式代码如下,最新改动直接查看页面源码:
<style>
.tk-comments .tk-submit,.tk-comments-count span:nth-child(2),.tk-comments-container .tk-comment .tk-avatar,.tk-comments-container .tk-comment .tk-nick,.tk-comments-container .tk-replies .tk-comment .tk-time,.tk-extra-text,.tk-replies .tk-meta,.tk-replies .tk-extra,.tk-extras .tk-extra:nth-child(2){display:none !important;}
.tk-comment .tk-submit,.tk-comments-container .tk-replies .tk-comment .tk-avatar{display:block !important;}
.tk-comments-container .tk-replies .tk-comment .tk-nick{display:inline-block !important;}
.tk-comments-count{font-size:15px;}
.tk-comments-count::before {content:"共 ";}
.tk-comments-count::after {content:" 条";}
.tk-time{color: #fafafa;font-size: 0.75em;font-style: italic;background-color: #3b3d42;display: inline-block;padding:0.25em 1em 0.2em 1em;}
.tk-comment{margin:1em 0 4em !important;}
.tk-replies .tk-comment{margin:0.5em 0 0!important;height:200px;}
.tk-content{margin:1em 0 0.5em!important;}
.tk-content blockquote:before{content:""}
.tk-replies{max-height:0px !important;}
.tk-replies .tk-action{position: absolute;right:0;top:20px;}
.tk-replies.tk-replies-expand{max-height:none !important;}
.tk-replies.tk-replies-expand.tk-replies-height .tk-comment{max-height:none !important;height: auto !important;}
.tk-expand{margin:-25px 0 0;font-size:1em;font-weight:600;float: right;width:80px !important;}
.tk-expand._collapse{margin:0 0 0;}
.tk-extras{display: flex !important;}
.tk-replies .tk-avatar{margin:1em 0.5rem 0 0;}
.tk-avatar.tk-has-avatar{border-radius:50%;}
.tk-replies .tk-main{font-size:14px !important;position:relative;}
.tk-replies .tk-content{font-size:1em !important;}
.tk-row{border-bottom: 1px solid #3b3d42;}
.tk-submit{margin-bottom:3em;}
.tk-replies .tk-row,.tk-submit .tk-row{border-bottom:none;}
.dark-theme .tk-time{color: #aaa;}
.tk-row.actions{margin-left:0 !important;}
</style>
首页调用
ctb 的羊毛已撸玩完!索性直接调用 Twikoo 的 最新评论 API 再在前端 JavaScript 指定 url 页面和 nick 昵称,实现首页轮播内容的过滤。
代码判断如下,完整版可直接在博客首页查看页面源码。
twikoo.getRecentComments({
……
}).then(function (res) {
var bberHtml = ''
$.each(res, function(i, item){
if(item.url == '/talk/' && item.nick == '林木木'){ //只留下 url 为 talk,昵称为 林木木 的评论
dataTime = '<span class="datatime">'+item.relativeTime+'</span>'
bberHtml += '<li class="item item-'+(i+1)+'">'+dataTime+': <a href="https://immmmm.com/talk/">'+urlToLink(item.commentText.substring(0,200))+'</a></li>'
}
});
……
todo
未来将加入正式博客!敬请期待!
你言我语 By Twikoo的更多相关文章
- hexo-yilia主题支持twikoo评论系统
如果图片无法加载,可到 我的博客 中,查看完整文章 yilia-more 已经增加对 twikoo 的支持,可直接使用 代码修改 layout/_partial/post 路径下新建 twikoo.e ...
- 记一次twikoo引发的站点重大事故
今天我测试私人博客的时候发现twikoo评论发生了错误,显示评论失败:0,我怀疑是我设置的twikoo安全域名有问题,所以我看了整个lssues,找到了我的解决方法! 1.关于配置安全域名后评论消失的 ...
- Twikoo私有化部署教程--迁移腾讯云
目录 备份数据 私有化部署 创建容器 导入数据 重新配置twikoo面板设置 引入前端CDN Nginx https反代http 作者:小牛呼噜噜 | https://xiaoniuhululu.co ...
随机推荐
- 架构师必备:HBase行键设计与应用
首先要回答一个问题,为何要使用HBase? 随着业务不断发展.数据量不断增大,MySQL数据库存在这些问题: MySQL支持的数据量为TB级,不能一直保留历史数据.而HBase支持的数据量为PB级,适 ...
- 这篇SpringCloud GateWay 详解,你用的到
点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 项目源码地址:公众号回复 sentinel,即可免费获取源码 背景 在微服务架构中,通常一个系统 ...
- shell 问题记录
工作中写了个 RestAPI 接口,然后想通过 crontab 任务,去定时调用接口.发现去拼接 post 请求真的不容易.对于单引号,双引号的使用.很懵,示例代码如下:对于 '$line' 处,单引 ...
- 前端学习 linux —— 第一篇
前端学习 linux - 第一篇 本文主要介绍"linux 发行版本"."cpu 架构"."Linux 目录结构"."vi 和 v ...
- Linux基础命令、引号和括号的作用
查看硬件信息 查看 cpu lscpu命令可以查看cpu信息 cat /proc/cpuinfo也可看查看到 查看内存大小 free命令 cat /proc/meminfo 查看硬盘和分区 lsblk ...
- bat-命令行配置静态IP地址
查看连接名称ipconfig 打开命令提示符,输入netsh后回车 输入interface后回车 输入ip,回车 输入set address "连接名称" static 新IP地址 ...
- 【MAUI】为 Label、Image 等控件添加点击事件
一.前言 已经习惯了 WPF.WinForm 中"万物皆可点击"的方式. 但是在 MAUI 中却不行了. 在 MAUI 中,点击.双击的效果,是需要通过"手势识别器&qu ...
- 常用Linux命令整理
常见系统命令 export 查看或修改环境变量 # 例:临时修改命令提示符为字符串$ export PS1=$ # 例:临时修改命令提示符显示系统时间 时间使用\t 表示 export PS1=&qu ...
- PTA(BasicLevel)-1023 组个最小数
一. 问题定义 给定数字 0-9 各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意 0 不能做首位). 例如:给定两个 0,两个 1,三个 5,一个 8,我 ...
- 记录一下第一次在CodeForces供题的事(未完待续)
3月11日 因为想出题而开始打比赛上分 (Rating 1727) (期间最低掉到 1669) 6月4日凌晨 上分,有了权限 (Rating 2141) 6月4-6日 出了七道题 6月8-12日 又出 ...