codecamp

评论迁移到网易云跟帖

网易云跟帖

前言

2017年3月21日多说宣布将于6月1日前关闭旗下的评论服务,意味着目前使用多说的站点的评论信息必须全部迁移到其他第三方评论系统里,有些人可能正在搭建多说评论,也有搭建好了的,正准备考虑迁移到哪去,而我在分析了几个第三方评论平台后,选择了使用网易云跟帖。至于为什么,请继续往下阅读。

关于第三方评论插件

我是搭建博客的时候才接触到多说的,多说怎么样,我相信对于一些使用过其他的第三方评论系统的人心里都知道,我在了解过目前国内主流的畅言、来比力、网易云跟帖等后,得出了一个结论。

其实我只去用过畅言和来比力,最后来总结多说。

畅言

畅言背后是属于搜狐这个大公司的,有着这种大背景下,畅言的一些安全和保密性,以及垃圾评论的减少得到保证,而且不会挂掉,很稳定。

但是畅言有一点原因导致了我放弃了它

那就是它必须要求所使用的站点完成备案,因为我的网站是托管在的github pages上的属于国外服务器,根本没办法去备案的,而且我也不打算自己去租用一个云服务器或云主机来托管博客。所以我就放弃了它,不然它会是目前多说倒闭后的最好选择。

来必力

来必力是韩国的,目前该公司把业务做到了国外,支持英语、中文、韩语。

先不说其他的,目前韩国在部署萨德,说什么我都不会去用韩国人的东西的!

撇开政治因素来谈,它的UI设计和后台管理也比较不错,数据可视化用到了图标来展示,所以有付费和免费两个版本,博客只需要用免费的就行了,当然付费的效果主要体现在数据分析上,还可以取消掉免费版未来所带来的广告。

网易云跟帖

它是16年6月份才推出的一个新产品,选择这个评论系统有一种情节在里面,因为我本人非常爱用网易云音乐来听歌,所以我本着支持网易云音乐的原则,也来支持这个产品. 尽管这个产品目前有很多的不足,不过背后毕竟是网易这个大公司,相信日后会越来越好的。我在后面会详细介绍这个的。

多说

重点来了 多说倒闭的原因,我暂且不谈,每个人的看法不一样,多说的各方面功能都算的上完善,有很多组件可用,最近评论、访客,最热文章,都能有效提高博客的互动性。

我觉得多说唯一的缺陷就是没有采取有效的盈利方式。

多说作为国内第一下载量的第三方评论插件提供方,它的倒闭肯定导致许多博客主焦头烂额,在这里我有几点建议。

  1. 选择一个稳定的大公司第三方评论插件
  2. 尽早导出现有的评论数据,并在新的评论系统后台导入
  3. 刚搭建博客的新人小白,可以选择观望2个月后看是否多说有补救措施继续运营
  4. 爱折腾的可以考虑和我一样投奔网易云跟帖怀抱(笑....)
  5. 如果是用hexo开发的博客,建议时刻关注你使用的主题的官方网页,以及源项目的github仓库,看看主题作者和大家怎么解决多说评论问题
  6. 小白建议选择新评论系统的时候,从官方主题文档中给出的已支持的插件中选择

原有数据导出

这里以多说评论系统导出数据为例,其他的可以类比。

后台管理导出数据

进入多说的后台管理系统,从工具——导出数据 网易云跟帖

一定要记得勾选包含文章数据包含评论数据

导出后就是一个json文件,用于后面上传到新评论系统内的。

导入以往数据

以网易云跟帖操作为例,注册好帐号后,进入后台管理,绑定好自己的站点网址,在数据统计——数据管理——数据导入中,上传之前导出的文件进去,就完成了 网易云跟帖

配置

网易云跟帖的后台里可以进行一些基本设置,我这里就跳过,主要说下hexo下next主题的配置。

因为最新版的主题集合了网易云跟帖所以操作起来简便

获取Product Key

登陆 网易云跟帖 获取你的 Product Key。 编辑 主题配置文件, 编辑 gentie_productKey 字段,设置如下:

gentie_productKey: #your-gentie-product-key

配置文件修改

请注意,您在云跟帖管理后台设置的域名必须跟您站点的域名一致。在本地测试时,需要做两步骤前置设定:

修改 hosts 文件,将您域名的请求指向本地。例如:127.0.0.1 notes.example.com
修改 Hexo 监听的端口为 80:hexo s --debug -p 80

我的host文件路径C:\Windows\System32\drivers\etc

测试完成后请将 hosts 文件中的域名映射删除。 hosts文件中记录写法一般为“tab键”→“ip地址”→“tab键”→“域名”→“回车”(最后的回车最好加上。)如图,我将百度域名解析到本地。 网易云跟帖

因为我的80端口被apache服务器占用了,而且我不想去改,其实这个也不用怎么测试的,所以大家完全可以上传到线上自己来看。

细节优化

评论系统出来了,它不像多说一样,对博客进行了一些优化,比如首页的文章摘要信息里,没有了以前多说的评论数了和对应的评论icon图标,但在文章详情里它又出来了,信息的人可能发现了,样式很丑具体如下: 网易云跟帖 我通过使用一个伪类的CSS样式添加了“评论”二字让用户体验提高。 网易云跟帖 相关源码在最后。

注意事项

如果你的评论系统没有加载成功,请试着看如下几点要求和注意点。

  1. 关闭多说评论系统或其他的第三方评论系统
  2. 检查以前配置多说的参数将其注视掉或设为false等,因为next主题会优先检测多说评论是否支持
  3. 网易云站点网址是否填写正确,我之前填写的地址为www.cduyzh.com,但我在域名解析那解析的是两个地方,cduyzh.com和www.cduyzh.com,导致了我评论系统加载出现问题,如果在cduyzh.com内的新评论在www.cduyzh.com是看不到的,所以大家注意下,可以把域名解析中的cduyzh.com暂停使用。
  4. 网易云跟帖的小功能插件比较少,其中的热门新闻模块,我按照之前加载多说热门文章的方法添加了对应的代码进去,发现两者不能很好的兼容会出现问题,导致我评论加载不出来,只加载出来了热门文章。

最后一点希望大家把自己的问题反馈出来,大家可以相互交流,欢迎大神给我指出哪里出现了问题。

福利

经过折腾终于迁移到了网易云跟帖,因为本人在添加网易云的热门文章时,出现了一些未知BUG,目前无法在保证有评论的情况下有热门文章,虽然这个小功能看似不是很重要,但是对于强迫症来说有点不爽,希望大神指点。

评论样式开源

之前我出过文章讲解多说的样式优化,现在搬到了网易云跟帖,我当时也对它做了一些优化,在查看评论的样式后,我发现网易云跟帖这方面优化做的还不错,用户头像已经设置为原型了,只是没有添加旋转的效果,我把之前的多说下的样式引入了一部分进来,然后自己设置了一些其他样式。现贴出具体的样式代码,和以前一样,重写覆盖在D:\hexo\blog\themes\next\source\css\_custom\custom.styl 修改代码如下:

//网易云跟帖评论样式增添
.post-comments-count a::before {
    content: "评论";
}
#yun-tie-sdk-wrap .input-box .tie-submit-row .tie-submit-btn {
    background-color: #649ab6;
}


#yun-tie-sdk-wrap .input-box .tie-submit-row .tie-submit-btn:hover {
    background-color: #4c618f;
}
.tie-empty-tip {
    display: none;
}
//即将发布消息人样式
#yun-tie-sdk-wrap .input-box .tie-submit-row .user-info img:hover {


box-shadow: 0 0 10px #fff;
rgba(255, 255, 255, .6) inset 0 0 20px rgba(255, 255, 255, 1);
-webkit-box-shadow: 0 0 10px #fff;
rgba(255, 255, 255, .6) inset 0 0 20px rgba(255, 255, 255, 1);
transform: rotateZ(360deg); 
-webkit-transform: rotateZ(360deg);
-moz-transform: rotateZ(360deg);
}
#yun-tie-sdk-wrap .input-box .tie-submit-row .user-info img {
width: 32px;
height: 32px;
border-radius: 50%;
margin: 4px 10px 4px 8px;
padding: 0;
cursor: pointer;
box-shadow: inset 0 -1px 0 #3333sf; /*设置图像阴影效果*/
-webkit-box-shadow: inset 0 -1px 0 #3333sf;
-webkit-transition: 0.4s;
-webkit-transition: -webkit-transform 0.4s ease-out;
transition: transform 0.4s ease-out; /*变化时间设置为0.4秒(变化动作即为下面的图像旋转360读)*/
-moz-transition: -moz-transform 0.4s ease-out;
}


//评论框内其他人样式
#yun-tie-sdk-wrap .single-tie .photo img:hover {


box-shadow: 0 0 10px #fff;
rgba(255, 255, 255, .6) inset 0 0 20px rgba(255, 255, 255, 1);
-webkit-box-shadow: 0 0 10px #fff;
rgba(255, 255, 255, .6) inset 0 0 20px rgba(255, 255, 255, 1);
transform: rotateZ(360deg); 
-webkit-transform: rotateZ(360deg);
-moz-transform: rotateZ(360deg);
}
#yun-tie-sdk-wrap .single-tie .photo img {
width: 42px;
height: 42px;
border-radius: 50%;
padding: 0;
cursor: pointer;
box-shadow: inset 0 -1px 0 #3333sf; /*设置图像阴影效果*/
-webkit-box-shadow: inset 0 -1px 0 #3333sf;
-webkit-transition: 0.4s;
-webkit-transition: -webkit-transform 0.4s ease-out;
transition: transform 0.4s ease-out; /*变化时间设置为0.4秒(变化动作即为下面的图像旋转360读)*/
-moz-transition: -moz-transform 0.4s ease-out;
}


.name-nick:hover {
    border-left: 14px solid #3264b4;
}
.name-desp:hover {
    border-left: 14px solid #3264b4;
}
#yun-tie-sdk-wrap .single-tie .tie-author .name-nick{
    cursor: pointer;
    transition: border-width 0.3s linear 0.1s, color 0.2s linear 0.3s;
}
#yun-tie-sdk-wrap .single-tie .tie-author .name-desp {
    cursor: pointer;
    transition: border-width 0.3s linear 0.1s, color 0.2s linear 0.3s;
}
.tie-time:hover {
    border-right: 14px solid #3264b4;
}
#yun-tie-sdk-wrap .single-tie .tie-time {
    transition: border-width 0.3s linear 0.1s, color 0.2s linear 0.3s;
    cursor: pointer;
}

End

从多说评论系统,到优化的它的样式,优化UA(评论用户操作系统和浏览器信息)、最近访客,以及用户头像设置等,期间参考了不少其他人的博客和文章,然后在动手去修改,感概很多,多说是我心目中的国内第一的第三方评论系统,居然在前几天宣布了即将关闭服务,让我很是失落。希望在6月1日在众多独立站长的支持下能走出困境,找到属于自己发展的盈利模式以此来继续经营下去。

多说插件最近访客样式问题和解决方法
网易云跟帖关闭服务后转移到来必力
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

零基础搭建博客

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }