天博体育APP下载网页版 - typecho 2017-06-14T11:58:00+08:00 Typecho http://www.ceniv.com/feed/atom/tag/typecho <![CDATA[启用Typecho原生评论系统替代多说]]> http://www.ceniv.com/a/duoshuo-to-comments.html 2017-06-14T11:58:00+08:00 2017-06-14T11:58:00+08:00 天博体育APP下载网页版 http://www.ceniv.com 2017年6月1日起,多说(duoshuo.com)社会化评论系统正式停止提供服务。天博体育APP下载网页版自从转入Typecho以来一直未启用系统自带的评论系统,而使用了多说的评论系统。

采用多说可以不限于单独一个站点的评论帐号登录,在使用多说评论的站点间,信息无缝融合同步,只要有多说的cookies,所有的多说评论框都可以自动登录,直接就可以填写评论内容,省去了每次填写评论姓名邮箱等信息的繁琐。另一个重要的原因是多说支持众多社交账号直接登录,访客在本站进行评论时,可以任选QQ、微博、微信等方式进行登录及分享,省却了另外注册账号的麻烦,一定程度上增加了访客粘性。

自从4月份收到了多说将要停止服务的通知,就开始计划着重新启用Typecho原生评论系统替换多说,但一直忙于各种琐事无暇去修改。因为天博体育APP下载网页版在制作现用模板时就没有考虑使用原生评论,所以重新启用它要考虑融入现有模板。

本来本站使用的多说样式已经被我修改的较为满意了,所以决定还是照着原来的样式写原生评论的CSS。多说六一停运后本站的评论区空白了十几天,日前终于将原生评论启用了,现将修改过程中遇到的一些问题记录一下。

原生评论模板修改

Typecho默认模板中评论部分列评论内容的代码只有一行:

<?php $comments->listComments(); ?>

虽然输出的html已经有比较完善的结构和Class,但还是需要根据自己需要修改一下来适合自己使用,照着typecho的文档http://docs.typecho.org/themes/custom-comments制作好了自己的评论结构,但是运行总是出错,最后查出是把原来的<?php $comments->listComments(); ?>删除了,所以TE文档的意思是在comments.php的顶端 增加

<?php function threadedComments(){}......?>

函数,原list部分代码不变,并不是替换。原生评论包含了很多评论的ID、child-parent关系函数生成样式,所以定制很容易。

评论表情图片

之前使用多说的时候曾从其他站点偷来了“一句话神评论”的js进行小量修改来自己使用,原代码是为多说量身定做的,对于原生评论肯定需要大刀阔斧的修改一下了,对于JS一窍不通的天博体育APP下载网页版又抓紧时间恶补了一些JS知识,把“一句话评论”移植到了原生评论中。其实说白了就是用js替换字符为图片,基本功课做足了后确实很简单。

Typecho并没有原生的评论表情功能,因这个需求搜索到了一款现成的插件:羽中漫步的Smilies1.1.2插件。插件制作的很精美,后台配置项也相当完善,本来想要把“神评论”集成到插件中,而且想要把wordpress风格的文字表情比如“:smile:”换成“[微笑]”,读了插件的源码发现比较容易实现。步骤如下:

\usr\plugins\Smilies\Plugin.php修改Line301内的:smile::cry:等字段全部替换为[微笑][哭泣]等对应的字符,并且Line341中[':smile:']改为['[微笑]'],这个是表情框弹窗的开关按钮。如果并不打算转换到wordpress等其他程序的话,直接按以上步骤修改为汉字即可,这些修改可以提高评论者阅读体验。

如果插件自带的表情数量不满足要求,可以增加其他字符与图片对应替换关系,方法如下:

在Line390行的$arrays = self::parsesmilies();之前插入以下内容,增加替换规则,

$addword = array("[表情一]","[表情二]","[表情三]");
$addimg = array('<img src="1.gif" alt="表情一" title="表情一"/>','<img src="2.gif" alt="表情二" title="表情二"/>','<img src="3.gif" alt="表情三" title="表情三"/>');
$content = str_replace($addword,$addimg,$content);

依照上面对应格式增减,注意把图片地址修改正确。

但是,使用后发现一个现象,就是插件启用后评论框允许了<img>标签,从插件代码中也找到了源头,可这个插件就是在后端处理过程中替换文字标签为图片标签然后再输出到前端的,要想正常显示图片必须开启评论框接受图片标签。这就使天博体育APP下载网页版有点担心了,因为这样就允许了访客在评论内容贴其他的图片,容易破坏评论结构。所以最终决定还是通过自己编写JS通过前台替换文字为图片实现评论表情功能,正好可以与“神评论”写在一起,代码重复利用。

Gravatar头像

评论头像统一启用了Gravatar头像,所以考虑是否启用头像缓存插件,发现羽中还有一个插件(读者墙头像缓存插件),也是很好用。但有个需要斟酌的考虑就是,启用缓存后如果访客当时未设置G头像时被缓存了,然后当时去设置头像,回到本站头像是不会显示新设置的的。所以暂时不启用头像缓存了,期待有更好的解决方案。

上一条考虑过程中又产生了一个想法,写篇Gravatar头像设置教程,给没接触过的朋友参考。于是就写了,点击每一篇文章评论框前面的头像可以跳转到:Gravatar头像设置教程

另外修改了几个系统文件,以后升级typecho(如果还要那么一天)可能还要重新改。

\var\Typecho\Common.php

Line949 修改

$url .= '&amp;d=' . $default; $url .= '&amp;d=retro';

“d”参数代表default,用于Gravatar默认头像类型选择,有以下几个可选值,

留空显示gravatar官方图形

404直接返回404错误状态

mm神秘人(一个灰白头像)

identicon抽象几何图形

monsterid小怪物

wavatar用不同面孔和背景组合生成的头像

retro八位像素复古头像

也可以是一个经过urlencode处理的真实图片地址,用如下代码处理:

urlencode('http://example.com/images/avatar.jpg');

默认评论区评论者的名字带其网址链接,但是在当前窗口打开,需要修改以下文件

\var\Widget\Abstract\Comments.php

Line 376的  '>'改为' target="_blank">'

这样评论者名字上的网站链接就可以在新窗口打开。

回到开头对多说的评价,多说确实是个不可多得的社会化评论系统,虽难免一些小的BUG,但总体来说还是相当人性化的。自从多说发布停止服务的消息后,网上很多声音倡议多说开源,但毕竟也不是必须的,多说团队的未来还是有他们自己的选择的。天博体育APP下载网页版还是发自内心的感谢这个产品及其背后的团队,愿多说一路走好吧!

如果习惯于用云评论系统的朋友,还是有几个其他选择的,国外的Disqus,国内的搜狐畅言、网易云跟帖等,都还是不错的选择,不过经过这次事件,天博体育APP下载网页版还是觉得数据保存在自己手里更加放心。

另外,原多说的评论数据是可以通过插件直接导入typecho原生评论系统的,但想来天博体育APP下载网页版原来的评论系统也并没有太多有价值的内容,所以就不保留了,从新再开始吧,希望到访天博体育APP下载网页版的朋友多多留下宝贵评论!

]]>
<![CDATA[天博体育APP下载网页版已使用Typecho]]> http://www.ceniv.com/a/1207.html 2015-08-17T02:09:00+08:00 2015-08-17T02:09:00+08:00 天博体育APP下载网页版 http://www.ceniv.com 真是不疯魔不成活,又折腾了个遍,这次由ZblogPHP转为了Typecho,感觉简洁了好多。

从ZblogPHP转到Typecho,挺费劲的,没有现成的数据库转换工具,只能自己手动来改了,把原库的所有表导出来成excel格式的,然后查看TE表的结构,在excel里把原表对应的内容改title,重新排列,终于转换成了与Typecho一样的表结构。不过原来的标签倒的话太麻烦了,丢弃了,之后重新添加标签吧,反正文章不太多。

不过好的后端还要配上一个好的前端模板,网上发布的TE主题没有一个满意的,从用ZblogPHP修改别人主题时就产生了自己制作主题的想法,正好这次趁着换后台把前端也自己动手制作一下。这一阵断断续续的接触css、js等前端基础,总算学了个大概,但是区区在下的美学功底实在欠缺,没有什么好的创意,这时候想到异次元的界面挺舒服的,打算照猫画虎,但同时要做好自适应,毕竟手机浏览的情况也是很多的,就使用了bootstrap来减少开发时间。

html模板做好了,往php倒到一半的时候,可能看这个界面多了,越看越不耐看,十分想要做的简单同时又美观点,这时想到立云图志的模板很简洁漂亮,在用ZblogPHP的时候就曾请立云分享过他网站的模板,立云好不吝啬的分享了,很是感激,但是后来忙又没顾得研究他的模板,这次拿出来看了看,也比较好实现,就放弃了做了一多半的“异次元”,采用立云类型的单栏布局形式,吸取他站内的漂亮元素,也打造了一个单栏简洁版本TE模板,也是使用bootstrap来自适应的。(这个时候发现立云图志在改后台了,也转为了Typecho,同时模板也换了,用成了跟照片故事一样的主题。窃以为此主题不如原主题美观)

因为想采用七牛来存储图片、文件等静态文件,Typecho现成的插件又少的可怜,而且还有很大部分是旧版本的,在1.0版本就不好用甚至完全不能用了。就又花了点时间把需要的插件修修补补,做好了自己用。现在主要用到的插件有:

Qiniu File——这个用来替换系统原生的上传功能。

UEditor——因为Typecho原生的编辑器不太适应,还是想采用UEditor,管网给的插件是陈盛智发布的,从最近的一个版本来看,只支持了又拍云,没有七牛。参考了一下他的插件,发现也很好实现,自己去管网定制了一个简化版本的UEditor,然后套用他的插件引入,但是编辑器里的上传功能还是接入不到七牛。又找到了微度网络发布的支持七牛的版本,但是不是为Typecho适配的,就自己动手改了下。其中的一些细节和BUG也修复了下,将单图、多图、附件、视频等的上传全都适配到自己需要的功能。现在可以完美支持七牛了。

BaiduSubmit——老高写的百度结构化插件,可以使用。

HighSlide——羽中的图片弹出插件,很好用,还有相册功能,可扩展性非常强,并且可选包括七牛在内的云存储。

单栏主题用了两天,发现在自适应方面有些遗憾,单栏的小屏幕适应虽然好做,但是到大屏幕上就不好处理了,如果内容部分过宽不美观,过窄的话在大屏上又显的空空荡荡的,还是需要做分栏,就打算重新再写一个。

这时候看到了Abel的站,一下就觉得太适合自己了。没办法,自己没有创意,只能借鉴别人的精美设计了,但可惜他的站不是自适应的,手机等小屏幕还是没法适配。那就自己写吧,决定放弃使用bootstrap,它的代码量相对于我的需求来说有点臃肿了。照着Abel搬了两天,想要再某些地方改改,但是实在无从改起,我的审美水平是达不到人家的水准了,没法改的更精致,唯一欣慰的是,自己写的支持自适应了。而且各屏幕尺寸都有比较好的表现。

终于把让自己熬了几天的心头大石头放下了,轻松很多。剩下的把以前文章改改,现在这个前后端应该会用比较长的时间了吧。

]]>
<![CDATA[记一次神奇的数据丢失恢复]]> http://www.ceniv.com/a/1206.html 2015-08-12T09:44:00+08:00 2015-08-12T09:44:00+08:00 天博体育APP下载网页版 http://www.ceniv.com 我的邻居们,不知道是因为用的电器太多了还是某个电器短路了,时不时的电路总会跳闸,每次跳闸我就默默出去把闸再合上。虽然闹心,不过尽量忍着了,毕竟大家出来租房也都不容易。

这阵子在计划改用TE,写个TE主题,熬了三天夜终于快完成了,昨晚照常在折腾CSS样式表,眼看着只差页脚部分了,突然屏幕一黑,又跳闸了!麻木的出去把电闸合上,回来开机。打开Phpstorm,主页面正常,切换到CSS,给我显示出来一堆0000…经过再三确认,确实是CSS文件损坏了……并且无法修复。瞬间心里尘土飞扬,不知道一群什么玩意儿奔腾而过。

做好了重写的准备,带着郁闷的心情上床睡觉了,睡前看了眼手机。嗯?手机上显示的是QQ浏览器,打开的是半成品的网页,原来是晚饭前实验手机浏览布局而打开的,因为吃饭就没有关闭。心里一动:有转机!虽然源已经消失了,不过手机上既然打开了,当然css、js什么的已经缓存到手机上了。立刻连上电脑打开PP助手,打开浏览器的文档目录,翻了个底朝天也没发现哪个是或者像是缓存文件,更别提原格式的css了。在手机上打开Filza,定位到浏览器目录,搜*.css也没有有用的结果。最后没办法了用PP助手把浏览器所有文件一锅端,包括documenlibrary等目录,在电脑上又搜索几个来回还是没有结果。

在用Notepad++打开一个文件查看的时候突然想到可以全目录搜索关键字,虽然不知道缓存文件是不是明码保存的,姑且一试!输入css里我自己定义的独有class名,全目录搜索,数秒后……竟然真出结果了!!! 显示两个文件里搜到了我要的关键字:\Library\Caches\com.tencent.mttlite\Cache.db\Library\Caches\com.tencent.mttlite\Cache.db-wal,第一个数据文件里一个结果,第二个里面好几个。打开第一个看了看,是很早前一个阶段的,完成度很低,第二个.db-wal不知道是什么格式,查了一下说是数据库日志之类的,也没找到合适的软件打开,直接用Notepad++打开,当然是很多乱码,不过我的css内容部分大部分是全的,只有开头有部分乱码。搜索到的几个结果其实是不同阶段的,可能是每次手机打开一次网页,它会保存一次。找最近的一次,虽然还差了不少,但也算是勉强找回了大部分。

至此,告一段落,不用完全重写了,心情也舒畅了不少。将此历程记录一下,以备之后为类似情况提供思路。

]]>