每个当下,都是过去的结束,以及未来的开始

    • clsty
    • 0:00 am

    有时或许连你自己都不知道,你已有达成目标的能力;直到你得到了一份高于活化能的初始能量。

    空间站的又一点变化

    上个月,空间站又发生了四个主要变化1,距离理想中的究极完全体又双叒叕进了一步。

    链接管理优化

    之前本站采用所谓“portal”来确保链接不会 404;目前,这些链接仍然不会导致 404,只是每个页面的固有链接发生了变化。具体详见这篇文章

    边脚注的实现

    这是我个人最喜欢的一个改进。

    • 脚注会同时出现在边注的位置2,我称之为“边脚注”。
    • 边脚注由 JavaScript 实现,不会像由 Perplex 内置短代码实现的边注那样干扰 RSS 输出。
    • 布局表现:
      • 总体位置较为灵活,会随着页面宽度改变3
      • 竖直位置与正文内部的脚注基本接近。
      • 在正文外部时,与中心部分的水平相对位置非常稳定。
      • 在正文右侧时,不会与 featured 图片重合。
    • 修复了当多篇含有脚注的文章被渲染到同一页面时,脚注 id 冲突的问题。4

    如图所示,笔者很早就想要这样的效果了,没想到自己真的能做出来,作为强迫症无比满足。

    Figure 1: 纪念终于能稳定显示在正文左侧的边脚注

    Figure 1: 纪念终于能稳定显示在正文左侧的边脚注

    侧边目录栏改进

    Perplex 本来也内置了一个侧边目录栏,但是存在感极弱。

    • 网页加载时,目录栏不会自动打开。
    • 除非屏幕极宽,否则目录栏不会一直显示,一旦失去焦点也就失去了踪影。
    • 当前所在标题不会在目录栏中高亮,也更不会自动滚动到可视范围。

    这次的改进不仅依次解决了以上问题,还增加了不同屏幕宽度下位置、尺寸与透明度的自适应改变,以期与其它元素5和谐共处。

    亮色模式修复

    这部分的改进背后是一个有点令人哭笑不得的事件。

    起因是有人向我反馈,首页的部分章节标题与背景色同为白色,进而融为一体。我感到大惑不解,毕竟“Perplex 可是只支持深色模式的”。

    而之后我才了解到,Perplex 其实本来就支持亮色主题,我对此不知情的原因则是:

    • 我习惯在浏览器与系统上始终开启深色模式。
    • 大多数支持亮/暗两套配色的 Hugo 主题都会给出一个切换按钮,而 Perplex 是个例外。

    在一些紧急修复之后,亮色模式能够正常工作了,只是离我的理想仍有差距 —  — 至少也要实现一个切换按钮,不然又会出现像我一样以为它只支持暗色(或亮色)模式的人吧。6

    arCNiso 例行更新

    只是例行更新,一切正常。7

    空间站更新汇总

    除了本文以外,空间站还更新了以下内容:

    散文屋

    1. 次要变化则包括新增字词数统计、Artalk 更新、再次加载页面时恢复上一次浏览位置、代码块自动换行而非水平滚动、代码块显示行号等。 ↩︎

    2. 这种做法并不是首创,而是借鉴自 gwern.net。 ↩︎

    3. 尽可能减少边脚注与侧边目录栏抢空间的机会。 ↩︎

    4. 这口陈年旧锅本来要扔给 Hugo 所依赖的 Markdown 引擎 —  — Goldmark,但被扔回到 Hugo 这边已经有约四年了,参见 Hugo 论坛的讨论以及 GitHub 上的 issue。 ↩︎

    5. 容易与目录栏争抢空间的,主要是头图和边注。 ↩︎

    6. 这需要将 CSS 与 JavaScript 一同做调整,并不是只靠已有的 CSS 加一行能用按钮触发的 JS 命令就能实现的,我只能试着抽空实现它了。咕咕咕 ↩︎

    7. arCNiso 是笔者为了解决原版 archiso 的一些痛点而改进的一个分支,仓库为 GitHub:clsty/arCNiso。 ↩︎


    • clsty
    • 0:00 am

    赛博空间站,前进四!

    空间站的四个变化

    上个月1,空间站发生了四个变化,距离理想中的究极完全体又进了一步。

    启用在 Cloudflare 上的副本

    之前,域名 blog.celestialy.top 对应的静态站点托管在 GitHub 上,由于国内访问不稳定,套了一层 Cloudflare 保护代理2

    为避免不必要的麻烦,现在 blog.celestialy.top 直接指向 GitHub Pages,并且新增一份副本布署在 Cloudflare Pages 上,域名为 css.celestialy.top

    读者可直接访问 css.celestialy.top,它与 blog.celestialy.top 两个站点可视为线路不同的同一站点,评论区也是完全相同的。

    终于有评论区了

    Perplex 主题本身并不支持评论区,好在笔者的 Hugo 水平稍微提升了一些,可以自行尝试集成。在试用了多种评论系统之后,我最后决定暂时采用 Artalk,它与我理想中的评论系统只差一步之遥(就是下面所说的这一步)。

    由于 Artalk 使用填写邮箱来确定身份,却暂不支持验证邮箱,无法防止有心之人冒充他人身份,于是本站暂时追加了“也需要亲自发评论到我的邮箱”的这种过渡措施,有效期至 Artalk#840 解决,且本站 Artalk 成功更新之时。

    再见 Hugo archetypes;你好 ox-hugo

    我曾在 Emacs China 吐槽过,用 Perplex 主题发文还要配图,并且填写巨长的导言区,流程可谓繁琐至极;而 Hugo 自带的 archetypes 模板机制,在 Perplex 主题下能发挥的作用非常有限,即使我写了个脚本封装 hugo new content,以便在任意目录深度(而不限定于项目根目录)调用 archetypes,导言区的准备工作依然非常复杂。

    在迁移发布了仅两篇之后,我就无法再说服自己“这只是仪式感”了。

    在写作热情即将被完全磨灭之际,我忽然又想起了很久之前浅尝辄止的 ox-hugo3,一个能通过 Emacs Org-mode 导出到 Hugo 所使用的 Markdown 的自动化工具。正巧,最近我解决了 Org-mode 对我而言的一些痛点,如果能利用 Org-mode 来写博客,想必是轻松愉快的。

    于是在几十个小时的奋战下,ox-hugo 终于成功接管了我的写作流程,并结合 Org-mode 自身非常有利于自动化的特性,以及一些自定义的 Elisp 代码,省去了不少本来需要我手动处理的杂务;它甚至还实现了《网页(博客/笔记)的 LaTeX 支持现状》中的核心需求。

    利器到手,笔者连更了两篇文章,其一甚至还是全新之作4

    我尝试了一种很新的友链交换邀约

    友链交换的邀约5已经开放,虽然方案有些特别,即所谓“以文交友”,不过根据规则是可以复用已有文章的,门槛并不算高。

    此外,这并不是与我交换友链的唯一可能途径;只是其他途径看缘分,并没有明确安排。

    参见友情链接交换的开放提议

    arCNiso 2024.05 例行更新

    archiso 在最近几个月更新很少,但在过去的一个月突然连更了几个提交,将 Bootloader 从 GRUB2 改为 systemd-boot,且体积又增大不少。

    为了准备作为 archiso 的下游项目 arCNiso6 的五月例行更新,我不仅需要依次同步上游的变更,还需要再压缩体积才能让 arCNiso 保持在 2G 以内,更要尽可能让安全启动在 systemd-boot 下也能工作。

    因为上个月空闲时间余量明显不足,我差点以为这个版本无法准时完成发布了,好在体积问题以 zathuravlcpartitionmanagerddcutilman-pages-zh_cngrub-customizer 等软件包7的移除为代价而顺利解决;至于安全启动,经测试似乎直接可用,不需要什么额外措施。总之,最后仍是正常更新了。

    空间站更新汇总

    除了本文以外,空间站还更新了以下内容:

    散文屋
    此处在四月发布了两篇文章,并且都是指南向的,侧重于实用性。

    1. 今后应当统一一下说法:例如 5 月的月摘在 5 月 1 日发布,总结的是“上个月”也即 4 月的事情,而“这个月”应当指 5 月才对。 ↩︎

    2. GitHub Pages 本身也提供 HTTPS 证书,而它的刷新无法在启用了 Cloudflare 保护代理时进行。因此,每过几个月就要手动关闭 Cloudflare 保护代理,再到 GitHub 上多刷新几次直到 DNS 检查通过(意味着 HTTPS 证书成功刷新),再重新开启 Cloudflare 保护代理,这样才能解决证书过期问题。 ↩︎

    3. 仓库地址:https://github.com/kaushalmodi/ox-hugo ↩︎

    4. 也即,并不是从 Hextra 时期的博文迁移而来的 —  — 并不是什么值得炫耀的事(笑)。 ↩︎

    5. 我对是否要采用“申请”(或“请求”)这个词纠结了挺久,因为友链的交换应当是双向选择的结果,而“申请”似乎有些单向的意味。所以我最终采用了“邀约”这个有些奇怪的措辞。 ↩︎

    6. arCNiso 是 clsty 开发维护的自由开源项目,简单点说就是对 Arch Linux 的 Live CD 的一种易用化定制。 ↩︎

    7. 你还是可以用 Firefox 看 PDF 的,虽然确实不如 zathura。 ↩︎


    • clsty
    • 0:00 am

    春暖花开,正是踏青好时节。

    本月摘不含任何愚人节要素,请放心阅读。

    当大家以为你要整个活时,你没有整个活,这也是一种整活。

    xz-utils 事件

    三月,在开源圈子里最炸裂的大概就是 xz-utils 事件了(简称 xz 事件)。

    对于 Arch Linux,万幸的是最关键的 openssh 并没有受到影响,因此我估计这不会对 Arch 用户造成什么实质威胁。

    不过,恶意代码终归是不能留着过年的。

    • Arch 的对应软件包 xz 已光速更新到不含恶意代码的 5.6.1-2 版本,只要 sudo pacman -Syu 即可解决问题。
    • 此外,3 月份的 archiso 也受到波及,arCNiso 作为基于 archiso 的项目也未能幸免,无论是 archiso 还是 arCNiso 用户都应当尽快删除 3 月份的版本。

    最后,这并不意味着开源软件(相对)不安全。 —  — 闭源软件在这方面的问题显然只会更严重,因为它的代码连被公开审查的机会都不会有,开源软件在安全方面仍然具有根本性的优势。

    不过,xz-utils 事件,确实就安全问题为开源社区敲响了警钟。或许,未来可以利用人工智能自动扫描所有公开代码。

    此外,考虑到事件性质更侧重于供应链投毒,即使在这一特定事件中幸免于难,闭源软件界大概也不会觉得事不关己,比如前文的自动扫描机制如果成为现实,闭源界就可能会参与其中,说不定已经有这样的例子了。

    arCNiso 2024.04 版发布

    arCNiso 是 clsty 开发维护的自由开源项目,简单点说就是对 Arch Linux 的 Live CD 的一种易用化定制。

    此为例行发布,项目本身没有什么大的变化,但构建的镜像随着 sudo pacman -Syu 而自动免除了 xz 事件的影响。

    并且,在 3 月 3 日,因为 arCNiso 的 star 数达到 16,clsty(我)首次拿到了 GitHub Starstruck 成就,感谢大家对 arCNiso 项目的支持。

    空间站更新汇总

    除了本文以外,空间站还更新了以下内容:

    散文屋

    • clsty
    • 0:00 am

    空间站的第一篇月度摘要。

    空间站正式启用

    自 2023 年夏末至今,经历了两次大幅调整(HB -> Hextra -> Perplex)之后,空间站在底层技术层面终于正式确定,开始稳定运行。

    之前在使用 Hextra 时期临时放出的文章暂时还未迁移,之后会慢慢整理,请读者稍安勿躁。

    欢迎订阅 RSS 以获取后续更新。

    空间站更新汇总

    除了本文以外,空间站还更新了以下内容:

    散文屋

    arCNiso 2024.03 版发布

    arCNiso 是 clsty 开发维护的自由开源项目,简单点说就是对 Arch Linux 的 Live CD 的一种易用化定制。

    此为例行发布,几乎没有什么实质变化。不过实际上作为上游的 releng 这个月也少见地完全没有更新。

    值得注意的变化是,在过去一个月中,arCNiso 的文档被迁移至基于 Astro 的 Starlight,站点早已可用,但此项工作仍在进行中,一些问题仍待解决。