UNPKG

2.49 kBTypeScriptView Raw
1import { AtomAuthor, AtomCategory, AtomContributor, AtomLink, AtomRights, AtomTitle } from './AtomCommon';
2import { AtomEntry } from './AtomEntry';
3/** A Feed consists of some metadata, followed by any number of entries. */
4export interface AtomFeed {
5 /** Identifies the feed using a universally unique and permanent URI. If you have a long-term, renewable lease on your Internet domain name, then you can feel free to use your website's address. */
6 id: string;
7 /** Contains a human readable title for the feed. Often the same as the title of the associated website. This value should not be blank. */
8 title: AtomTitle;
9 /** Indicates the last time the feed was modified in a significant way. */
10 updated: Date;
11 /** The entries within the feed */
12 entries: AtomEntry[];
13 /** Names one author of the feed. A feed may have multiple author elements. A feed must contain at least one author element unless all of the entry elements contain at least one author element. */
14 author?: AtomAuthor[];
15 /** Identifies a related Web page. The type of relation is defined by the rel attribute. A feed is limited to one alternate per type and hreflang. A feed should contain a link back to the feed itself. */
16 link?: AtomLink[];
17 /** Specifies a category that the feed belongs to. A feed may have multiple category elements. */
18 category?: AtomCategory[];
19 /** Names one contributor to the feed. An feed may have multiple contributor elements. */
20 contributor?: AtomContributor[];
21 /** Identifies the software used to generate the feed, for debugging and other purposes. Both the `uri` and `version` attributes are optional. */
22 generator?: AtomGenerator;
23 /** Identifies a small image which provides iconic visual identification for the feed. Icons should be square. */
24 icon?: string;
25 /** Identifies a larger image which provides visual identification for the feed. Images should be twice as wide as they are tall. */
26 logo?: string;
27 /** Conveys information about rights, e.g. copyrights, held in and over the feed. */
28 rights?: AtomRights;
29 /** Contains a human-readable description or subtitle for the feed. */
30 subtitle?: string;
31}
32/**
33 * Identifies the software used to generate the feed, for debugging and other purposes. Both the `uri` and `version` attributes are optional.
34 */
35export interface AtomGenerator {
36 value: string;
37 uri?: string;
38 version?: string;
39}