ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Atom还是RSS2?用hexo-generator-feed同时生成双格式订阅源的实战指南

Atom还是RSS2?用hexo-generator-feed同时生成双格式订阅源的实战指南 Atom还是RSS2用hexo-generator-feed同时生成双格式订阅源的实战指南【免费下载链接】hexo-generator-feedFeed generator for Hexo.项目地址: https://gitcode.com/gh_mirrors/he/hexo-generator-feed如果你在用 Hexo 搭建技术博客hexo-generator-feed这款 Hexo 官方 Feed 生成器插件值得装一个它能在一次构建中同时输出 Atom 1.0 与 RSS 2.0 两种格式的 XML 订阅源让 Feedly、Inoread、NetNewsWire 等主流阅读器都能稳定追更你的博客。本文将从 Atom 与 RSS2 的区别讲起带你用最少配置完成双格式订阅源搭建并顺手读懂源码里的关键逻辑。一、先搞懂Atom 与 RSS2 订阅源到底差在哪两者都能承载同样的文章内容区别主要在 XML 结构与字段命名对比维度Atom 1.0RSS 2.0标准来源IETF 协议标准RSSBoard 社区标准日期格式W3C 时间2026-08-26T03:21:00ZRFC 822 时间Thu, 26 Aug 2026文章唯一标识id元素guid元素摘要字段summarydescription阅读器支持几乎所有主流阅读器几乎所有主流阅读器源码里也能直观看出这种差异生成 Atom 条目时用id标识文章生成 RSS2 条目时改用guid见 lib/generator.js。所以双格式输出本质是同一份内容、两种皮肤——多配一行数组即可无需维护两套内容。二、30 秒安装一键装上 hexo-generator-feed在 Hexo 站点根目录执行npm install hexo-generator-feed --save版本兼容注意当前 4.0.0 基于 Hexo 8 开发、要求 Node ≥ 20.19见 package.json 中的 devDependencies 与 engines 字段老版本 Hexo 请按官方说明降级Hexo 4 用 2.x、Hexo 3 用 1.x见 README.md。三、双格式订阅源核心配置type 数组写法在站点_config.yml中加入feed: type: - atom - rss2 path: - atom.xml - rss2.xml三个要点type支持atom、rss2字符串或[atom, rss2]数组——后者才是同时生成双格式的关键数组模式下path必须与type顺序一一对应省略时默认生成atom.xml与rss2.xml路径推导逻辑见 index.js写错值比如rss1会自动回退为atom不会报错中断构建见 index.js。执行hexo generate后public/目录下会同时出现两个 XML 文件分别对应两种格式。四、关键配置项速查limit、content 与 autodiscovery默认配置在 index.js 中定义全部可配置项如下配置项默认值作用enabletrue开启或关闭插件typeatom订阅源格式atom、rss2或双格式数组pathatom.xml输出文件名数组时与type一一对应limit20收录文章数上限0表示全部hub空PubSubHubbub 推送地址不用则留空contenttrue是否把全文写入 Feedcontent_limit140无摘要时截取正文前 N 个字符content_limit_delim空截取时按该分隔符回退避免断在半句order_by-date文章排序字段icon空Feed 图标缺省自动取邮箱的 Gravatarautodiscoverytrue在页面head注入自动发现标签五、订阅源自动发现阅读器如何秒找到你的 Feed autodiscovery是新手最容易忽略、却最实用的一项。开启后插件在每篇 HTML 页面渲染完成后自动向head注入订阅链接实现见 lib/autodiscovery.jslink relalternate href/atom.xml title我的博客 typeapplication/atomxml link relalternate href/rss2.xml title我的博客 typeapplication/rssxml双格式模式下两条标签会同时写入过滤器注册见 index.js。好处是读者把任意文章页 URL 粘进 Feedly、Inoread阅读器就能自动嗅探到订阅地址无需手动输入atom.xml。另外若页面主题已输出过同类标签插件会跳过注入以避免重复见 lib/autodiscovery.js。六、摘要与正文控制订阅者到底看到什么每条 Feed 条目的摘要按以下优先级取值逻辑见 lib/generator.js文章 front-matter 中的descriptionintroexcerpt正文前 140 个字符可用content_limit_delim按分隔符回退防止截断在半句话同时content: true默认时全文会写入 Feed 的content字段离线阅读器也能完整阅读设为false则订阅端只显示摘要。七、常见问题 FAQ ❓Q1为什么只生成了一个订阅文件type写成了字符串。想要双格式必须用数组写法[atom, rss2]。Q2Feed 里没有草稿文章正常吗正常。生成器会主动过滤draft: true的文章见 lib/generator.js。Q3为什么页面head里看不到订阅标签可能是autodiscovery: false或主题已自行注入过同类标签插件检测到后会跳过。Q4站点还没写文章会生成空 Feed 吗不会。文章数为 0 时生成器直接返回且不注入自动发现标签见 lib/generator.js。八、项目文件导航 文件说明index.js插件入口默认配置、type/path 归一化、生成器注册lib/generator.jsFeed 生成核心排序、过滤、摘要/全文/分类组装lib/autodiscovery.js订阅源自动发现标签注入README.md安装与全部配置项的官方说明test/index.js覆盖 atom、rss2、双格式等场景的行为测试package.json版本、依赖与 Node 环境要求搞定配置后执行一次hexo generate确认public/目录下两个 XML 文件都已生成你的博客就同时拥有了 Atom 与 RSS2 两套订阅源——不同偏好的读者从此都能一键关注你的更新。【免费下载链接】hexo-generator-feedFeed generator for Hexo.项目地址: https://gitcode.com/gh_mirrors/he/hexo-generator-feed创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表