Why Nostr? What is Njump?
2024-08-20 19:29:47

CXPLAY on Nostr: 给 clip.cx.ms 的 Atom feed 输出添加了 category 元素, 标签对应为属性, ...

给 clip.cx.ms 的 Atom feed 输出添加了 category 元素, 标签对应为属性, 顺便重新写了两年没更新的 Dockerfile 提交给了上游.

自定义的部分, 本来 Nobelium 作为用 Notion 当 CMS 的博客软件, 服务端渲染帖子内容部分把代码块也写成了 lazyload, 和一些其他「重」组件放在一起了, 导致渲染出的网页会偶尔出现代码块加载不出来的情况(lazy 了但不 load). 然后 Atom feed 组装 content 的时候也是用的同一个渲染组件, 于是这种本来就不可能等 lazyload 的情况导致 content 里面本来应该有的代码块直接消失了. 后来把代码块部分的渲染拿出来了, 这下页面打开就是已经渲染好的代码块, 再也不会偶尔消失了, Atom feed 也基本完整了.

最后就是清理脏得不得了 content HTML, 直接用正则删, 加了七八行正则终于搞干净了. 然后又发现一个可能是 Nobelium 上游的问题: Notion 对应文章的元数据键值里面, 值不能包含换行(特别是 summary), 否则这边的 Atom 过滤组件会失效. 感觉是上下游都没处理元数据值里面有换行的情况.

PS: 为什么要让 RSS/Atom feed 里面的 HTML content 尽量干净呢? 因为开了全文输出的 xml 真的太大了!
Author Public Key
npub1gd8e0xfkylc7v8c5a6hkpj4gelwwcy99jt90lqjseqjj2t253s2s6ch58h