-
Notifications
You must be signed in to change notification settings - Fork 0
/
json-wf-schema-1.0.json
98 lines (98 loc) · 3.38 KB
/
json-wf-schema-1.0.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://www.json-wf.org.uk/json-wf-schema-1.0.json",
"title": "JSON-WF",
"description": "A blogroll interchange format",
"type": "object",
"properties": {
"@version": {
"description": "The version of the JSON-WF specification being used. Must be 1.0.",
"const": "1.0"
},
"@docs": {
"description": "The URL of the JSON-WF specification being used. Must be https://www.json-wf.org.uk/spec.",
"const": "https://www.json-wf.org.uk/spec"
},
"title": {
"description": "The name of the document; may be displayed by a feed reader when importing the document.",
"type": "string"
},
"owner": {
"description": "An object containing at least one of 'name' (the name of the author of the document) and/or 'website' (the URL of the website belonging to the author of the document).",
"type": "object",
"properties": {
"name": {
"description": "The name of the author of the document.",
"type": "string"
},
"website": {
"description": "The website belonging to the author of the document.",
"type": "string",
"format": "uri"
}
},
"anyOf": [
{
"required": ["name"]
},
{
"required": ["website"]
}
]
},
"modified_at": {
"description": "An RFC 3339 date/time representing when the document was last updated.",
"type": "string",
"format": "date-time"
},
"groups": {
"description": "An array of objects, each representing a grouping or one or more web feeds.",
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"description": "The name of the group (by convention, authors wishing to use only a single group for all their web feeds should name that group 'All').",
"type": "string"
},
"feeds": {
"description": "An array of objects, each representing one web feed.",
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"description": "The name of the web feed.",
"type": "string"
},
"description": {
"description": "The description of the web feed.",
"type": "string"
},
"type": {
"description": "The string 'rss' (for RSS feeds), 'atom' (for Atom feeds) or 'json' (for JSON feeds).",
"enum": ["rss", "atom", "json"]
},
"website": {
"description": "The URL of the website that contains the web feed (for example, the HTML index of the blog).",
"type": "string",
"format": "uri"
},
"feed": {
"description": "The URL of the web feed.",
"type": "string",
"format": "uri"
}
},
"required": ["title", "type", "website", "feed"]
},
"minItems": 1
}
},
"required": ["title", "feeds"]
},
"minItems": 1
}
},
"required": ["@version", "@docs", "title", "modified_at", "groups"]
}