8fold / php-syndication
一个用于生成 RSS 和 Atom 推 feeds (XML) 的库
Requires
- php: ^8.1 | ^8.2
- 8fold/php-xml-builder: ^2.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0
- squizlabs/php_codesniffer: ^3.7
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 推相当灵活;你可以有
- 纯文本内容通过
content_text
成员。 - HTML 内容通过
content_html
成员。 - 或者两者都有。
至少有一个。
因此,我们已将 content
作为初始化器的一个必要部分,使用纯文本字符串(content_text
)或 ContentHtml
实例(content_text
)。
此外,你可以调用 withExtraContent
方法来使用两者。换句话说,如果两者都是同一类型,则将使用 withExtraContent
方法提供的内容;最后在覆盖规则中。
注意:JSON 推不需要 content
成员,能够接受纯文本和 HTML 内容类型;使用 content_text
和 content_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
前缀。
注意:并非所有规范都明确说明条目(或条目)是否是必需的;然而,一个没有条目(或条目)的推似乎很奇怪,因此,我们要求每个推类型都需要它们。进一步地,如果一个条目(或条目)不符合规范的标准,整个文档将变成空字符串。我们将尽我们所能使你能够探索软失败。
当可能时,我们将按照参考规范中出现的顺序渲染元素和属性。
其他
{链接或描述或许可,版本控制和治理}