我正在使用 feed 模块生成 CAP 格式的 Atom feed。这是我用来生成提要的代码:
const feed = new Feed({
title: 'Event Notifications',
generator: 'Custom CAP XML Generator',
description: 'Notifications for events',
id: config.url + '/notifications.atom',
link: config.url + '/notifications.atom',
updated: new Date(),
author: {
name: 'Notification Agency',
email: '[email protected]',
link: 'https://www.notification-agency.example.com'
},
copyright: 'https://www.example.com/open-license'
});
我被要求将生成的提要中的
<rights>
标签更改为 <copyright>
。然而,该模块会自动生成一个 <rights>
标签,我找到的所有文档都表明它应该是 <rights>
。我对 CAP 格式或 Atom feed 不太确定,无法确认这是否正确,或者我是否应该拒绝此请求。
如果
<rights>
标签应该是 <copyright>
确实正确,我想出了一个解决方法,将 <copyright>
标签“插入”提要中,如下所示:
const atomFeed = feed.atom1();
const copyrightText = '\n<copyright>Copyright (c) 2024, Notification Agency. Licensed under Creative Commons BY 4.0</copyright>';
const subtitleTag = '</subtitle>';
const subtitlePosition = atomFeed.indexOf(subtitleTag) + subtitleTag.length;
const feedWithCopyright = `${atomFeed.slice(0, subtitlePosition)}${copyrightText}${atomFeed.slice(subtitlePosition)}`;
我的问题是:
在 CAP 格式的 Atom feed 中使用
<copyright>
标签是否正确,还是应该是 <rights>
?
如果
<copyright>
确实是正确的标签,我的解决方法是可接受的解决方案,还是有更好的方法在提要模块中处理此问题?
经过更多的研究和反问,我已经确认 RSS 中使用了版权,ATOM 的权利。所以我可以将其保留为 Atom,这更有意义