壹言 - 前端思路

壹言是这里最简单不过的界面了,它的功能只是在路过本站时一个不知该去哪里留下痕迹的地方。但由于功能上太过简单,就不得不让我去思考如何变得花里胡哨。最初,我打算使用简单的丝线增加一点设计感,可是后来发现还是太过简单。然后我注意到了我之前给页面的文案:这里没什么好玩的,但是有你的留言就不一样了。你的每句话都会记录在风记星辰站点的数据库里,直到风消失的那天。然后我将新的设计出来了——以黑洞为主题。黑洞可以吞噬一切,也就是风消失的一刻。

至于黑洞这个元素,我原本想使用模拟的黑洞视频,例如摄图网这个素材:https://699pic.com/video-1762386.html。但是又觉得不太合适,一方面视频加载需要占据服务器流量和资源,另一方面手机对于浏览页面视频背景时支持不佳。所以我打算使用静态图片,虽然静态图片又缺少视觉带来动效感,不过可以使用 CSS 动画来拟补这一点。我做了两个 box,一个是 stars 星,一个是 lines 线,你可以在页面看到黑洞中心周围的三条动线,还有不断被黑洞中心吸入的星星。这一切都是通过纯 CSS 代码实现,至于静态图片当然是选择人类拍摄的第一个黑洞照片了,而页面的文案也发生了变化。

那么即轻量又有意义的设计诞生了 —— https://www.thyuu.com/board

壹行 - 后端思路

之前壹行的 RSS 订阅动态一直是通过 WP 插件WP RSS Aggregator实现的单独页面,我一直对于这个插件表示太过麻烦,因为当你收到朋友的 RSS 链接后,你需要把它添加到插件的设置中。所以一直不想去使用这个插件,可是又没有好的方案替代。

几天前突如其来的想法让我决定去改变这里,终于思考并实现出来一套方案。它的逻辑是将朋友们提交的 RSS 链接通过 WP 自带的 fetch_feed 函数去解析内容。将解析出来的 RSS 内容通过 set_transient 函数来设置 RSS 数据的缓存,这个函数会将数据以默认的方式缓存到 WordPress 提供的对象缓存中,并非直接缓存到数据库中。PHP 将缓存的 RSS 动态读取出来,遍历查询形成 html。最后通过 schedule_event 增加 WP 定时任务,用来更新 RSS 动态和清理缓存。至于朋友列表顺序,在设定了以成为朋友时间为第一顺序的基础中,增加第二个判定最近 RSS 更新时间进行排序,简言之让有更新的朋友们排在前面,以便查看最新动态。

在页面的前端设计方面,继承之前设计的基础上,除了增加了新的卡片样式,网站截图出现的动画也有些变化。在对于 RSS 动态的展示设定了两种布局,一是通过朋友们的卡片展示,二是通过 RSS 动态形成的聚合列表展示。在页面菜单部分增加的按钮,可以随时切换这两种布局,对查看动态需求提供了更有利的方案。

在实践过程中我遇到了一些瓶颈,曾一度让我摸不到头脑的问题,就是我写的代码导致页面加载缓慢。不过好在探讨和总结问题的过程中,感谢2Broear给予了强有力的建议。

那么非常实用且崭新的页面出来了 —— https://www.thyuu.com/friends

结语

这次折腾,让我发现了后端的魅力。