customTimer(inpId, fn); //执行自身 } }, 100); } } //添加 评论区的...feedbackCon[i]).find(".body_right a").attr("href", href); } } //页面加载完成是执行 $(function () { //添加 评论区的...文件Comments.js: 的博客名称/Comments.js...版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。 特此声明:所有评论和私信都会在第一时间回复。...您的鼓励是作者坚持原创和持续写作的最大动力!
customTimer(inpId, fn); //执行自身 } }, 100); } } //添加 评论区的...feedbackCon[i]).find(".body_right a").attr("href", href); } } //页面加载完成是执行 $(function () { //添加 评论区的...文件Comments.js: 的博客名称/Comments.js...版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。 特此声明:所有评论和私信都会在第一时间回复。...也欢迎园子的大大们指正错误,共同进步。或者直接私信我 声援博主:您的鼓励是作者坚持原创和持续写作的最大动力!
最近,闲着没事,又把上个月写得代码拿出来了,随便完善一下没完成的评论的路由接口。 评论应该是在整个博客数据存储中,模型最为复杂的一部分了。首先要考虑的是和文章进行关联。...这个可以用 mongoDB 的 ref 进行关联,随后可以使用 populate 计算出被关联的字段。 最后关系复杂的是父子层级的评论,又或者是多级评论。...这个时候就要想该怎么做才能合理的管理这些层级关系,在删除父评论的同时又能把所有子评论一起删除。查询的时候如何去由根到叶顺序输出层级关系。...post列中关联引用表(post表)的 _id(文章),在 hasChild 中记录是否存在回复。...如 post 中的一篇 pid 为 11 的文章下有一条评论,那么 key 中命名 11#001,这是第一条评论,如果该评论下存在一条回复,则回复的 key 为 11#001#001,下层亦是如此。
elseif theme.gitalk.enable %} {% endif %} 3 修改配置文件 在*/_config.yml中增加以下内容...: gitalk: enable: true #用来做启用判断可以不用 owner: #Github 用户名, repo: #储存评论issue的github仓库名 admin: #Github...#`Github Application clientID` clientSecret: #`Github Application clientSecret` 4 查看效果 部署代码后,访问博客页面...之后就可以使用评论了: ? 到这里,gitalk插件就添加成功了。 本文作者:foochane 本文链接:https://foochane.cn/article/2019052801.html
首先,过滤器中判断当前session是否为空,若为空则跳转到登录 然后,在控制器中方法(评论/访问)上可使用过滤器。
在多说的基本设置中的自定义css,加入如下代码即可: #ds-reset .ds-avatar { box-shadow: 0 1px 1px rgba(255,255,255,0.75);
前言 静态博客跟传统博客不一样,没有自带评论系统。...以 PHP + Mysql 为代表的 Wordpress 这类动态博客,天然带有数据库存储评论,而且博客前后端本地进行数据交互,提交评论、渲染评论都很快。...而静态博客只产生静态网页文件,评论系统均需要依赖第三方评论系统。...但是慢慢发现评论越来越少,有需要咨询问题的朋友宁愿通过邮件或者 QQ 这些途径联系,也不会在博客上留言讨论。这让我开始反思评论系统的选择了。...作者每天晚上和周末都提交了很多 Commit,版本也在快速迭代中。 在使用体验上,这三者的差别都不大,主要体现在前端 UI 不同和加载速度上的轻微差别。安装方式也是一模一样。后端部署也都有保姆教程。
他的这篇文章总结的很全,但是对于每一个评论还欠缺细致的描述,这篇文章下我会做些补充, # 之前用的 livere 关于博客的评论插件,在最开始的搭建博客之前就有过考虑和纠结,国内的评论界面浮夸流程繁琐...后来使用了 livere,韩国的产品,一开始被他简洁的界面方便的后台吸引,而且还支持各种移动 APP 登陆,微信、QQ 之类的。不过后来使用过程中缺点显现出来了。...# disqus 他唯一一个缺点就是被墙了,他要求每一个看你博客的读者都要科学上网才可以,对于我的博客来说,不仅仅是写一下技术文档,有时候会更新下照片、游记之类的,所以不想对读者有太高的要求。...对于我一个主打技术的博客来说确实不太适合,如果大家想写一写娱乐微博说不定适合你。...# Hypercomments 这个也是我最后选择的评论插件,同样也提供付费和免费的服务 免费版完全满足我的博客使用,没有发现以上一些第三方的缺点,同时界面也不错,唯一不足的就是新评论的邮件提醒不知道怎么调出来
1.这里推荐的评论功能插件为valine 官网:https://valine.js.org/ 注册登录网站:https://leancloud.cn/ 需要实名注册登记,可以使用支付宝来实名认证,很快的...(需要实名登记才能创建应用) 3.获取 appkey 和 appid 创建完成应用后,进入应用->设置->应用 key,找到相应的 appkey 和 appid。...4.配置主题文件_config.yml 搜索 valine,一般可看到如下,将 enbled:true, 并填写 appid 和 appkey(从 leancloud 中获取的 appid 和 appkey...activated by default. # To use it, activate the configuration item and set appId and appKey. # Valine 评论模块的配置.... 6.重启你的博客 大功告成!!
由于 GFW 的关系,使用 gravatar 的博客评论头像经常会出现“图裂特效”,这肯定是很多站长小伙伴都遇到过的困扰。网络上也很多教程,通过更换 avatar 的来源,来解决图裂的问题。...下载地址 三、Nginx 方案 我在测试这个插件的过程中,看了下生效后的头像路径,突然灵感一现:这缓存完全可以通过 Nginx 的 proxy 反向代理来缓存到本地啊!...functions.php 中插入如下代码: //更改gavatar来源 function mytheme_get_avatar($avatar) { $avatar = str_replace... return $avatar; } add_filter( 'get_avatar', 'mytheme_get_avatar', 10, 3 ); 即可将 WordPress 头像地址更改成自己的域名...比如右键查看张戈博客评论头像,可以发现已经变成 res.zhangge.net 了。
Artalk 简介:Artalk 是一款简洁的自托管评论系统,你可以在服务器上轻松部署并置入前端页面中。...简介:一款快速、简洁且高效的无后端评论系统。...官网:https://utteranc.es/ Disqus 简介:当前最大的第三方评论系统,需要访问国外网站 官网:http://disqus.com/ Waline 简介:一款基于 Valine 衍生的简洁...、安全的评论系统。...官网:https://waline.js.org/ 来必力 LiveRe 简介:一家来自韩国的评论系统 官网:https://livere.com/ 最后 还有一些倒闭的和没多少人用的就不在多介绍了..
Typecho 以及 WordPress 的评论默认使用的是 Gravatar 头像,但因为最近 Gravatar 官方网站极其不稳定,严重拖慢了网站访问速度,而且加载半天也还是个裂图,太影响体验...国内镜像源 sdn.geekzu.org/avatar (推荐首选,国内加速) gravatar.helingqi.com/wavatar (推荐,默认头像自带随机头像) gravatar.fanfuns.com...) WordPress 解决方法 在自己博客主题的 function.php 中 php 结束标签之前加上如下代码即可:(不同的源,后缀不一样,请注意区分) /*替换 Gravatar 镜像源为国内 CDN...; return $avatar; } add_filter('get_avatar', 'getCdnAvatar'); Typecho 解决方法 Typecho 只需要在网站根目录中的...文件内添加下面的代码: define('__TYPECHO_GRAVATAR_PREFIX__', 'https://sdn.geekzu.org/avatar/'); 有些主题提供了修改 Gravatar 头像的位置
背景 突发奇想,想让自己的 《前端进阶小书》拥有评论功能,于是开始了探索之路 实现之路 1....创建评论组件 Vuepress 默认 .vuepress / components 文件夹下的组件会全局注册, 因此我们创建一个 comment 组件 gittalk.css 请点击 这里 <template...', clientSecret: '你的clientSecret', repo: '你的仓库名称', owner: '你的用户名', //...使用评论组件 理论上,我们在每个 markdown 文件里直接加入这个组件即可,但是每次都添加有点麻烦,还是让 node 来帮我们吧 根目录创建 build 文件夹, 创建三个文件 addComponents.js...scripts, 先为每个 md 文件添加组件,然后打包,最后再一一删除 markdown 中的 comment 组件 "build": "node .
晚上和老同事谈及QQ空间头像修改后,页面上其它地方的图像也立马修改过来了。...这种情况是,在设置完成头像后,地址http://abc.com/a.gif再次请求的文件就是最新的了(也就是CDN在设置成功头像后,URL地址被清理过了)。...要解决这个问题,目前想到的办法是本地存储一个cookie了,里面记录一个版本号,所有主人的头像都使用如下规则进行请求:http://abc.com/a.gif?...被清空了,版本号还不知道从多少算起呢~~~~ 所以最好的方式还是想办法去让后台在更新完图像后,马上清理掉CDN中对图像URL的缓存(地址可能不止一个,如果图像有大、中、小三种规格) 讲了半天,还是看看代码...(jQuery中实现些方法,你只能改源代码了----我改过JQ的源码) 1: 2: function send(opts){
[TOC] 0x00 Gitalk - 基于Github的评论系统 描述: 我想对于所有使用hexo、Hugo或者WordPress自建博客的博主来说GitTalk应该不陌生,GitTalk通过Github...的OpenAPI以及issues功能实现社区评论确实还是很方便的,除开对国内访问速度较慢就没啥毛病,但是考虑到新手朋友此处还是简单介绍一下。...1.快速介绍 描述: Gitalk 是一个基于 Github Issue 和 Preact 的现代评论组件。...对应Gitalk配置中的owner repo: "blogtalk", // 储存评论issue的github仓库名,仅需要仓库名字即可。...对应 Gitalk配置中的repo token: 'ghp_wnpWqL********6RIf0NR5iD', // 前面在Github中的 personal access token sitemap
经过查阅资料我们总结一下匿名类和匿名对象,之后可能你看作者的代码可能会理解。 一、匿名对象 匿名对象:通俗的来说就是——没有名字的对象!...匿名对象的使用: (1).匿名对象也是一个对象,具有对象的所有功能 (2).每一次使用匿名对象时,都是一个新的对象, 每次创建匿名对象都是不同的对象,...System.out.println("The result is: "+new TestAnonymousClass().name); } } 在上面的代码中我们加载了匿名对象并给这个类的...也就是说,在类中的全局变量是随着类的加载而加载,这样,在使用new TestAnonymousClass().name时,由于是匿名的,类就终结了,因此上一个初始化name属性的“tuo”就消失了。...如果有需要,也可以 重写父类中的普通方法 如果我们删除上面代码main方法中对 public abstract double getPrice() 的重写,就会报错 我们贴出结果:
Python中的匿名函数 写python的时候,大多数场景下,我都是if else选手,因为最核心的逻辑几乎都是通过if else语句来实现的。...关于匿名函数这块儿,其实可以用常见的循环等方法来实现,但是如果你想成为一个python的高手,匿名函数还是必须要了解的。因为匿名函数,能够让你的代码足够简洁, 01 什么是匿名函数?...在python中,匿名函数,顾名思义,就是没有名字的函数,它主要用在那些只使用一次的场景中。...如果我们的程序中只需要调用一次某个简单逻辑,把它写成函数还需要先定义、取函数名字等一些列操作,这种场景下使用匿名函数往往能够让你的程序更加简单。 匿名函数还有名称,叫做lambda。...map函数 map(function, list) 注意,这里的function可以是匿名函数,也可以是普通的函数。
给大家介绍一个博客评论神器,Valine。 本来hexo博客用的是gitment,我也非常喜欢,看着逼格就超高呀。无奈我用着bug略多,而且毕竟有github账户的小伙伴似乎并不多。...于是我就忍痛准备换评论系统。然后在最近刚刚加入的hexo博客群里,看见了一个神器。也就是本篇主人公——Valine.js。 具体配置就见如下的文章吧。它的定义—— 一款极简的无后端评论系统。...Valine -- 一款极简的评论系统 Valine官网 这个评论系统是基于LeanCloud的,大家应该对这个很熟悉,对,Hexo的博客阅读量统计也是它。官网网址如下,需要注册一个账户。...//评论框默认显示 avatar: hide //评论者的头像,我这里设置的不显示 guest_info: nick # custom comment header pageSize: 10...然后在valine.ejs中加入以下代码 [在这里插入图片描述] 如果你使用的next主题,可以这样修改配置文件 [在这里插入图片描述] PS:评论者头像可以进行如下设置 到此,一个极简评论系统就完成啦
大家好,又见面了,我是你们的朋友全栈君。 定义:匿名函数顾名思义指的是没有名字的函数,在实际开发中使用的频率非常高!也是学好JS的重点。 匿名函数:没有实际名字的函数。...首先我们声明一个普通函数: //声明一个普通函数,函数的名字叫fn function fn(){ console.log(“张培跃”); } 然后将函数的名字去掉即是匿名函数: //匿名函数...解决方法只需要给匿名函数包裹一个括号即可: //匿名函数在其它应用场景括号可以省略 (function (){ //由于没有执行该匿名函数,所以不会执行匿名函数体内的语句。...JavaScript中是没有块级作用域的,例如: if(1==1){//条件成立,执行if代码块语句。...执行完匿名函数,存储在内存中相对应的变量会被销毁,从而节省内存。再者,在大型多人开发的项目中,使用块级作用域,会大大降低命名冲突的问题,从而避免产生灾难性的后果。
领取专属 10元无门槛券
手把手带您无忧上云