8fold/php-syndication

一个用于生成 RSS 和 Atom 推 feeds (XML) 的库

0.1.1 2024-03-30 15:54 UTC

This package is auto-updated.

Last update: 2024-08-30 16:48:07 UTC


README

一个用于生成符合标准的 web 推 的库,使用Atom (推荐) 和 RSS 规范。

版本

安装

{如何安装产品}

使用

{产品使用简要示例}

JSON 推

使用的 JSON 推参考: https://www.jsonfeed.org

在内容方面,JSON 推相当灵活;你可以有

  1. 纯文本内容通过 content_text 成员。
  2. HTML 内容通过 content_html 成员。
  3. 或者两者都有。

至少有一个。

因此,我们已将 content 作为初始化器的一个必要部分,使用纯文本字符串(content_text)或 ContentHtml 实例(content_text)。

此外,你可以调用 withExtraContent 方法来使用两者。换句话说,如果两者都是同一类型,则将使用 withExtraContent 方法提供的内容;最后在覆盖规则中。

注意:JSON 推不需要 content 成员,能够接受纯文本和 HTML 内容类型;使用 content_textcontent_html。两者都是可选的,然而,至少必须有一个存在。因此,我们要求 content 作为初始化器的一部分,它可以接受纯文本字符串(content_text)或 ContentHtml 实例。我们还赋予你能力

Atom

使用的 Atom 规范参考:https://validator.w3.org/feed/docs/atom.html#content

作者

推荐

  • 推必须至少包含一个作者元素,除非所有条目都有一个作者元素。
  • 推和条目可以有多个作者。

链接

推荐

  • 必须使用 rel 属性。
    • rel 可能是:alternate、enclosure、related、self 或 via。
    • 默认是 alternate。
    • 推不得有超过一个 alternate 链接。

RSS

使用的 RSS 规范参考:https://cyber.harvard.edu/rss/

详细信息

我们实践了软失败的艺术。因此,如果文档格式不正确,我们将返回空字符串。

我们不清理输入;因此,建议你在初始化、构建和渲染推之前这样做。

基本方法是每个推(和子元素)的必要元素由文档(和子元素)的初始化器所需。建议但可选的元素在初始化器中是可选的。严格可选的元素可以通过调用相应的方法添加;其中大多数使用 with 前缀。

注意:并非所有规范都明确说明条目(或条目)是否是必需的;然而,一个没有条目(或条目)的推似乎很奇怪,因此,我们要求每个推类型都需要它们。进一步地,如果一个条目(或条目)不符合规范的标准,整个文档将变成空字符串。我们将尽我们所能使你能够探索软失败。

当可能时,我们将按照参考规范中出现的顺序渲染元素和属性。

其他

{链接或描述或许可,版本控制和治理}