跳到主要内容
友链鱼塘
博客 OneBlog

友链鱼塘

908 字 3 分钟 -- 阅读
最后更新于:
AI 摘要

友链鱼塘

需求

1给我的博客增加一个可以展示rss别人博客的页面,然后放在关于/互动交流/友链/鱼塘 位置。

实现

鱼塘页已加上并推送到 master,CNB 会自动构建主站并部署后台 RSS 代理。

访问地址: https://onedayxyy.cn/about/fish-pond/
导航位置: 关于 → 互动交流 → 友链 → 鱼塘

功能

  • 按时间倒序聚合友链博客最新文章
  • 可按博主筛选、「愿者上钩」随机一篇、刷新、加载更多
  • 订阅源写在页面 front matter 的 feeds 里(已预填 10 个可用 RSS)

怎么加新源

编辑 hugo-teek-site/content/docs/50.关于/36.鱼塘.md,在 feeds 中追加:

1- name: 博主名
2  link: https://example.com/
3  avatar: https://example.com/avatar.png
4  rss: https://example.com/rss.xml

流水线跑完后即可访问;若页面能开但文章拉不出来,多半是后台 rss-proxy 还在部署,稍等一两分钟再刷新即可。


需求:这个鱼塘 里关于我友链rss新增或者删除,我需要在博客后台能直接更新哦

后台已经可以管理鱼塘 RSS 了,已推送上线。

入口: https://oneblogadmin.onedayxyy.cn/admin/#/content/fish-pond
(侧栏:内容管理 → 友链 → 鱼塘)

能做什么

  • 新增 / 编辑 / 删除订阅源(名称、站点、头像、RSS)
  • 拖拽排序
  • 「从友链导入」(默认猜 {站点}/feed,导入后请核对再保存)
  • 调整每源条数、每页展示数

保存后会写入 36.鱼塘.md 并走现有构建流程;流水线部署完刷新后台即可用。


定期自动同步友链 RSS

仓库脚本会扫描 /about/friend-links/ 全部友链站点,探测可用的 RSS/Atom,仅追加进鱼塘(不删已有源):

1node scripts/sync-fish-pond-from-friends.mjs --write

CNB 每小时探测一次,实际执行时刻由后台「采集频率」配置(默认每天 07:00 Asia/Shanghai);有新增则 commit + push,再触发主站构建。

友链自动闭站规则

每天 06:00(可在后台改)同步跑:耗时 / 互联 / 截图补缺 / 可达性 / 异常站巡检。命中以下任一条件会写入 disabled: true(前台不展示,后台可改回):

  1. 无法访问
  2. 站点涉黄 / 涉违法(启发式关键词,误报可手动恢复)

已取消「超过 3 个月未更新文章」自动闭站。

鱼塘侧:warm-fish-pond-cache 默认每 1 小时;从友链同步 RSS 默认每天 07:00。

提前缓存

01.打开 友链鱼塘 页面 /about/fish-pond/,完全加载出来内容太慢了,请提前定期缓存好呀,用户点击页面后就能立马展示;

02.如果采集到友链成员博客有封面的话,我这里也把封面弄上去把,这样用户阅读起来效果应该会更好点;

已上线。鱼塘现在走「定时预聚合 + 首屏读缓存」,有封面的文章也会显示封面。

01. 秒开

  • 新增 GET /api/fish-pond-feed:从 ADMIN_KV 读预聚合结果
  • CNB 按后台「采集频率」预热(默认 每 1 小时);刚已手动预热成功:19/20 源 · 93 篇
  • 后台入口:内容管理 → 友链 / 鱼塘页顶部「采集频率」卡片
  • 页面优先读缓存;点「刷新」仍会实时拉取

02. 封面

  • RSS 解析支持 media:* / enclosure / 正文首图
  • 有封面的卡片右侧显示缩略图(当前缓存里约 32 篇有封面)

访问

  • 鱼塘页:https://onedayxyy.cn/about/fish-pond/(博客主题随 CNB 构建生效,稍等 2–5 分钟)
  • Admin 函数已部署;缓存接口已可用
最新文章

文档导航