先随便聊聊

这几天准备开学了。上个寒假如同以往,没有完成想象中的很多任务,时间管理有点欠缺。本来想学锡焊但又懒得买工具了,这一拖也就不知多久了,那就先放放吧。这些日子主要是写代码了。

一开始重构 bili-auth 项目,弄了个 OAuth 2.0 的支持,现在看着勉强能用了,之前的 API 太简陋了我自己都不想花功夫接入,毕竟什么都要自己实现怪累人的。现在只需要按照 OAuth 2.0的标准弄好即可,也不复杂。内部关于鉴权的细节都不必暴露了,client 只需关心跳转到 OAuth Center,然后处理下回调即可。

搞上面这个的动力之一,便是我想给博客加上可以登录的评论系统。当然我为什么执着于“记名”的评论,这个下面说吧。总之,给自己的博客系统修修补补,增加了独立的评论功能(略微有点麻烦)。

现在感觉自己又有长进了... 正在逐渐适应用 git 这个强大的工具管理自己的项目。以前用命令行操作 git 感觉是天方夜谭,现在也慢慢熟悉了。不过,现在这段时间还是偏爱 GitHub Desktop ,如同不会用命令行时。

关于评论系统

目前的评论系统截图

博客加入评论功能有十几天了吧,这是现在的评论系统。当然,不止这几个 OAuth ,会尽快加入 Email 登录。

我设计自己的评论功能,正如同我开发了自用的博客系统一样,因为我需要一些特殊的特性与功能,与其拿现成的改,不如直接撸一个不一样的轮子,顺便锻炼自己开发能力。

为何必须登录

回复功能的设计

评论区回复示例

以下的有些概念可能是我自创的,不过都是顾名思义,这里就不做解释了。

我限制了回复层级为一层,就和 B站 和 知乎 一样,有楼中楼,没有楼中楼中楼。 至于多层回复,DisqusReddit 便是支持多层回复的例子。个人感受,逻辑是很清晰的,就像编程语言中语句块的嵌套缩进。但问题也和后者一样,嵌套过多了看着就很乱了,且若是层数多了左边空间会很大,在移动设备上问题尤为明显。因此,二级评论就不再继续缩进了,与这一层的回复评论并列。

二级以上的评论,由于显示时失去层级关系,故在头部加上回复的评论号。在这样的处理中有几种方案:

别的设计比较普通。比如说评论右边的序号,每一个评论都有序号,主要是方便在数据库中存储(这样方便线性储存一个树结构,每个评论带有自己的编号和回复对象的编号)。另外不同于B站删除一个根评论(直接从属于评论列表,如图中 #1)后底下的子评论都被删除,原评论下的一级回复将晋升为一个个根评论,二级评论晋升为一级评论,以此类推。匿名评论,也不多说了,就是字面意思。

后端返回的时间戳,精确到12分钟。因为过于精确的时间戳可能会暴露很多信息。

评论政策,与我的想法

加入评论系统后,我写了一个评论政策。我希望能够给评论区营造友好、自由的讨论氛围。在上述政策中,我只是阐述了应该怎么做,没有说明为什么。那我就在这里随便写写,我关于管理评论区的一些原则和思考。

我推崇自由发言,我不会限制与我观点不同的声音。我无法保证我的观点与所有人相同,因此难免有矛盾和辩论。在遇到冲突时我主张友好讨论,若是发现分歧的原因是价值观不同之类的,那就互相尊重。毕竟我也不能强求任何人接受我的看法。自由发言,在某地目前形势下还是挺有阻力的。删评控评现象太普遍,政治正确审核太严重。这也是我开发自己的评论系统的一大目的,以后我会加上针对政治不正确评论的保护(不是优待),让评论者能够稍微放下顾忌。

另外,我也在评论政策中穿插了很多内容,尽力维护友善的讨论氛围。我希望讨论的过程中能多点宽容和尊重。自我感觉,我自己近两年的言论变化还是挺大的。以前还是挺容易因为网上的很多言论生气,和别人对喷的。再过不久是阴阳怪气(这比直球骂人还不好),现在的状态是看到某些言论一开始还是会心跳加快、有些情绪,不过稍加冷静还是会举例论证,和对方讲道理。我希望以后能够忽略掉这些言论给我心理上的影响,最好是能选择忽视。因为我不总是有精力与别人争论,很多事也无法辩论出结果,因为每个人思考角度不同。

目前还是没有做 SEO 优化(不过由于 Google bot 每天辛勤爬取,也是我网站的主要流量来源,本站还是可以被 Google 搜索到的),也没怎么费力宣传过我的博客,目前访客几乎没有。同样,评论区在未来很长一段时间里也不会有人留下痕迹。评论功能是我期望了很久的功能,虽然说开启了和不开启没什么两样,但是我还是放着,等待某位访客留下点文字。有可以互相交流的人,将博客变成双向沟通的地方,我自然会是十分高兴的。不知道第一条评论,会在什么时候出现呢。