@segha/catalog 2.2.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/CHANGELOG.md +187 -0
  2. package/es/Article/index.ts +17 -26
  3. package/es/Article/types.ts +1 -4
  4. package/es/Book/index.ts +21 -28
  5. package/es/Book/types.ts +1 -4
  6. package/es/Clothing/Cares.ts +1 -5
  7. package/es/Clothing/Colors.ts +2 -2
  8. package/es/Clothing/Fit.ts +1 -1
  9. package/es/Clothing/Formality.ts +12 -6
  10. package/es/Clothing/Layer.ts +7 -3
  11. package/es/Clothing/Materials.ts +1 -5
  12. package/es/Clothing/Measurements.ts +1 -3
  13. package/es/Clothing/Season.ts +10 -5
  14. package/es/Clothing/Status.ts +12 -6
  15. package/es/Clothing/UseCases.ts +1 -5
  16. package/es/Clothing/Variants.ts +2 -5
  17. package/es/Clothing/index.ts +30 -35
  18. package/es/Clothing/types.ts +1 -3
  19. package/es/Core/Area.ts +66 -0
  20. package/es/Core/Common.ts +43 -0
  21. package/es/Core/Format.ts +28 -0
  22. package/es/Core/Rating.ts +33 -0
  23. package/es/Core/Resource.ts +18 -0
  24. package/es/Core/Source.ts +37 -0
  25. package/es/Core/Subtype.ts +8 -0
  26. package/es/Core/Type.ts +36 -0
  27. package/es/Core/index.ts +9 -0
  28. package/es/DataTypes/Color.ts +22 -0
  29. package/es/DataTypes/Date.ts +45 -0
  30. package/es/DataTypes/Icon.ts +7 -0
  31. package/es/DataTypes/Image.ts +9 -0
  32. package/es/DataTypes/Language.ts +11 -0
  33. package/es/DataTypes/Status.ts +8 -0
  34. package/es/DataTypes/Wikilink.ts +16 -0
  35. package/es/DataTypes/index.ts +7 -0
  36. package/es/EncyclopediaEntry/index.ts +30 -0
  37. package/es/EncyclopediaEntry/types.ts +8 -0
  38. package/es/Movie/MovieExternalId.ts +7 -0
  39. package/es/Movie/index.ts +22 -27
  40. package/es/Movie/types.ts +1 -4
  41. package/es/Note.ts +4 -4
  42. package/es/Painting/index.ts +16 -23
  43. package/es/Painting/types.ts +1 -4
  44. package/es/Video/index.ts +35 -0
  45. package/es/Video/types.ts +9 -0
  46. package/es/index.ts +2 -2
  47. package/es/types.ts +2 -2
  48. package/json-schemas/common/Palette.json +14 -0
  49. package/json-schemas/common/Scheme.json +11 -0
  50. package/json-schemas/common/index.json +32 -0
  51. package/json-schemas/es/Article/ArticleSchema.json +184 -78
  52. package/json-schemas/es/Article/index.json +143 -193
  53. package/json-schemas/es/ArticleSchema.json +184 -78
  54. package/json-schemas/es/Book/BookSchema.json +227 -84
  55. package/json-schemas/es/Book/index.json +197 -213
  56. package/json-schemas/es/BookSchema.json +227 -84
  57. package/json-schemas/es/Clothing/AllYear.json +6 -0
  58. package/json-schemas/es/Clothing/Autumn.json +6 -0
  59. package/json-schemas/es/Clothing/Base.json +6 -0
  60. package/json-schemas/es/Clothing/BlackTie.json +6 -0
  61. package/json-schemas/es/Clothing/Care.json +2 -1
  62. package/json-schemas/es/Clothing/Casual.json +6 -0
  63. package/json-schemas/es/Clothing/ClothingSchema.json +195 -81
  64. package/json-schemas/es/Clothing/Damaged.json +6 -0
  65. package/json-schemas/es/Clothing/Exterior.json +6 -0
  66. package/json-schemas/es/Clothing/Fit.json +2 -2
  67. package/json-schemas/es/Clothing/Formal.json +6 -0
  68. package/json-schemas/es/Clothing/Formality.json +2 -2
  69. package/json-schemas/es/Clothing/Good.json +6 -0
  70. package/json-schemas/es/Clothing/Intermediate.json +6 -0
  71. package/json-schemas/es/Clothing/Material.json +2 -1
  72. package/json-schemas/es/Clothing/Measurements.json +2 -2
  73. package/json-schemas/es/Clothing/New.json +6 -0
  74. package/json-schemas/es/Clothing/Pattern.json +2 -2
  75. package/json-schemas/es/Clothing/Retire.json +6 -0
  76. package/json-schemas/es/Clothing/Season.json +2 -2
  77. package/json-schemas/es/Clothing/SecondaryColor.json +2 -2
  78. package/json-schemas/es/Clothing/SmartCasual.json +6 -0
  79. package/json-schemas/es/Clothing/Status.json +2 -3
  80. package/json-schemas/es/Clothing/Summer.json +6 -0
  81. package/json-schemas/es/Clothing/UseCase.json +2 -1
  82. package/json-schemas/es/Clothing/Variant.json +2 -1
  83. package/json-schemas/es/Clothing/VeryCasual.json +6 -0
  84. package/json-schemas/es/Clothing/Winter.json +6 -0
  85. package/json-schemas/es/Clothing/Worn.json +6 -0
  86. package/json-schemas/es/Clothing/index.json +367 -685
  87. package/json-schemas/es/ClothingSchema.json +195 -81
  88. package/json-schemas/es/Core/Articles.json +6 -0
  89. package/json-schemas/es/Core/Atrocious.json +6 -0
  90. package/json-schemas/es/Core/Bad.json +6 -0
  91. package/json-schemas/es/Core/Books.json +6 -0
  92. package/json-schemas/es/Core/Capabilities.json +6 -0
  93. package/json-schemas/es/Core/Chronicles.json +6 -0
  94. package/json-schemas/es/Core/Clothes.json +6 -0
  95. package/json-schemas/es/Core/CommonSchema.json +165 -0
  96. package/json-schemas/es/Core/Creativity.json +6 -0
  97. package/json-schemas/es/Core/EncyclopediaEntries.json +6 -0
  98. package/json-schemas/es/Core/Energy.json +6 -0
  99. package/json-schemas/es/Core/Entities.json +6 -0
  100. package/json-schemas/es/Core/Evil.json +6 -0
  101. package/json-schemas/es/Core/Excellent.json +6 -0
  102. package/json-schemas/es/Core/Exercise.json +6 -0
  103. package/json-schemas/es/Core/Exploration.json +6 -0
  104. package/json-schemas/es/Core/Extracts.json +6 -0
  105. package/json-schemas/es/Core/Finances.json +6 -0
  106. package/json-schemas/es/Core/Food.json +6 -0
  107. package/json-schemas/es/Core/Format.json +13 -0
  108. package/json-schemas/es/Core/Good.json +6 -0
  109. package/json-schemas/es/Core/Health.json +6 -0
  110. package/json-schemas/es/Core/Home.json +6 -0
  111. package/json-schemas/es/Core/Knowledge.json +6 -0
  112. package/json-schemas/es/Core/Links.json +6 -0
  113. package/json-schemas/es/Core/MentalHealth.json +6 -0
  114. package/json-schemas/es/Core/Movies.json +6 -0
  115. package/json-schemas/es/Core/Paintings.json +6 -0
  116. package/json-schemas/es/Core/Passable.json +6 -0
  117. package/json-schemas/es/Core/Perfect.json +6 -0
  118. package/json-schemas/es/Core/Productivity.json +6 -0
  119. package/json-schemas/es/Core/Publications.json +6 -0
  120. package/json-schemas/es/Core/Rating.json +41 -0
  121. package/json-schemas/es/Core/ResourceSchema.json +171 -0
  122. package/json-schemas/es/Core/Resources.json +6 -0
  123. package/json-schemas/es/Core/ResourcesSubtype.json +11 -0
  124. package/json-schemas/es/Core/Scenarios.json +6 -0
  125. package/json-schemas/es/Core/SourceSchema.json +209 -0
  126. package/json-schemas/es/Core/Sources.json +6 -0
  127. package/json-schemas/es/Core/SourcesFormat.json +16 -0
  128. package/json-schemas/es/Core/StructuredThinking.json +6 -0
  129. package/json-schemas/es/Core/Subtype.json +8 -0
  130. package/json-schemas/es/Core/Type.json +15 -0
  131. package/json-schemas/es/Core/Videos.json +6 -0
  132. package/json-schemas/es/Core/Work.json +6 -0
  133. package/json-schemas/es/Core/index.json +939 -0
  134. package/json-schemas/es/DataTypes/Blue.json +6 -0
  135. package/json-schemas/es/DataTypes/Color.json +6 -0
  136. package/json-schemas/es/DataTypes/Consolidated.json +5 -0
  137. package/json-schemas/es/DataTypes/Date.json +21 -0
  138. package/json-schemas/es/DataTypes/DateTime.json +6 -0
  139. package/json-schemas/es/DataTypes/DateTimeOffset.json +6 -0
  140. package/json-schemas/es/DataTypes/Embedding.json +6 -0
  141. package/json-schemas/es/DataTypes/FullDate.json +6 -0
  142. package/json-schemas/es/DataTypes/Hex.json +6 -0
  143. package/json-schemas/es/DataTypes/Icon.json +6 -0
  144. package/json-schemas/es/DataTypes/Image.json +15 -0
  145. package/json-schemas/es/DataTypes/InProgress.json +5 -0
  146. package/json-schemas/es/DataTypes/Language.json +6 -0
  147. package/json-schemas/es/DataTypes/LanguageTag.json +6 -0
  148. package/json-schemas/es/DataTypes/Month.json +6 -0
  149. package/json-schemas/es/DataTypes/Orange.json +6 -0
  150. package/json-schemas/es/DataTypes/OrdinalDate.json +6 -0
  151. package/json-schemas/es/DataTypes/Pending.json +5 -0
  152. package/json-schemas/es/DataTypes/Read.json +5 -0
  153. package/json-schemas/es/DataTypes/Seen.json +5 -0
  154. package/json-schemas/es/DataTypes/Time.json +6 -0
  155. package/json-schemas/es/DataTypes/Watched.json +5 -0
  156. package/json-schemas/es/DataTypes/Week.json +6 -0
  157. package/json-schemas/es/DataTypes/WeekWithWeekDay.json +6 -0
  158. package/json-schemas/es/DataTypes/Wikilink.json +6 -0
  159. package/json-schemas/es/DataTypes/WikilinkOrEmbedding.json +6 -0
  160. package/json-schemas/es/DataTypes/Year.json +6 -0
  161. package/json-schemas/es/DataTypes/Yellow.json +6 -0
  162. package/json-schemas/es/DataTypes/index.json +193 -0
  163. package/json-schemas/es/EncyclopediaEntry/EncyclopediaEntrySchema.json +252 -0
  164. package/json-schemas/es/EncyclopediaEntry/WikipediaEntrySchema.json +257 -0
  165. package/json-schemas/es/EncyclopediaEntry/index.json +516 -0
  166. package/json-schemas/es/EncyclopediaEntrySchema.json +252 -0
  167. package/json-schemas/es/Movie/MovieExternalId.json +5 -0
  168. package/json-schemas/es/Movie/MovieSchema.json +224 -93
  169. package/json-schemas/es/Movie/index.json +193 -225
  170. package/json-schemas/es/MovieSchema.json +224 -93
  171. package/json-schemas/es/NoteSchema.json +1323 -506
  172. package/json-schemas/es/Painting/PaintingSchema.json +182 -56
  173. package/json-schemas/es/Painting/index.json +160 -154
  174. package/json-schemas/es/PaintingSchema.json +182 -56
  175. package/json-schemas/es/Video/VideoSchema.json +230 -0
  176. package/json-schemas/es/Video/VimeoSchema.json +221 -0
  177. package/json-schemas/es/Video/YoutubeSchema.json +221 -0
  178. package/json-schemas/es/Video/index.json +679 -0
  179. package/json-schemas/es/VideoSchema.json +230 -0
  180. package/json-schemas/es/VimeoSchema.json +221 -0
  181. package/json-schemas/es/WikipediaEntrySchema.json +257 -0
  182. package/json-schemas/es/YoutubeSchema.json +158 -79
  183. package/json-schemas/es/index.json +3138 -3896
  184. package/package.json +8 -2
  185. package/es/Areas.ts +0 -24
  186. package/es/Icon.ts +0 -1673
  187. package/es/Wikipedia/index.ts +0 -18
  188. package/es/Wikipedia/types.ts +0 -10
  189. package/es/Youtube/index.ts +0 -19
  190. package/es/Youtube/types.ts +0 -10
  191. package/json-schemas/es/Article/CatalogArticleSchema.json +0 -47
  192. package/json-schemas/es/Article/DetailedArticleSchema.json +0 -38
  193. package/json-schemas/es/Article/MetaArticleSchema.json +0 -71
  194. package/json-schemas/es/Book/CatalogBookSchema.json +0 -48
  195. package/json-schemas/es/Book/DetailedBookSchema.json +0 -43
  196. package/json-schemas/es/Book/MetaBookSchema.json +0 -68
  197. package/json-schemas/es/CatalogArticleSchema.json +0 -47
  198. package/json-schemas/es/CatalogBookSchema.json +0 -48
  199. package/json-schemas/es/CatalogClothingSchema.json +0 -292
  200. package/json-schemas/es/CatalogMovieSchema.json +0 -50
  201. package/json-schemas/es/CatalogPaintingSchema.json +0 -26
  202. package/json-schemas/es/CatalogWikipediaSchema.json +0 -47
  203. package/json-schemas/es/CatalogYoutubeSchema.json +0 -47
  204. package/json-schemas/es/Clothing/Cares.json +0 -17
  205. package/json-schemas/es/Clothing/CatalogClothingSchema.json +0 -292
  206. package/json-schemas/es/Clothing/DetailedClothingSchema.json +0 -73
  207. package/json-schemas/es/Clothing/Materials.json +0 -32
  208. package/json-schemas/es/Clothing/MetaClothingSchema.json +0 -60
  209. package/json-schemas/es/Clothing/UseCases.json +0 -22
  210. package/json-schemas/es/Clothing/Variants.json +0 -41
  211. package/json-schemas/es/DetailedArticleSchema.json +0 -38
  212. package/json-schemas/es/DetailedBookSchema.json +0 -43
  213. package/json-schemas/es/DetailedClothingSchema.json +0 -73
  214. package/json-schemas/es/DetailedMovieSchema.json +0 -49
  215. package/json-schemas/es/DetailedPaintingSchema.json +0 -33
  216. package/json-schemas/es/DetailedWikipediaSchema.json +0 -38
  217. package/json-schemas/es/DetailedYoutubeSchema.json +0 -37
  218. package/json-schemas/es/Icon.json +0 -1675
  219. package/json-schemas/es/MetaArticleSchema.json +0 -71
  220. package/json-schemas/es/MetaBookSchema.json +0 -68
  221. package/json-schemas/es/MetaClothingSchema.json +0 -60
  222. package/json-schemas/es/MetaMovieSchema.json +0 -69
  223. package/json-schemas/es/MetaPaintingSchema.json +0 -61
  224. package/json-schemas/es/MetaWikipediaSchema.json +0 -76
  225. package/json-schemas/es/MetaYoutubeSchema.json +0 -76
  226. package/json-schemas/es/Movie/CatalogMovieSchema.json +0 -50
  227. package/json-schemas/es/Movie/DetailedMovieSchema.json +0 -49
  228. package/json-schemas/es/Movie/MetaMovieSchema.json +0 -69
  229. package/json-schemas/es/Painting/CatalogPaintingSchema.json +0 -26
  230. package/json-schemas/es/Painting/DetailedPaintingSchema.json +0 -33
  231. package/json-schemas/es/Painting/MetaPaintingSchema.json +0 -61
  232. package/json-schemas/es/Wikipedia/CatalogWikipediaSchema.json +0 -47
  233. package/json-schemas/es/Wikipedia/DetailedWikipediaSchema.json +0 -38
  234. package/json-schemas/es/Wikipedia/MetaWikipediaSchema.json +0 -76
  235. package/json-schemas/es/Wikipedia/WikipediaSchema.json +0 -143
  236. package/json-schemas/es/Wikipedia/index.json +0 -311
  237. package/json-schemas/es/WikipediaSchema.json +0 -143
  238. package/json-schemas/es/Youtube/CatalogYoutubeSchema.json +0 -47
  239. package/json-schemas/es/Youtube/DetailedYoutubeSchema.json +0 -37
  240. package/json-schemas/es/Youtube/MetaYoutubeSchema.json +0 -76
  241. package/json-schemas/es/Youtube/YoutubeSchema.json +0 -142
  242. package/json-schemas/es/Youtube/index.json +0 -309
  243. /package/json-schemas/es/{Area.json → Core/Area.json} +0 -0
  244. /package/json-schemas/es/{Areas.json → Core/Areas.json} +0 -0
  245. /package/json-schemas/es/{FirstLevelArea.json → Core/FirstLevelArea.json} +0 -0
@@ -0,0 +1,252 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "type": {
6
+ "default": "[[Fuentes]]",
7
+ "type": "string",
8
+ "const": "[[Fuentes]]",
9
+ "description": "Bibliografías, recursos validados sobre los que acumular información."
10
+ },
11
+ "areas": {
12
+ "default": [
13
+ "[[Conocimiento]]"
14
+ ],
15
+ "type": "array",
16
+ "items": {
17
+ "type": "string",
18
+ "enum": [
19
+ "[[Alimentación]]",
20
+ "[[Salud]]",
21
+ "[[Conocimiento]]",
22
+ "[[Pensamiento Estructurado]]",
23
+ "[[Hogar]]",
24
+ "[[Productividad]]",
25
+ "[[Exploración]]",
26
+ "[[Vínculos]]",
27
+ "[[Ejercicio]]",
28
+ "[[Energía Vital]]",
29
+ "[[Trabajo]]",
30
+ "[[Finanzas]]",
31
+ "[[Salud Mental]]",
32
+ "[[Creatividad]]"
33
+ ],
34
+ "description": "Área"
35
+ },
36
+ "description": "Áreas"
37
+ },
38
+ "color": {
39
+ "default": "#3171B2",
40
+ "description": "Color de la nota.",
41
+ "type": "string",
42
+ "pattern": "^#([0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"
43
+ },
44
+ "icon": {
45
+ "default": "book",
46
+ "description": "Icono de Lucide.",
47
+ "type": "string",
48
+ "pattern": "^[a-z-]+$"
49
+ },
50
+ "banner": {
51
+ "description": "Banner de la nota.",
52
+ "anyOf": [
53
+ {
54
+ "anyOf": [
55
+ {
56
+ "type": "string",
57
+ "format": "uri"
58
+ },
59
+ {
60
+ "type": "string",
61
+ "pattern": "\\[\\[([^\\]|]+)(?:\\|([^\\]]+))?\\]\\]",
62
+ "description": "Wikilink: [[Wikilink]] o [[Wikilink|Display Text]]"
63
+ }
64
+ ],
65
+ "description": "Imagen: URL o Wikilink de una imagen."
66
+ },
67
+ {
68
+ "type": "null"
69
+ }
70
+ ]
71
+ },
72
+ "cover": {
73
+ "description": "Portada de la nota.",
74
+ "anyOf": [
75
+ {
76
+ "anyOf": [
77
+ {
78
+ "type": "string",
79
+ "format": "uri"
80
+ },
81
+ {
82
+ "type": "string",
83
+ "pattern": "\\[\\[([^\\]|]+)(?:\\|([^\\]]+))?\\]\\]",
84
+ "description": "Wikilink: [[Wikilink]] o [[Wikilink|Display Text]]"
85
+ }
86
+ ],
87
+ "description": "Imagen: URL o Wikilink de una imagen."
88
+ },
89
+ {
90
+ "type": "null"
91
+ }
92
+ ]
93
+ },
94
+ "projects": {
95
+ "description": "Proyectos asociados.",
96
+ "type": "array",
97
+ "items": {
98
+ "type": "string",
99
+ "pattern": "\\[\\[([^\\]|]+)(?:\\|([^\\]]+))?\\]\\]",
100
+ "description": "Wikilink: [[Wikilink]] o [[Wikilink|Display Text]]"
101
+ }
102
+ },
103
+ "topics": {
104
+ "type": "array",
105
+ "items": {
106
+ "description": "Temas: Wikilink o texto libre",
107
+ "anyOf": [
108
+ {
109
+ "type": "string",
110
+ "pattern": "\\[\\[([^\\]|]+)(?:\\|([^\\]]+))?\\]\\]",
111
+ "description": "Wikilink: [[Wikilink]] o [[Wikilink|Display Text]]"
112
+ },
113
+ {
114
+ "type": "string"
115
+ }
116
+ ]
117
+ }
118
+ },
119
+ "status": {
120
+ "default": "Pendiente",
121
+ "anyOf": [
122
+ {
123
+ "type": "string",
124
+ "const": "Pendiente"
125
+ },
126
+ {
127
+ "type": "string",
128
+ "const": "En Proceso"
129
+ },
130
+ {
131
+ "type": "string",
132
+ "const": "Leído"
133
+ },
134
+ {
135
+ "type": "string",
136
+ "const": "Consolidado"
137
+ }
138
+ ],
139
+ "description": "Estado de procesamiento del artículo"
140
+ },
141
+ "rating": {
142
+ "description": "Valoración personal de la fuente.",
143
+ "anyOf": [
144
+ {
145
+ "type": "number",
146
+ "const": 7,
147
+ "description": "Perfecto, hay que probarlo, te cambia la vida, haz un esfuerzo por buscarlo."
148
+ },
149
+ {
150
+ "type": "number",
151
+ "const": 6,
152
+ "description": "Excelente, vale la pena repetirlo"
153
+ },
154
+ {
155
+ "type": "number",
156
+ "const": 5,
157
+ "description": "Bueno, no hagas un esfuerzo especial, pero es agradable."
158
+ },
159
+ {
160
+ "type": "number",
161
+ "const": 4,
162
+ "description": "Aceptable, sirve en caso de apuro."
163
+ },
164
+ {
165
+ "type": "number",
166
+ "const": 3,
167
+ "description": "Malo, no lo hagas si puedes evitarlo."
168
+ },
169
+ {
170
+ "type": "number",
171
+ "const": 2,
172
+ "description": "Atroz, evítalo activamente, repulsivo"
173
+ },
174
+ {
175
+ "type": "number",
176
+ "const": 1,
177
+ "description": "Malvado, te cambia la vida para mal."
178
+ }
179
+ ]
180
+ },
181
+ "aliases": {
182
+ "description": "Alias de la nota.",
183
+ "type": "array",
184
+ "items": {
185
+ "type": "string"
186
+ }
187
+ },
188
+ "format": {
189
+ "default": "[[Entradas de Enciclopedia]]",
190
+ "type": "string",
191
+ "const": "[[Entradas de Enciclopedia]]",
192
+ "description": "Entradas de Enciclopedia"
193
+ },
194
+ "url": {
195
+ "type": "string",
196
+ "format": "uri",
197
+ "description": "URL de la entrada"
198
+ },
199
+ "author": {
200
+ "description": "Autores de la fuente.",
201
+ "type": "array",
202
+ "items": {
203
+ "type": "string"
204
+ }
205
+ },
206
+ "published": {
207
+ "description": "Fecha de publicación de la fuente.",
208
+ "anyOf": [
209
+ {
210
+ "type": "string",
211
+ "pattern": "^[0-9]{4}$",
212
+ "description": "Año: YYYY"
213
+ },
214
+ {
215
+ "type": "string",
216
+ "pattern": "^[0-9]{4}-[0-9]{2}$",
217
+ "description": "Mes: YYYY-MM"
218
+ },
219
+ {
220
+ "type": "string",
221
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
222
+ "description": "Fecha: YYYY-MM-DD"
223
+ }
224
+ ]
225
+ },
226
+ "title": {
227
+ "type": "string",
228
+ "description": "Título de la entrada"
229
+ },
230
+ "description": {
231
+ "description": "Descripción",
232
+ "anyOf": [
233
+ {
234
+ "type": "string"
235
+ },
236
+ {
237
+ "type": "null"
238
+ }
239
+ ]
240
+ },
241
+ "excerpt": {
242
+ "description": "Extracto de la entrada",
243
+ "type": "string"
244
+ }
245
+ },
246
+ "required": [
247
+ "topics",
248
+ "url",
249
+ "title"
250
+ ],
251
+ "description": "Entrada de Enciclopedia"
252
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "string",
4
+ "pattern": "^(tmdb|imdb|watchmode|tvmaze|tvdb):.+$"
5
+ }
@@ -2,92 +2,11 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "type": "object",
4
4
  "properties": {
5
- "title": {
6
- "type": "string",
7
- "description": "Título de la película"
8
- },
9
- "description": {
10
- "description": "Descripción de la película",
11
- "type": "string"
12
- },
13
- "author": {
14
- "description": "Autores. Guionistas, directores, productores, etc.",
15
- "type": "array",
16
- "items": {
17
- "type": "string"
18
- }
19
- },
20
- "actors": {
21
- "description": "Actores",
22
- "type": "array",
23
- "items": {
24
- "type": "string"
25
- }
26
- },
27
- "published": {
28
- "description": "Año de publicación",
29
- "anyOf": [
30
- {
31
- "type": "string"
32
- },
33
- {
34
- "type": "number"
35
- }
36
- ]
37
- },
38
- "genres": {
39
- "description": "Géneros",
40
- "type": "array",
41
- "items": {
42
- "type": "string"
43
- }
44
- },
45
- "status": {
46
- "type": "string",
47
- "enum": [
48
- "Pendiente",
49
- "En progreso",
50
- "Visto"
51
- ],
52
- "description": "Estado de visualización"
53
- },
54
- "topics": {
55
- "description": "Temas",
56
- "anyOf": [
57
- {
58
- "type": "array",
59
- "items": {
60
- "type": "string"
61
- }
62
- },
63
- {
64
- "type": "null"
65
- }
66
- ]
67
- },
68
- "rating": {
69
- "description": "Puntuación de la película",
70
- "type": "number"
71
- },
72
- "online_rating": {
73
- "description": "Puntuación en línea",
74
- "type": "number"
75
- },
76
- "last_time_watched": {
77
- "description": "Última vez vista",
78
- "type": "string"
79
- },
80
- "times_watched": {
81
- "description": "Veces vista",
82
- "type": "number"
83
- },
84
5
  "type": {
6
+ "default": "[[Fuentes]]",
85
7
  "type": "string",
86
- "const": "[[Fuentes]]"
87
- },
88
- "format": {
89
- "type": "string",
90
- "const": "[[Películas]]"
8
+ "const": "[[Fuentes]]",
9
+ "description": "Bibliografías, recursos validados sobre los que acumular información."
91
10
  },
92
11
  "areas": {
93
12
  "default": [
@@ -119,32 +38,244 @@
119
38
  "color": {
120
39
  "default": "#BE9207",
121
40
  "description": "Color de la nota.",
122
- "type": "string"
41
+ "type": "string",
42
+ "pattern": "^#([0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"
123
43
  },
124
44
  "icon": {
125
45
  "default": "movie",
126
46
  "description": "Icono de Lucide.",
127
- "type": "string"
47
+ "type": "string",
48
+ "pattern": "^[a-z-]+$"
49
+ },
50
+ "banner": {
51
+ "description": "Imagen",
52
+ "anyOf": [
53
+ {
54
+ "type": "string",
55
+ "format": "uri"
56
+ },
57
+ {
58
+ "type": "string",
59
+ "pattern": "\\[\\[([^\\]|]+)(?:\\|([^\\]]+))?\\]\\]",
60
+ "description": "Wikilink: [[Wikilink]] o [[Wikilink|Display Text]]"
61
+ }
62
+ ]
128
63
  },
129
64
  "cover": {
130
65
  "description": "Portada de la película.",
131
- "type": "string"
66
+ "anyOf": [
67
+ {
68
+ "anyOf": [
69
+ {
70
+ "type": "string",
71
+ "format": "uri"
72
+ },
73
+ {
74
+ "type": "string",
75
+ "pattern": "\\[\\[([^\\]|]+)(?:\\|([^\\]]+))?\\]\\]",
76
+ "description": "Wikilink: [[Wikilink]] o [[Wikilink|Display Text]]"
77
+ }
78
+ ],
79
+ "description": "Imagen: URL o Wikilink de una imagen."
80
+ },
81
+ {
82
+ "type": "null"
83
+ }
84
+ ]
85
+ },
86
+ "projects": {
87
+ "description": "Proyectos asociados.",
88
+ "type": "array",
89
+ "items": {
90
+ "type": "string",
91
+ "pattern": "\\[\\[([^\\]|]+)(?:\\|([^\\]]+))?\\]\\]",
92
+ "description": "Wikilink: [[Wikilink]] o [[Wikilink|Display Text]]"
93
+ }
94
+ },
95
+ "topics": {
96
+ "type": "array",
97
+ "items": {
98
+ "description": "Temas: Wikilink o texto libre",
99
+ "anyOf": [
100
+ {
101
+ "type": "string",
102
+ "pattern": "\\[\\[([^\\]|]+)(?:\\|([^\\]]+))?\\]\\]",
103
+ "description": "Wikilink: [[Wikilink]] o [[Wikilink|Display Text]]"
104
+ },
105
+ {
106
+ "type": "string"
107
+ }
108
+ ]
109
+ }
110
+ },
111
+ "status": {
112
+ "default": "Pendiente",
113
+ "anyOf": [
114
+ {
115
+ "type": "string",
116
+ "const": "Pendiente"
117
+ },
118
+ {
119
+ "type": "string",
120
+ "const": "En Proceso"
121
+ },
122
+ {
123
+ "type": "string",
124
+ "const": "Visto"
125
+ }
126
+ ],
127
+ "description": "Estado de visualización de la película"
128
+ },
129
+ "rating": {
130
+ "description": "Valoración personal de la fuente.",
131
+ "anyOf": [
132
+ {
133
+ "type": "number",
134
+ "const": 7,
135
+ "description": "Perfecto, hay que probarlo, te cambia la vida, haz un esfuerzo por buscarlo."
136
+ },
137
+ {
138
+ "type": "number",
139
+ "const": 6,
140
+ "description": "Excelente, vale la pena repetirlo"
141
+ },
142
+ {
143
+ "type": "number",
144
+ "const": 5,
145
+ "description": "Bueno, no hagas un esfuerzo especial, pero es agradable."
146
+ },
147
+ {
148
+ "type": "number",
149
+ "const": 4,
150
+ "description": "Aceptable, sirve en caso de apuro."
151
+ },
152
+ {
153
+ "type": "number",
154
+ "const": 3,
155
+ "description": "Malo, no lo hagas si puedes evitarlo."
156
+ },
157
+ {
158
+ "type": "number",
159
+ "const": 2,
160
+ "description": "Atroz, evítalo activamente, repulsivo"
161
+ },
162
+ {
163
+ "type": "number",
164
+ "const": 1,
165
+ "description": "Malvado, te cambia la vida para mal."
166
+ }
167
+ ]
168
+ },
169
+ "aliases": {
170
+ "description": "Alias de la nota.",
171
+ "type": "array",
172
+ "items": {
173
+ "type": "string"
174
+ }
175
+ },
176
+ "format": {
177
+ "default": "[[Películas]]",
178
+ "type": "string",
179
+ "const": "[[Películas]]",
180
+ "description": "Películas"
132
181
  },
133
182
  "url": {
134
183
  "type": "string",
184
+ "format": "uri",
135
185
  "description": "URL de la película en IMDB o similar"
136
186
  },
187
+ "author": {
188
+ "description": "Autores de la fuente.",
189
+ "type": "array",
190
+ "items": {
191
+ "type": "string"
192
+ }
193
+ },
194
+ "published": {
195
+ "description": "Año de publicación",
196
+ "anyOf": [
197
+ {
198
+ "type": "string",
199
+ "pattern": "^[0-9]{4}$",
200
+ "description": "Año: YYYY"
201
+ },
202
+ {
203
+ "type": "string",
204
+ "pattern": "^[0-9]{4}-[0-9]{2}$",
205
+ "description": "Mes: YYYY-MM"
206
+ },
207
+ {
208
+ "type": "string",
209
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
210
+ "description": "Fecha: YYYY-MM-DD"
211
+ }
212
+ ]
213
+ },
214
+ "title": {
215
+ "type": "string",
216
+ "description": "Título de la película"
217
+ },
137
218
  "watch_url": {
138
219
  "description": "URL de la película en streaming",
139
- "type": "string"
220
+ "type": "string",
221
+ "format": "uri"
222
+ },
223
+ "external_ids": {
224
+ "description": "IDs externos de la película",
225
+ "type": "array",
226
+ "items": {
227
+ "type": "string",
228
+ "pattern": "^(tmdb|imdb|watchmode|tvmaze|tvdb):.+$"
229
+ }
230
+ },
231
+ "actors": {
232
+ "description": "Actores",
233
+ "type": "array",
234
+ "items": {
235
+ "type": "string"
236
+ }
237
+ },
238
+ "genres": {
239
+ "description": "Géneros",
240
+ "type": "array",
241
+ "items": {
242
+ "type": "string"
243
+ }
244
+ },
245
+ "online_rating": {
246
+ "description": "Puntuación en línea",
247
+ "type": "number"
248
+ },
249
+ "last_time_watched": {
250
+ "description": "Última vez vista",
251
+ "anyOf": [
252
+ {
253
+ "type": "string",
254
+ "pattern": "^[0-9]{4}$",
255
+ "description": "Año: YYYY"
256
+ },
257
+ {
258
+ "type": "string",
259
+ "pattern": "^[0-9]{4}-[0-9]{2}$",
260
+ "description": "Mes: YYYY-MM"
261
+ },
262
+ {
263
+ "type": "string",
264
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
265
+ "description": "Fecha: YYYY-MM-DD"
266
+ }
267
+ ]
268
+ },
269
+ "times_watched": {
270
+ "description": "Veces vista",
271
+ "default": 0,
272
+ "type": "number"
140
273
  }
141
274
  },
142
275
  "required": [
143
- "title",
144
- "status",
145
- "type",
146
- "format",
147
- "url"
276
+ "topics",
277
+ "url",
278
+ "title"
148
279
  ],
149
280
  "description": "Película"
150
281
  }