笔记 / 2026-10-23

JSON Feed 与子路径媒体

在 RSS 之外增加 JSON Feed,并记录 GitHub Pages 子路径下媒体、canonical 与检查脚本的注意事项。

1 分钟阅读astroseojson-feed

为什么加 JSON Feed

RSS 适合阅读器,JSON Feed 更适合脚本与前端消费。新增 /feed.json,合并项目与笔记,最多 20 条,并在页面 head 声明 application/feed+json。

子路径

部署在 https://guidchen.github.io/dsh-personalnet/ 时,所有站内 URL 必须带 BASE_PATH:

  • 媒体 /media/projects/... 由组件补 base;
  • canonical / JSON Feed 的绝对地址由 absoluteUrl 生成;
  • check-dist 与 check-budget 支持 BASE_PATH,避免把子路径误判为缺失资源。

校验

构建后检查 feed.json 的 version 与条目数;RSS 仍保留,二者互不替代。子路径构建再跑一次 check-dist,可以提前发现只在 GitHub Pages 出现的 404。

实现索引

  • src/pages/feed.json.ts:Feed 生成与 Content-Type。
  • src/lib/seo.ts:absoluteUrl / toDate 子路径处理。
  • scripts/check-dist.mjs:Feed 条目与 version 校验。

命令面板

Esc

↑↓ 选择Enter 执行Esc 关闭