Nevsky.ae 有普通版本、AI 聊天,还有另一种入口——终端。你可以打开栏目、找到文章,并直接在文字界面中阅读。这是博客内容的另一种呈现方式。

这个模式不需要另一套独立的文字集合。终端读取网站已经发布的材料:标题、栏目、正文、图片和链接。文章更新后,不应该留下一个被遗忘的终端副本。

先是名字,然后才是阅读

这项工作中很显眼的一部分,是以大字呈现我的名字。十月,我要求把所有变体整合进随机切换器:语言、风格和动画都可以变化,旁边保留随机切换和暂停按钮。10月21日的版本包含七种名字语言、13种风格和六种效果。

打开栏目选择器时,自动切换大约每五秒发生一次。如果用户在输入命令、阅读内容、选择文字,或切换到别的标签页,动画就不该打扰他们。对 reduced motion 偏好也进行了限制。这里需要处理的是界面行为,而不仅是字形。

下面是当前本地构建中的真实终端。你可以直接在文章里试用:用方向键选栏目并按 Enter,或输入 help。“单独打开”按钮会让它占用整个浏览器窗口。

Nevsky.ae 终端版

网站终端版本

Nevsky.ae 终端版
已保存的项目画面 · 终端可单独打开
打开终端 ↗

命令属于网站

里面有 sections、posts、pages,以及 ai、design 等栏目名称。search 查找内容,open 按编号打开,back 返回列表。文章可使用 images 和 links。Exit 返回普通网站。也可以通过菜单操作,不必记住命令。

这并不提供访问我电脑命令行的权限。命令由网站代码解析,操作仅限于浏览网站内容。终端窗口无法任意执行程序。

两个漂亮画面之间会出什么问题

调整窗口大小时暴露了一个麻烦细节:新的输出已经开始重绘,终端却还在写旧输出。这可能导致菜单重复或丢失已输入的命令。因此,输出处理加入了代次检查:过时的写入不能覆盖新的状态。

还需要单独检查不同语言的名字和窄屏。长名字、语言栏、社交图标和命令必须同时容纳进去。一张效果不错的英语截图并不足够。

后来网站迁移到 Medeo 时,终端获得了 Pixel。测量和 ASCII 图形留在 xterm 中,可见文字则通过 DOM 渲染,让选区与词语对应。对我来说这很重要:如果连一句话都无法正常选中,终端再好看也弥补不了。

终端读取的已发布内容与普通页面相同。本文展示了10月21日发布的多语言随机切换器,以及后来围绕 Pixel 和文字选择所做的工作。可以在文章的交互窗口中测试主要路径:栏目、文章、返回列表。

相关故事:Nevsky.ae 的故事 · 对话式作品集。