Skip to content

2026 / 01 / 02

新年快乐!终于完成了博客的重构工作!(典中典博客迭代次数比文章数还多)

当然这次要轻松一些,基本就是魔改 Astro AntfuStyle Theme

是的,得益于此,我们拥有了像上面这个链接一样的酷炫链接样式!(但是也更像 antfu.me 了)

也罢,也罢。至少我用着、看着都比之前舒服多了。

实际上,这也正是上一条 Thoughts 中我所找到的模板,一幌已经是半年前的事情了。

前两天有朋友问起我,为什么半年没有更新博客了(是的,他订阅了我的 RSS!!!)

忙完前段时间的事情后,我就开始着手重构博客了,几经波折,最后成了现在的模样。

然后也顺便写了一个回顾 2025 年(当然主要是这个博客的)的文章。

2025 / 06 / 03

最近先后帮两个朋友用 Astro 创建了他们的个人网站。为了方便,直接让他们选了一些 Astro Themes 上的主题为基础进行修改。

于是又遇到之前与朋友吐槽的问题——「Astro 并没有真正意义上的主题(Theme)」。

你能看到的大部分所谓的 Astro 主题,实际上都是一个完整的 Astro 项目。这就意味着,当你从某个主题为起点进行修改时,你几乎很难同步后续的更新——同理,你也需要对 Astro 有更多了解。尽管 Hexo 也会遇到类似的情况,但是你可以选择把主题装在一个 themes 目录下或直接使用 npm install 的。

当然,Astro 也可以实现类似主题的东西。官方的 Starlight 是一个专门用于文档站的主题。基本上来说,它是一个 Astro 的 Integration,通过相应的 API 注入路由、组件……然后暴露了一系列的 API 可以进行自定义。也许在 Astro 真正有一个主题的标准前,这是一个不错的实践。

很巧的是,我的一个朋友就选到了一款基于 Integration 的主题。但相反,他选择的主题在很多地方都未能暴露自定义的接口,很多地方是事实上不能修改的。从这个角度看,如果不能暴露足够的自定义接口,那么基于 Integration 的主题就会显得有些过度设计。

于是反复修改之下,我又给他找了另一个类似的模板做了迁移。

2025 / 05 / 02

想试试 Rslib!

(后面 试过了!)

2025 / 04 / 29 「由友情链接图标想到的」

先前也说过,我曾经有过一个 Discuz! 论坛,那时候的友情链接还挺流行这种小图标的 GIF 的,现在很多网站都没有了。想找个在线生成器,也都很难找了。

以下是两个一下子能想起来的,一个是 Bangumi 的,另一个是 Project1 的。

P1,实际上是 66RPG 的继承者,是我接触编程的开始。Bangumi,虽说一直用过,却是这两年才注册的。

那段时间一直想写很多很多 PHP 插件,后面又想做一套 DZ 论坛分销系统,奈何水平有限,不了了之。

但现如今,做一套完整的系统,写些 PHP 插件,大概是没什么问题了。但是偏偏也不知道到底想写什么了。

2025 / 04 / 02 「UwU/Kawaii Logo 小考」

今天因为一些事情又打开了 React 文档,发现他们还在使用这个很可爱的 logo。

UwU Logo

才发现一幌已经是去年的事情了。去年开始,大概是以 @sawaratsuki1004 为滥觞,众多开源社区的项目都开始采用了这种 Vtuber 风格的 Logo。(确实挺可爱的,我也不能免俗随手糊了一个丑丑的版本。)

我以为是会像限时彩蛋一样,过段时间就移除了,没想到许多数项目都保留了。

在当时 yyx 还认为字体会存在潜在的问题,所以在 7aa1cb3 中移除了这个 logo。(其实严格来说问题不大)

关于名称,因为确实是以 Vtuber Logo 风格为灵感,所以有的人直接就称为 VTuber Style Logos,当然,原作者是日本人,干脆就叫了 Kawaii Logo

但在各种面向英文社区的开源项目中,现在保留的这类 Logo 都被称为 UwU Logo。

UwU,和 OwO 或 QwQ 差不多,但我感觉在国内用的少些。(许多年后,谁也没想到 qwq 被熟知为一个大模型……)

如今,许多项目会将其设计成一个彩蛋,通过 IIFE 检查 ?uwu 参数或 localStorage 状态触发。首次触发后,状态将被存储,以通过类名控制显示效果。vuejs/docs@a95e910, reactjs/react.dev#6817)

所以只是我之前通过 https://react.dev/?uwu 进入后保存了状态,才会看到这个 logo。

2025 / 03 / 23

前两天吃饭的时候,脑子突然冒出来一个想法,给现有的友链页面加一个「随机友链」的功能。

最后效果是做成了一个单独的站点,放到了原来存储友链数据的仓库里。

实现了一点点简单的动画,还挺有意思。其实最开始想做成老虎机的效果,但有点麻烦就放弃了。

写着写着,就顺手用 jsdoc 标注了。标注标注着,就干脆直接把 // @ts-check 加上了。

总之,就是你现在看见的效果。

又参考汐涌及岸的站点监控,我也顺手搭了一个,把目前的子站点都放进去了。

2025 / 03 / 06 01:07 · 「值得纪念的一天」

偶然发现 Astro 英文文档中的一个类型小错误,修复之后顺手翻阅了一下 Astro Docs Translation Status,结果发现中文的部分文件过时了,索性这两天先后一并翻译了。

随着我提交的最后两个 PR 被成功合并,Astro 的中文文档短暂地达成「0 outdated, 0 missing」,舒服!

这是我第一次在短时间内提交如此多的 PR,尽管仍是文档相关的工作。同时,也借此机会深入了解了开源社区 i18n 多人协作的工作流。Astro 使用的是社区成员开发的 lunaria,它可以自动跟踪文档变更,实时显示翻译状态,还挺有趣的。

顺带一提,Astro 的贡献者徽章设计的还挺好看的,在此留个纪念吧(〃∀〃) 看 Re:0 去了!

@maxchang3 Astro contributions

2025 / 03 / 01

很久之前,尤其是微博网页版把旧版砍掉之后,我就想有一个地方可以存放一些碎片化的东西。在先前的 Hexo 博客中,也使用过 Artitalk.js,但就像我现在不想添加评论功能一样,似乎显得有点重了。但要简化来说,又该怎么组织内容呢?是一个一个碎片化的 md 文件还是一整个 JSON 呢?纠结之下,这个事情就被抛之脑后了。

昨天又在使用沉浸式翻译的时候,有些地方想要修改,但想到了它不是一个开源插件的事实后感到有些沮丧。但也因此去翻阅了一下社区里的讨论,看到了作者对此的辩护,也颇有感触。以及让我很意外的是,原来这个插件基本也就是近年开发的,我还以为是很久之前的东西。

不过这不重要,重要的是发现了作者的博客还挺好看的,并且他的 短想法 让我感到了:哦!这就是我要找的东西!只是一个单独的 markdown 文件,用 blockquote 包裹。关键是他的 blockquote 样式并不像我之前一样类似于引用,而是像是一个卡片,所以更通用一些。所以我就把他抄了过来,目前够用了!

因此,我的 Thoughts 也就此诞生了。

我会在这里存放一些碎片化的东西,也许会扩充成一篇文章,也许某天会悄悄删掉。

之前一些琐碎的想法、从 Artitalk.js 导出的数据也会被搬过来放到前面,所以你可能会看到「Thoughts」诞生前的「Thoughts」。

2024 / 07 / 13

一个小脑洞:为避免无意义的音译外来词引起的歧义,在汉语中可以使用注音符号来代替这些词。

例如:「我坐在沙发上用麦克风唱歌」,可写作:

我坐在ㄕㄚ ㄈㄚ上使用ㄇㄞˋ ㄎㄜˋ ㄈㄥ唱歌

还可以参考谚文把同一个字的注音叠写,以节省空间。🤣

2024 / 04 / 09

互联网存档点 / Internet Checkpoint

とげとげタルめいろスーパードンキーコング2”

時の回廊一時間”クロノ・トリガー”

2021 / 10 / 28 (来自原 Artitalk.js 的数据)

移到了 Bufferfly 主题。讲真的之前的主题确实我很喜欢也非常简洁。但是在排版方面总是存在各种问题,加上一些小的细节的缺失我各种眼馋 Bufferfly。最后还是换上了。但是也是根据自己需求去掉了一些花里胡哨的东西,目前呈现出来的姿态姑且也算得上是简洁吧。

2021 / 10 / 16 (来自原 Artitalk.js 的数据)

我对世界狂烈的呼喊,

「请回应我吧!」

一阵风吹过,

吹走了我的兴奋。

2021 / 10 / 05 (来自原 Artitalk.js 的数据)

好久没发了,这玩意确实容易让人忘掉。

2021 / 07 / 04 (来自原 Artitalk.js 的数据)

一直想有一个稍微私密有可控的地方发点东西,虽说这个博客一定程度上已经是这种职能了,但是有些过于短的牢骚或者不适合成文的东西又不适合单独发一个文章,有时候电脑不在旁边也有些麻烦,虽然说这是静态博客的问题,现在又做这样一个平台有些折腾的感觉,但是还是弄了。 并且这玩意又和 Waline 不一个体系了不免又乱了起来,希望以后能改好些。