pub struct Entry {Show 15 fields
pub id: String,
pub title: Option<Text>,
pub updated: Option<DateTime<Utc>>,
pub authors: Vec<Person>,
pub content: Option<Content>,
pub links: Vec<Link>,
pub summary: Option<Text>,
pub categories: Vec<Category>,
pub contributors: Vec<Person>,
pub published: Option<DateTime<Utc>>,
pub source: Option<String>,
pub rights: Option<Text>,
pub media: Vec<MediaObject>,
pub language: Option<String>,
pub base: Option<String>,
}
Expand description
An item within a feed
Fields§
§id: String
A unique identifier for this item with a feed. If not supplied it is initialised to a hash of the first link or a UUID if not available.
- Atom (required): Identifies the entry using a universally unique and permanent URI.
- RSS 2 (optional) “guid”: A string that uniquely identifies the item.
- RSS 1: does not specify a unique ID as a separate item, but does suggest the URI should be “the same as the link” so we use a hash of the link if found
- JSON Feed: is unique for that item for that feed over time.
title: Option<Text>
Title of this item within the feed
- Atom, RSS 1(required): Contains a human readable title for the entry.
- RSS 2 (optional): The title of the item.
- JSON Feed: The title of the item.
updated: Option<DateTime<Utc>>
Time at which this item was last modified. If not provided in the source, or invalid, it is None
.
- Atom (required): Indicates the last time the entry was modified in a significant way.
- RSS doesn’t specify this field, so we copy it from the entry ‘published’ field for consistency.
- JSON Feed: the last modification date of this item
Authors of this item
- Atom (recommended): Collection of authors defined at the entry level.
- RSS 2 (optional): Email address of the author of the item.
- JSON Feed: the author of the item
content: Option<Content>
The content of the item
- Atom (recommended): Contains or links to the complete content of the entry.
- RSS 2 (optional) “content:encoded”: The HTML form of the content
- JSON Feed: the html content of the item, or the text content if no html is specified
links: Vec<Link>
Links associated with this item
- Atom (recommended): Identifies a related Web page.
- RSS 2 (optional): The URL of the item.
- RSS 1 (required): The item’s URL.
- JSON Feed: the url and external URL for the item is the first items, then each subsequent attachment
summary: Option<Text>
A short summary of the item
- Atom (recommended): Conveys a short summary, abstract, or excerpt of the entry.
- RSS 1 (optional): Populated from the RSS namespace ‘description’ field, or if not present, the Dublin Core namespace ‘description’ field.
- RSS 2 (optional): Populated from the RSS namespace ‘description’ field.
- JSON Feed: the summary for the item, or the text content if no summary is provided and both text and html content are specified
Warning: Some feeds (especially RSS) use significant whitespace in this field even in cases where it should be considered HTML. Consider rendering this field in a way that preserves whitespace-based formatting such as a double-newline to separate paragraphs.
categories: Vec<Category>
Structured classification of the item
- Atom (optional): Specifies a category that the entry belongs to. A feed may have multiple category elements.
- RSS 2 (optional): Includes the item in one or more categories.
- JSON Feed: the supplied item tags
contributors: Vec<Person>
Atom (optional): Names one contributor to the entry. A feed may have multiple contributor elements.
published: Option<DateTime<Utc>>
Time at which this item was first published
- Atom (optional): Contains the time of the initial creation or first availability of the entry.
- RSS 2 (optional) “pubDate”: Indicates when the item was published.
- JSON Feed: the date at which the item was published
source: Option<String>
Atom (optional): If an entry is copied from one feed into another feed, then this contains the source feed metadata.
rights: Option<Text>
Atom (optional): Conveys information about rights, e.g. copyrights, held in and over the feed.
media: Vec<MediaObject>
Extension for MediaRSS - https://www.rssboard.org/media-rss A MediaObject will be created in two cases:
- each “media:group” element encountered in the feed
- a default for any other “media:*” elements found at the item level
See the Atom tests for youtube and newscred for examples
language: Option<String>
Atom (optional): The language specified on the item
base: Option<String>
Atom (optional): The base url specified on the item to resolve any relative references found within the scope on the item