1 | import { AtomAuthor, AtomCategory, AtomContributor, AtomLink, AtomRights, AtomTitle } from './AtomCommon';
|
2 | import { AtomEntry } from './AtomEntry';
|
3 | /** A Feed consists of some metadata, followed by any number of entries. */
|
4 | export 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 | */
|
35 | export interface AtomGenerator {
|
36 | value: string;
|
37 | uri?: string;
|
38 | version?: string;
|
39 | }
|