大家好,这里是为了不让这个系列变成年更所以临时加更了一期而成功将 Velas Weekly 变成半年更的 Zeee。

这期主要是想报告电波站在今天以及过去6个月间的一些更新与调整。

留言时昵称和邮箱不再绑定

大概这是这次电波站更新的重中之重。但虽说是重磅更新,如果我不提一嘴估计没有人会发现。

自 2019 年 Velas 增设留言功能之初,整个设计就一直是基于“用户登录”的思路写的。

也就是说,在用户第一次留言时,系统会将用户输入的昵称与邮箱注册为一个没有密码的“账号”。之后的每次留言,用户都必须使用相同的昵称和邮箱组合才能使用该“账号”;其他人也无法单独使用某一个曾用过的邮箱或昵称来留言。

这样做最大的好处是可以降低他人“冒充身份”的风险。

举个例子,假设“Z 某”之前曾在电波站留言。那么其他人如果想用这个昵称再次留言的话,就必须先知道“Z 某”的邮箱地址。而由于留言的邮箱是隐藏的,他人无法得知(除非对方的博客中有公开)。所以,只要再次看到“Z 某”的留言,那大概率就是他本人了。

然而,过去六年里我渐渐意识到,这个“天才般的设计”对于一个像博客这样的无账号登陆网站来说是弊大于利的。

首先,很多访客(特别是非博客作者)通常不会特意记住自己上次用过的昵称。如果因为输入邮箱后却反复提示昵称匹配错误,这只会打击他们留言的积极性;此外,也无法避免说有些留言者不想再使用之前的昵称或邮箱的情况。

由于博客对于留言者没有账号找回或资料修改的功能,这类问题只能通过(用邮件)联系站长(我),让站长在后台帮忙找回昵称或是修改资料。即便我在后续更新中,往留言框底下加入了“留言失败时一键反馈”的邮箱模版,但整个流程还是相当麻烦。

之所以我一直没改,是因为这玩意儿牵扯到了电波站的“底层代码”,包括数据库结构与服务端的留言处理逻辑。特别是后续增加了邮件提醒功能与后台留言审核功能之后,这堆代码更是变得愈发像屎山一样冗杂了。

所以过去六年来,虽然明知如此,我还是秉持着“能跑就不要动”和“又不是不能用”(我去,押韵了)的苟且心态强撑。哪怕去年电波站前端重写的时候,我也没敢去碰这部分。

直到最近在网上冲浪时,见识到了不少连昵称和邮箱都能省去的“真·匿名”博客留言系统之后,我突然有点坐不住了——说好了要追随互联网精神呢?现在整了一个“回头就找不到北”的留言板算啥意思?

我改,我现在就改。

(此处省略一千字。)

从现在起,电波站使用了类似 Typecho 的留言逻辑(大概)。今后诸位在电波站留言时,不再强制要求使用和过往一样的“昵称-邮箱”组合了(好耶)。不过,为了能顺利收到留言提醒,还是建议输入真实的邮箱地址。(主要是为了向下兼容,这次也没有彻底重写数据库设计,只是在已有的基础上做了些微小的工作。)

至于昵称嘛……倒也是可以手动“匿名”(前提是得确保邮箱的 Gravatar 头像不会暴露真实身份(笑))。

但这项改动主要还是为了诸位(也包括我)的便利,切勿恶意冒充我的老朋友们哦。

不过因为某些魔↗术↘技↓巧~的存在,倒是毋需担心有人能冒充我啦(笑)

点赞叒砍掉了

我……(欲言又止)

要说的其实在 Velas Weekly Issue 10 里都写过了。也请自动无视 Issue 12 里的那堆胡言乱语(罗老师,罗老师你别这样.gif)

大概是过去半年,我还是越来越深切地意识到,写作,或者说一切的创作和研究活动,本质上都是孤独的。无论再怎么精心设计即时反馈机制,也无法消解这种孤独。反而因为“点赞”功能的存在,我免不了会对“获得外界的反馈”产生了过多的期待——在睡前或是闲暇时,我总忍不住拿起手机看看文章后台的互动情况。

虽然看到有人点赞(特别是有人点赞某些陈年老文)时,我确实会非常开心。但我终究发觉自己不太喜欢这种为即时反馈消耗心神的状态。

加上不少读者其实是通过 RSS 阅读器来看文章的,对他们来说点赞这件事本身就不太直观。

于是,现在的我还是选择把这个功能隐藏了——不过这些“可视化的支持”依旧会保存在数据库中,与文章一起存在下去。

写作是孤独的,但在这个过程中,孤独也会使文字与记录变得纯粹。我想这不是件坏事。

况且在数据库改版之后,如今的留言功能大概好使了不少。如果您有什么想法,欢迎随时留言分享。当然我知道我写的很多文章不好评论,不然也不会叫“电波站”了。

虽然我有预感接下来可能会很忙,难免有一些时间无法分出精力打理这里。但我想 Velas 电波站应该不会脆弱到单纯因为砍掉了陪伴多年的点赞功能而停更的,我应该是有这个自信(笑)

也希望我今后写在这里的文字,能让你度过一段足够有趣的时光。

其他的小更新

精选

可能你已经发现了,大概在今年的三月份,这里有一些文章被偷偷打上了“精选”的标签。

精选列表

大概长这样

这是因为在某天,我突然意识到电波站居然不知不觉已经来到了 80 多篇文章了(Wow, amazing!)。可是随着文章数量的增加,不免会出现过去一些我曾自满的文章被沉到底下去的情况。

为了不让这些好东西愈发无人问津,我请来了家里的黑猫小姐,依照它那不知道从哪来的推荐标准,给一些文字盖上了认证章。如果您是刚刚发现了这个小站,还不知道从哪里看起的话,不妨可以看看它推荐的这些文章,这也许会是个不错的开始。

当然,据前面所说,这些文章完全是黑猫小姐它的纯主观推荐,肯定还会有其他可能更对你胃口的文字被埋没在了那个长长的文章列表里等待着你的发掘。所以如果有时间的话,请千万不要只满足于看“精选”哦!

但愿以后被黑猫小姐盖上“精选”章的文章会变得越来越多啦。

Live Photos

这大概是1月份,春节前后加上的东西。它来自于由 Yuuikic 的一篇文章引发的头脑风暴。

“如果能给文章加上 Live Photos 就好了。”当时我这样想。(有部分是受前段时间国内厂商 app 无由来的“Live Photos 文艺复兴”所影响。)没想到苹果官方的 Live Photos 的 Web 框架(LivePhotosKit JS)已经发布一段时间了。于是我来了个咸鱼翻身,就给电波站加上了(包括在后来发布的《日本散记 2024》中也能看见它的踪影)。

相比于 GIF,Live Photos 的一大好处是可以让用户主动选择是否播放,以免出现 GIF 在背景循环播放而分散阅读注意力的情况。而相比于视频,LivePhotosKit JS 还有一个好处就是无需担心在播放过程中会突然蹦出声音。

不过,在实现的过程中,我发现 LivePhotosKit JS 还有这样一个坑:当网站采用了 PJAX 或 SPA/SSR 之类的“无刷新页面跳转技术”时,跳转到存在 Live Photos 的页面会出现该图片组件不会被初始化的情况。

这时,只需在页面的加载钩子中加入以下代码即可解决:

const livePhotos = document.querySelectorAll('[data-live-photo]');
if (window.LivePhotosKit) {
    livePhotos.forEach((livePhoto) => {
        if (!livePhoto.classList.contains('lpk-live-photo-player')) {
            LivePhotosKit.augmentElementAsPlayer(livePhoto);
        }
    });
}

另外,如果你使用的是 Typecho 博客系统的话,也可以试一下橘夜庭开发的这个 LivePhotos-for-Typecho 小插件。它在 Apple Live Photos 的基础上,还额外支持了 Android 的 Motion Photos,真是非常的 exciting。

其它

大概还有一些其他的更新和改动,但因为时间久远已经记不太清了(翻 Git Commit 中……)

其中包括修复了在 Folo 阅读器中电波站的 Feed 图片的显示错误、调整了一些页面的布局等等,以及千万不要去点下拉菜单里的 copyright 信息(

哦,还有一件事想要分享。因为最近我将已经陪伴了我七年的 i5 Macbook Pro 换成了 M4 的 Macbook Air(可喜可贺),现在最新版本的 Velas 电波站已经是由 Apple Silicon 所编译出来的了。编译速度快了非——常多。当我第一次看到编译打包时终端上的一行行输出在屏幕上如此光速地闪过,有种很新鲜的感觉。


最后,谢谢你读到了这里。现在是夏至时节,请别忘了补充水分,以及小心可疑的自动贩卖机(笑)

我们下篇文章见~

  • 文/Zeee

商业转载请联系站长获得授权;
非商业转载请注明文章来源及链接。