@segha/catalog 2.0.0 → 2.2.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 (175) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +355 -4
  3. package/en/Areas.ts +24 -0
  4. package/en/Article/index.ts +29 -0
  5. package/en/Article/types.ts +9 -0
  6. package/en/Book/index.ts +33 -0
  7. package/en/Book/types.ts +9 -0
  8. package/en/Clothing/index.ts +9 -9
  9. package/en/Movie/index.ts +34 -0
  10. package/en/Movie/types.ts +9 -0
  11. package/en/Note.ts +15 -0
  12. package/en/Wikipedia/index.ts +18 -0
  13. package/en/Wikipedia/types.ts +10 -0
  14. package/en/index.ts +5 -1
  15. package/en/types.ts +7 -0
  16. package/es/Areas.ts +24 -0
  17. package/es/Article/index.ts +34 -0
  18. package/es/Article/types.ts +9 -0
  19. package/es/Book/index.ts +36 -0
  20. package/es/Book/types.ts +9 -0
  21. package/es/Clothing/index.ts +11 -10
  22. package/es/Icon.ts +1673 -0
  23. package/es/Movie/index.ts +36 -0
  24. package/es/Movie/types.ts +9 -0
  25. package/es/Note.ts +19 -0
  26. package/es/Painting/index.ts +30 -0
  27. package/es/Painting/types.ts +9 -0
  28. package/es/Wikipedia/index.ts +18 -0
  29. package/es/Wikipedia/types.ts +10 -0
  30. package/es/Youtube/index.ts +19 -0
  31. package/es/Youtube/types.ts +10 -0
  32. package/es/index.ts +7 -0
  33. package/es/types.ts +10 -0
  34. package/json-schemas/ArticleSchema.json +102 -0
  35. package/json-schemas/BookSchema.json +123 -0
  36. package/json-schemas/CatalogArticleSchema.json +34 -0
  37. package/json-schemas/CatalogBookSchema.json +43 -0
  38. package/json-schemas/CatalogClothingSchema.json +0 -1
  39. package/json-schemas/CatalogMovieSchema.json +48 -0
  40. package/json-schemas/CatalogWikipediaSchema.json +34 -0
  41. package/json-schemas/ClothingSchema.json +0 -2
  42. package/json-schemas/DetailedArticleSchema.json +41 -0
  43. package/json-schemas/DetailedBookSchema.json +48 -0
  44. package/json-schemas/DetailedClothingSchema.json +0 -2
  45. package/json-schemas/DetailedMovieSchema.json +47 -0
  46. package/json-schemas/DetailedWikipediaSchema.json +41 -0
  47. package/json-schemas/MetaArticleSchema.json +45 -0
  48. package/json-schemas/MetaBookSchema.json +50 -0
  49. package/json-schemas/MetaClothingSchema.json +0 -1
  50. package/json-schemas/MetaMovieSchema.json +50 -0
  51. package/json-schemas/MetaWikipediaSchema.json +50 -0
  52. package/json-schemas/MovieSchema.json +127 -0
  53. package/json-schemas/NoteSchema.json +846 -0
  54. package/json-schemas/WikipediaSchema.json +107 -0
  55. package/json-schemas/en/Area.json +21 -0
  56. package/json-schemas/en/Areas.json +25 -0
  57. package/json-schemas/en/Article/ArticleSchema.json +102 -0
  58. package/json-schemas/en/Article/CatalogArticleSchema.json +34 -0
  59. package/json-schemas/en/Article/DetailedArticleSchema.json +41 -0
  60. package/json-schemas/en/Article/MetaArticleSchema.json +45 -0
  61. package/json-schemas/en/Article/index.json +229 -0
  62. package/json-schemas/en/ArticleSchema.json +102 -0
  63. package/json-schemas/en/Book/BookSchema.json +123 -0
  64. package/json-schemas/en/Book/CatalogBookSchema.json +43 -0
  65. package/json-schemas/en/Book/DetailedBookSchema.json +48 -0
  66. package/json-schemas/en/Book/MetaBookSchema.json +50 -0
  67. package/json-schemas/en/Book/index.json +271 -0
  68. package/json-schemas/en/BookSchema.json +123 -0
  69. package/json-schemas/en/CatalogArticleSchema.json +34 -0
  70. package/json-schemas/en/CatalogBookSchema.json +43 -0
  71. package/json-schemas/en/CatalogClothingSchema.json +0 -1
  72. package/json-schemas/en/CatalogMovieSchema.json +48 -0
  73. package/json-schemas/en/CatalogWikipediaSchema.json +34 -0
  74. package/json-schemas/en/Clothing/CatalogClothingSchema.json +0 -1
  75. package/json-schemas/en/Clothing/ClothingSchema.json +0 -2
  76. package/json-schemas/en/Clothing/DetailedClothingSchema.json +0 -2
  77. package/json-schemas/en/Clothing/MetaClothingSchema.json +0 -1
  78. package/json-schemas/en/Clothing/index.json +0 -6
  79. package/json-schemas/en/ClothingSchema.json +0 -2
  80. package/json-schemas/en/DetailedArticleSchema.json +41 -0
  81. package/json-schemas/en/DetailedBookSchema.json +48 -0
  82. package/json-schemas/en/DetailedClothingSchema.json +0 -2
  83. package/json-schemas/en/DetailedMovieSchema.json +47 -0
  84. package/json-schemas/en/DetailedWikipediaSchema.json +41 -0
  85. package/json-schemas/en/FirstLevelArea.json +21 -0
  86. package/json-schemas/en/MetaArticleSchema.json +45 -0
  87. package/json-schemas/en/MetaBookSchema.json +50 -0
  88. package/json-schemas/en/MetaClothingSchema.json +0 -1
  89. package/json-schemas/en/MetaMovieSchema.json +50 -0
  90. package/json-schemas/en/MetaWikipediaSchema.json +50 -0
  91. package/json-schemas/en/Movie/CatalogMovieSchema.json +48 -0
  92. package/json-schemas/en/Movie/DetailedMovieSchema.json +47 -0
  93. package/json-schemas/en/Movie/MetaMovieSchema.json +50 -0
  94. package/json-schemas/en/Movie/MovieSchema.json +127 -0
  95. package/json-schemas/en/Movie/index.json +279 -0
  96. package/json-schemas/en/MovieSchema.json +127 -0
  97. package/json-schemas/en/NoteSchema.json +846 -0
  98. package/json-schemas/en/Wikipedia/CatalogWikipediaSchema.json +34 -0
  99. package/json-schemas/en/Wikipedia/DetailedWikipediaSchema.json +41 -0
  100. package/json-schemas/en/Wikipedia/MetaWikipediaSchema.json +50 -0
  101. package/json-schemas/en/Wikipedia/WikipediaSchema.json +107 -0
  102. package/json-schemas/en/Wikipedia/index.json +239 -0
  103. package/json-schemas/en/WikipediaSchema.json +107 -0
  104. package/json-schemas/en/index.json +1923 -26
  105. package/json-schemas/es/Area.json +21 -0
  106. package/json-schemas/es/Areas.json +25 -0
  107. package/json-schemas/es/Article/ArticleSchema.json +138 -0
  108. package/json-schemas/es/Article/CatalogArticleSchema.json +47 -0
  109. package/json-schemas/es/Article/DetailedArticleSchema.json +38 -0
  110. package/json-schemas/es/Article/MetaArticleSchema.json +71 -0
  111. package/json-schemas/es/Article/index.json +301 -0
  112. package/json-schemas/es/ArticleSchema.json +138 -0
  113. package/json-schemas/es/Book/BookSchema.json +141 -0
  114. package/json-schemas/es/Book/CatalogBookSchema.json +48 -0
  115. package/json-schemas/es/Book/DetailedBookSchema.json +43 -0
  116. package/json-schemas/es/Book/MetaBookSchema.json +68 -0
  117. package/json-schemas/es/Book/index.json +307 -0
  118. package/json-schemas/es/BookSchema.json +141 -0
  119. package/json-schemas/es/CatalogArticleSchema.json +47 -0
  120. package/json-schemas/es/CatalogBookSchema.json +48 -0
  121. package/json-schemas/es/CatalogClothingSchema.json +0 -1
  122. package/json-schemas/es/CatalogMovieSchema.json +50 -0
  123. package/json-schemas/es/CatalogPaintingSchema.json +26 -0
  124. package/json-schemas/es/CatalogWikipediaSchema.json +47 -0
  125. package/json-schemas/es/CatalogYoutubeSchema.json +47 -0
  126. package/json-schemas/es/Clothing/CatalogClothingSchema.json +0 -1
  127. package/json-schemas/es/Clothing/ClothingSchema.json +30 -12
  128. package/json-schemas/es/Clothing/DetailedClothingSchema.json +1 -3
  129. package/json-schemas/es/Clothing/MetaClothingSchema.json +30 -11
  130. package/json-schemas/es/Clothing/index.json +61 -27
  131. package/json-schemas/es/ClothingSchema.json +30 -12
  132. package/json-schemas/es/DetailedArticleSchema.json +38 -0
  133. package/json-schemas/es/DetailedBookSchema.json +43 -0
  134. package/json-schemas/es/DetailedClothingSchema.json +1 -3
  135. package/json-schemas/es/DetailedMovieSchema.json +49 -0
  136. package/json-schemas/es/DetailedPaintingSchema.json +33 -0
  137. package/json-schemas/es/DetailedWikipediaSchema.json +38 -0
  138. package/json-schemas/es/DetailedYoutubeSchema.json +37 -0
  139. package/json-schemas/es/FirstLevelArea.json +21 -0
  140. package/json-schemas/es/Icon.json +1675 -0
  141. package/json-schemas/es/MetaArticleSchema.json +71 -0
  142. package/json-schemas/es/MetaBookSchema.json +68 -0
  143. package/json-schemas/es/MetaClothingSchema.json +30 -11
  144. package/json-schemas/es/MetaMovieSchema.json +69 -0
  145. package/json-schemas/es/MetaPaintingSchema.json +61 -0
  146. package/json-schemas/es/MetaWikipediaSchema.json +76 -0
  147. package/json-schemas/es/MetaYoutubeSchema.json +76 -0
  148. package/json-schemas/es/Movie/CatalogMovieSchema.json +50 -0
  149. package/json-schemas/es/Movie/DetailedMovieSchema.json +49 -0
  150. package/json-schemas/es/Movie/MetaMovieSchema.json +69 -0
  151. package/json-schemas/es/Movie/MovieSchema.json +150 -0
  152. package/json-schemas/es/Movie/index.json +325 -0
  153. package/json-schemas/es/MovieSchema.json +150 -0
  154. package/json-schemas/es/NoteSchema.json +1226 -0
  155. package/json-schemas/es/Painting/CatalogPaintingSchema.json +26 -0
  156. package/json-schemas/es/Painting/DetailedPaintingSchema.json +33 -0
  157. package/json-schemas/es/Painting/MetaPaintingSchema.json +61 -0
  158. package/json-schemas/es/Painting/PaintingSchema.json +106 -0
  159. package/json-schemas/es/Painting/index.json +233 -0
  160. package/json-schemas/es/PaintingSchema.json +106 -0
  161. package/json-schemas/es/Wikipedia/CatalogWikipediaSchema.json +47 -0
  162. package/json-schemas/es/Wikipedia/DetailedWikipediaSchema.json +38 -0
  163. package/json-schemas/es/Wikipedia/MetaWikipediaSchema.json +76 -0
  164. package/json-schemas/es/Wikipedia/WikipediaSchema.json +143 -0
  165. package/json-schemas/es/Wikipedia/index.json +311 -0
  166. package/json-schemas/es/WikipediaSchema.json +143 -0
  167. package/json-schemas/es/Youtube/CatalogYoutubeSchema.json +47 -0
  168. package/json-schemas/es/Youtube/DetailedYoutubeSchema.json +37 -0
  169. package/json-schemas/es/Youtube/MetaYoutubeSchema.json +76 -0
  170. package/json-schemas/es/Youtube/YoutubeSchema.json +142 -0
  171. package/json-schemas/es/Youtube/index.json +309 -0
  172. package/json-schemas/es/YoutubeSchema.json +142 -0
  173. package/json-schemas/es/index.json +4849 -103
  174. package/json-schemas/index.json +1850 -20
  175. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -5,6 +5,35 @@ All notable changes to @segha/catalog will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.2.0] - 2026-02-06
9
+
10
+ ### Added
11
+
12
+ - Schema `CatalogWikipediaSchema` was added
13
+ - Schema `DetailedWikipediaSchema` was added
14
+ - Schema `MetaWikipediaSchema` was added
15
+ - Schema `WikipediaSchema` was added
16
+ - **BREAKING** Property `status` in `ClothingSchema` changed from required to optional
17
+ - **BREAKING** Property `status` in `DetailedClothingSchema` changed from required to optional
18
+
19
+ ## [2.1.0] - 2026-02-05
20
+
21
+ ### Added
22
+
23
+ - Schema `ArticleSchema` was added
24
+ - Schema `BookSchema` was added
25
+ - Schema `CatalogArticleSchema` was added
26
+ - Schema `CatalogBookSchema` was added
27
+ - Schema `CatalogMovieSchema` was added
28
+ - Schema `DetailedArticleSchema` was added
29
+ - Schema `DetailedBookSchema` was added
30
+ - Schema `DetailedMovieSchema` was added
31
+ - Schema `MetaArticleSchema` was added
32
+ - Schema `MetaBookSchema` was added
33
+ - Schema `MetaMovieSchema` was added
34
+ - Schema `MovieSchema` was added
35
+ - Schema `NoteSchema` was added
36
+
8
37
  ## [2.0.0] - 2026-02-05
9
38
 
10
39
  ### Added
package/README.md CHANGED
@@ -18,30 +18,138 @@ pnpm add @segha/catalog
18
18
  ## Usage
19
19
 
20
20
  ```typescript
21
- import { CatalogClothingSchema, ClothingSchema, DetailedClothingSchema, ... } from '@segha/catalog';
21
+ import { ArticleSchema, BookSchema, CatalogArticleSchema, ... } from '@segha/catalog';
22
22
 
23
23
  // Validate data
24
- const result = ClothingSchema.parse(data);
24
+ const result = ArticleSchema.parse(data);
25
25
 
26
26
  // Infer TypeScript types
27
- type Clothing = z.infer<typeof ClothingSchema>;
27
+ type Article = z.infer<typeof ArticleSchema>;
28
28
  ```
29
29
 
30
30
  You can also import specific submodules:
31
31
 
32
32
  ```typescript
33
- import { CatalogClothingSchema, DetailedClothingSchema, MetaClothingSchema } from '@segha/catalog/en/clothing';
33
+ import { MetaClothingSchema, CatalogClothingSchema, DetailedClothingSchema } from '@segha/catalog/en/clothing';
34
34
  ```
35
35
 
36
36
  ### Schemas
37
37
 
38
+ - [Article](#article)
39
+ - [Book](#book)
40
+ - [CatalogArticle](#catalogarticle)
41
+ - [CatalogBook](#catalogbook)
38
42
  - [CatalogClothing](#catalogclothing)
43
+ - [CatalogMovie](#catalogmovie)
44
+ - [CatalogWikipedia](#catalogwikipedia)
39
45
  - [Clothing](#clothing)
46
+ - [DetailedArticle](#detailedarticle)
47
+ - [DetailedBook](#detailedbook)
40
48
  - [DetailedClothing](#detailedclothing)
49
+ - [DetailedMovie](#detailedmovie)
50
+ - [DetailedWikipedia](#detailedwikipedia)
51
+ - [MetaArticle](#metaarticle)
52
+ - [MetaBook](#metabook)
41
53
  - [MetaClothing](#metaclothing)
54
+ - [MetaMovie](#metamovie)
55
+ - [MetaWikipedia](#metawikipedia)
56
+ - [Movie](#movie)
57
+ - [Note](#note)
58
+ - [Wikipedia](#wikipedia)
42
59
 
43
60
  ## API Reference
44
61
 
62
+ ## Article
63
+
64
+ Article
65
+
66
+ _Object containing the following properties:_
67
+
68
+ | Property | Description | Type |
69
+ | :------------------ | :--------------------- | :------------------------------------------------------- |
70
+ | **`title`** (\*) | Title of the article | `string` |
71
+ | `description` | Description | `string` |
72
+ | `excerpt` | Extract of the article | `string` |
73
+ | **`author`** (\*) | Authors | `Array<string>` |
74
+ | `published` | Year of publication | `string` |
75
+ | **`status`** (\*) | Reading status | `'Pending' \| 'In Progress' \| 'Read' \| 'Consolidated'` |
76
+ | **`projects`** (\*) | Projects | `Array<string>` |
77
+ | **`topics`** (\*) | Topics | `Array<string>` |
78
+ | **`rating`** (\*) | Rating of the article | `number` |
79
+ | **`type`** (\*) | | `'[[Sources]]'` |
80
+ | **`format`** (\*) | | `'[[Articles]]'` |
81
+ | **`areas`** (\*) | | `Array<'[[Knowledge]]'>` |
82
+ | **`color`** (\*) | | `'#3171B2'` |
83
+ | **`icon`** (\*) | | `'newspaper'` |
84
+ | `banner` | | `string` |
85
+ | **`url`** (\*) | URL of the article | `string` |
86
+
87
+ _(\*) Required._
88
+
89
+ ## Book
90
+
91
+ Book
92
+
93
+ _Object containing the following properties:_
94
+
95
+ | Property | Description | Type |
96
+ | :------------------------ | :----------------------------------- | :------------------------------------------------------- |
97
+ | **`title`** (\*) | Title of the book | `string` |
98
+ | `subtitle` | Subtitle of the book | `string` |
99
+ | `description` | Description of the book | `string` |
100
+ | **`author`** (\*) | Authors | `Array<string>` |
101
+ | **`published`** (\*) | Year of publication | `string` |
102
+ | **`categories`** (\*) | Categories | `Array<string>` |
103
+ | **`status`** (\*) | Reading status | `'Pending' \| 'In Progress' \| 'Read' \| 'Consolidated'` |
104
+ | **`topics`** (\*) | Topics | `Array<string>` |
105
+ | **`rating`** (\*) | Rating of the book | `number` |
106
+ | **`online_rating`** (\*) | Online rating | `number` |
107
+ | **`last_time_read`** (\*) | Last time read | `string` |
108
+ | **`times_read`** (\*) | Times read | `number` |
109
+ | **`type`** (\*) | | `'[[Sources]]'` |
110
+ | **`format`** (\*) | | `'[[Books]]'` |
111
+ | **`areas`** (\*) | | `Array<'[[Knowledge]]'>` |
112
+ | **`color`** (\*) | | `'#3171B2'` |
113
+ | **`icon`** (\*) | | `'book'` |
114
+ | `cover` | | `string` |
115
+ | **`url`** (\*) | URL of the book in Amazon or similar | `string` |
116
+ | **`read_url`** (\*) | URL of the reading of the book | `string` |
117
+
118
+ _(\*) Required._
119
+
120
+ ## CatalogArticle
121
+
122
+ Article: Data obtained from catalogation
123
+
124
+ _Object containing the following properties:_
125
+
126
+ | Property | Description | Type |
127
+ | :---------------- | :--------------------- | :-------------- |
128
+ | **`title`** (\*) | Title of the article | `string` |
129
+ | `description` | Description | `string` |
130
+ | `excerpt` | Extract of the article | `string` |
131
+ | **`author`** (\*) | Authors | `Array<string>` |
132
+ | `published` | Year of publication | `string` |
133
+
134
+ _(\*) Required._
135
+
136
+ ## CatalogBook
137
+
138
+ Book: Data obtained from catalogation
139
+
140
+ _Object containing the following properties:_
141
+
142
+ | Property | Description | Type |
143
+ | :-------------------- | :---------------------- | :-------------- |
144
+ | **`title`** (\*) | Title of the book | `string` |
145
+ | `subtitle` | Subtitle of the book | `string` |
146
+ | `description` | Description of the book | `string` |
147
+ | **`author`** (\*) | Authors | `Array<string>` |
148
+ | **`published`** (\*) | Year of publication | `string` |
149
+ | **`categories`** (\*) | Categories | `Array<string>` |
150
+
151
+ _(\*) Required._
152
+
45
153
  ## CatalogClothing
46
154
 
47
155
  Clothing item: Catalogable data
@@ -67,6 +175,39 @@ _Object containing the following properties:_
67
175
 
68
176
  _(\*) Required._
69
177
 
178
+ ## CatalogMovie
179
+
180
+ Movie: Data obtained from catalogation
181
+
182
+ _Object containing the following properties:_
183
+
184
+ | Property | Description | Type |
185
+ | :--------------------- | :------------------------------------------- | :-------------- |
186
+ | **`title`** (\*) | Title of the movie | `string` |
187
+ | **`description`** (\*) | Description of the movie | `string` |
188
+ | **`author`** (\*) | Authors. Writers, directors, producers, etc. | `Array<string>` |
189
+ | **`actors`** (\*) | Actors | `Array<string>` |
190
+ | **`published`** (\*) | Year of publication | `string` |
191
+ | **`genres`** (\*) | Genres | `Array<string>` |
192
+
193
+ _(\*) Required._
194
+
195
+ ## CatalogWikipedia
196
+
197
+ Wikipedia entry: Data obtainable from cataloging
198
+
199
+ _Object containing the following properties:_
200
+
201
+ | Property | Description | Type |
202
+ | :---------------- | :--------------------------- | :-------------- |
203
+ | **`title`** (\*) | Title of the Wikipedia entry | `string` |
204
+ | `description` | Description | `string` |
205
+ | `excerpt` | Extract of the article | `string` |
206
+ | **`author`** (\*) | Authors | `Array<string>` |
207
+ | `published` | Year of publication | `string` |
208
+
209
+ _(\*) Required._
210
+
70
211
  ## Clothing
71
212
 
72
213
  Clothing item
@@ -102,6 +243,38 @@ _Object containing the following properties:_
102
243
 
103
244
  _(\*) Required._
104
245
 
246
+ ## DetailedArticle
247
+
248
+ Article: Additional data
249
+
250
+ _Object containing the following properties:_
251
+
252
+ | Property | Description | Type |
253
+ | :------------------ | :-------------------- | :------------------------------------------------------- |
254
+ | **`status`** (\*) | Reading status | `'Pending' \| 'In Progress' \| 'Read' \| 'Consolidated'` |
255
+ | **`projects`** (\*) | Projects | `Array<string>` |
256
+ | **`topics`** (\*) | Topics | `Array<string>` |
257
+ | **`rating`** (\*) | Rating of the article | `number` |
258
+
259
+ _(\*) Required._
260
+
261
+ ## DetailedBook
262
+
263
+ Book: Additional data
264
+
265
+ _Object containing the following properties:_
266
+
267
+ | Property | Description | Type |
268
+ | :------------------------ | :----------------- | :------------------------------------------------------- |
269
+ | **`status`** (\*) | Reading status | `'Pending' \| 'In Progress' \| 'Read' \| 'Consolidated'` |
270
+ | **`topics`** (\*) | Topics | `Array<string>` |
271
+ | **`rating`** (\*) | Rating of the book | `number` |
272
+ | **`online_rating`** (\*) | Online rating | `number` |
273
+ | **`last_time_read`** (\*) | Last time read | `string` |
274
+ | **`times_read`** (\*) | Times read | `number` |
275
+
276
+ _(\*) Required._
277
+
105
278
  ## DetailedClothing
106
279
 
107
280
  Clothing item: Additional hard-to-obtain data
@@ -117,6 +290,75 @@ _Object containing the following properties:_
117
290
 
118
291
  _(\*) Required._
119
292
 
293
+ ## DetailedMovie
294
+
295
+ Movie: Additional data
296
+
297
+ _Object containing the following properties:_
298
+
299
+ | Property | Description | Type |
300
+ | :--------------------------- | :------------------ | :------------------------------------------ |
301
+ | **`status`** (\*) | Watching status | `'Pending' \| 'In Progress' \| 'Completed'` |
302
+ | **`topics`** (\*) | Topics | `Array<string>` |
303
+ | **`rating`** (\*) | Rating of the movie | `number` |
304
+ | **`online_rating`** (\*) | Online rating | `number` |
305
+ | **`last_time_watched`** (\*) | Last time watched | `string` |
306
+ | **`times_watched`** (\*) | Times watched | `number` |
307
+
308
+ _(\*) Required._
309
+
310
+ ## DetailedWikipedia
311
+
312
+ Wikipedia entry: Additional data
313
+
314
+ _Object containing the following properties:_
315
+
316
+ | Property | Description | Type |
317
+ | :------------------ | :-------------------- | :------------------------------------------------------- |
318
+ | **`status`** (\*) | Reading status | `'Pending' \| 'In Progress' \| 'Read' \| 'Consolidated'` |
319
+ | **`projects`** (\*) | Projects | `Array<string>` |
320
+ | **`topics`** (\*) | Topics | `Array<string>` |
321
+ | **`rating`** (\*) | Rating of the article | `number` |
322
+
323
+ _(\*) Required._
324
+
325
+ ## MetaArticle
326
+
327
+ Article: Metadata of Note
328
+
329
+ _Object containing the following properties:_
330
+
331
+ | Property | Description | Type |
332
+ | :---------------- | :----------------- | :----------------------- |
333
+ | **`type`** (\*) | | `'[[Sources]]'` |
334
+ | **`format`** (\*) | | `'[[Articles]]'` |
335
+ | **`areas`** (\*) | | `Array<'[[Knowledge]]'>` |
336
+ | **`color`** (\*) | | `'#3171B2'` |
337
+ | **`icon`** (\*) | | `'newspaper'` |
338
+ | `banner` | | `string` |
339
+ | **`url`** (\*) | URL of the article | `string` |
340
+
341
+ _(\*) Required._
342
+
343
+ ## MetaBook
344
+
345
+ Book: Metadata of Note
346
+
347
+ _Object containing the following properties:_
348
+
349
+ | Property | Description | Type |
350
+ | :------------------ | :----------------------------------- | :----------------------- |
351
+ | **`type`** (\*) | | `'[[Sources]]'` |
352
+ | **`format`** (\*) | | `'[[Books]]'` |
353
+ | **`areas`** (\*) | | `Array<'[[Knowledge]]'>` |
354
+ | **`color`** (\*) | | `'#3171B2'` |
355
+ | **`icon`** (\*) | | `'book'` |
356
+ | `cover` | | `string` |
357
+ | **`url`** (\*) | URL of the book in Amazon or similar | `string` |
358
+ | **`read_url`** (\*) | URL of the reading of the book | `string` |
359
+
360
+ _(\*) Required._
361
+
120
362
  ## MetaClothing
121
363
 
122
364
  Clothing item: Note metadata
@@ -133,3 +375,112 @@ _Object containing the following properties:_
133
375
  | `cover` | `string` |
134
376
 
135
377
  _(\*) Required._
378
+
379
+ ## MetaMovie
380
+
381
+ Movie: Metadata of Note
382
+
383
+ _Object containing the following properties:_
384
+
385
+ | Property | Description | Type |
386
+ | :------------------- | :---------------------------------- | :------------------------ |
387
+ | **`type`** (\*) | | `'[[Sources]]'` |
388
+ | **`format`** (\*) | | `'[[Movies]]'` |
389
+ | **`areas`** (\*) | | `Array<'[[Creativity]]'>` |
390
+ | **`color`** (\*) | | `'#BE9207'` |
391
+ | **`icon`** (\*) | | `'movie'` |
392
+ | `cover` | | `string` |
393
+ | **`url`** (\*) | URL of the movie in IMDB or similar | `string` |
394
+ | **`watch_url`** (\*) | URL of the movie in streaming | `string` |
395
+
396
+ _(\*) Required._
397
+
398
+ ## MetaWikipedia
399
+
400
+ Wikipedia entry: Metadata of Note
401
+
402
+ _Object containing the following properties:_
403
+
404
+ | Property | Description | Type | Default |
405
+ | :------------------ | :----------------- | :--------------------------- | :------------ |
406
+ | **`type`** (\*) | | `'[[Sources]]'` | |
407
+ | **`format`** (\*) | | `'[[Encyclopedia Entries]]'` | |
408
+ | **`areas`** (\*) | | `Array<'[[Knowledge]]'>` | |
409
+ | **`color`** (\*) | | `'#3171B2'` | |
410
+ | `icon` | Lucide icon. | `string` | `'wikipedia'` |
411
+ | `banner` | | `string` | |
412
+ | **`url`** (\*) | URL of the article | `string` | |
413
+ | **`platform`** (\*) | | `'Wikipedia'` | |
414
+
415
+ _(\*) Required._
416
+
417
+ ## Movie
418
+
419
+ Movie
420
+
421
+ _Object containing the following properties:_
422
+
423
+ | Property | Description | Type |
424
+ | :--------------------------- | :------------------------------------------- | :------------------------------------------ |
425
+ | **`title`** (\*) | Title of the movie | `string` |
426
+ | **`description`** (\*) | Description of the movie | `string` |
427
+ | **`author`** (\*) | Authors. Writers, directors, producers, etc. | `Array<string>` |
428
+ | **`actors`** (\*) | Actors | `Array<string>` |
429
+ | **`published`** (\*) | Year of publication | `string` |
430
+ | **`genres`** (\*) | Genres | `Array<string>` |
431
+ | **`status`** (\*) | Watching status | `'Pending' \| 'In Progress' \| 'Completed'` |
432
+ | **`topics`** (\*) | Topics | `Array<string>` |
433
+ | **`rating`** (\*) | Rating of the movie | `number` |
434
+ | **`online_rating`** (\*) | Online rating | `number` |
435
+ | **`last_time_watched`** (\*) | Last time watched | `string` |
436
+ | **`times_watched`** (\*) | Times watched | `number` |
437
+ | **`type`** (\*) | | `'[[Sources]]'` |
438
+ | **`format`** (\*) | | `'[[Movies]]'` |
439
+ | **`areas`** (\*) | | `Array<'[[Creativity]]'>` |
440
+ | **`color`** (\*) | | `'#BE9207'` |
441
+ | **`icon`** (\*) | | `'movie'` |
442
+ | `cover` | | `string` |
443
+ | **`url`** (\*) | URL of the movie in IMDB or similar | `string` |
444
+ | **`watch_url`** (\*) | URL of the movie in streaming | `string` |
445
+
446
+ _(\*) Required._
447
+
448
+ ## Note
449
+
450
+ Note: Union of all note types
451
+
452
+ _Union of the following possible types:_
453
+
454
+ - [Article](#article)
455
+ - [Book](#book)
456
+ - [Clothing](#clothing)
457
+ - [Movie](#movie)
458
+ - [Wikipedia](#wikipedia)
459
+
460
+ ## Wikipedia
461
+
462
+ Wikipedia entry
463
+
464
+ _Object containing the following properties:_
465
+
466
+ | Property | Description | Type | Default |
467
+ | :------------------ | :--------------------------- | :------------------------------------------------------- | :------------ |
468
+ | **`title`** (\*) | Title of the Wikipedia entry | `string` | |
469
+ | `description` | Description | `string` | |
470
+ | `excerpt` | Extract of the article | `string` | |
471
+ | **`author`** (\*) | Authors | `Array<string>` | |
472
+ | `published` | Year of publication | `string` | |
473
+ | **`status`** (\*) | Reading status | `'Pending' \| 'In Progress' \| 'Read' \| 'Consolidated'` | |
474
+ | **`projects`** (\*) | Projects | `Array<string>` | |
475
+ | **`topics`** (\*) | Topics | `Array<string>` | |
476
+ | **`rating`** (\*) | Rating of the article | `number` | |
477
+ | **`type`** (\*) | | `'[[Sources]]'` | |
478
+ | **`format`** (\*) | | `'[[Encyclopedia Entries]]'` | |
479
+ | **`areas`** (\*) | | `Array<'[[Knowledge]]'>` | |
480
+ | **`color`** (\*) | | `'#3171B2'` | |
481
+ | `icon` | Lucide icon. | `string` | `'wikipedia'` |
482
+ | `banner` | | `string` | |
483
+ | **`url`** (\*) | URL of the article | `string` | |
484
+ | **`platform`** (\*) | | `'Wikipedia'` | |
485
+
486
+ _(\*) Required._
package/en/Areas.ts ADDED
@@ -0,0 +1,24 @@
1
+ import z from "zod";
2
+
3
+ export const FirstLevelArea = z.enum([
4
+ "[[Food]]",
5
+ "[[Health]]",
6
+ "[[Knowledge]]",
7
+ "[[Structured Thinking]]",
8
+ "[[Home]]",
9
+ "[[Productivity]]",
10
+ "[[Exploration]]",
11
+ "[[Links]]",
12
+ "[[Exercise]]",
13
+ "[[Energy]]",
14
+ "[[Work]]",
15
+ "[[Finances]]",
16
+ "[[Mental Health]]",
17
+ "[[Creativity]]",
18
+ ]).describe('First level area');
19
+
20
+ export const Area = z.enum([
21
+ ...FirstLevelArea.options,
22
+ ]).describe('Area');
23
+
24
+ export const Areas = z.array(Area).describe('Areas');
@@ -0,0 +1,29 @@
1
+
2
+ import z from "zod";
3
+
4
+ export const MetaArticleSchema = z.object({
5
+ type: z.literal("[[Sources]]"),
6
+ format: z.literal("[[Articles]]"),
7
+ areas: z.array(z.literal("[[Knowledge]]")),
8
+ color: z.literal("#3171B2"),
9
+ icon: z.literal("newspaper"),
10
+ banner: z.string().optional(),
11
+ url: z.string().describe('URL of the article'),
12
+ }).describe('Article: Metadata of Note');
13
+
14
+ export const CatalogArticleSchema = z.object({
15
+ title: z.string().describe('Title of the article'),
16
+ description: z.string().optional().describe('Description'),
17
+ excerpt: z.string().optional().describe('Extract of the article'),
18
+ author: z.array(z.string()).describe('Authors'),
19
+ published: z.string().optional().describe('Year of publication'),
20
+ }).describe('Article: Data obtained from catalogation');
21
+
22
+ export const DetailedArticleSchema = z.object({
23
+ status: z.enum(["Pending", "In Progress", "Read", "Consolidated"]).describe('Reading status'),
24
+ projects: z.array(z.string()).describe('Projects'),
25
+ topics: z.array(z.string()).describe('Topics'),
26
+ rating: z.number().describe('Rating of the article'),
27
+ }).describe('Article: Additional data');
28
+
29
+ export const ArticleSchema = CatalogArticleSchema.extend(DetailedArticleSchema.shape).extend(MetaArticleSchema.shape).describe('Article');
@@ -0,0 +1,9 @@
1
+
2
+ import type { z } from 'zod';
3
+
4
+ import type { ArticleSchema, CatalogArticleSchema, DetailedArticleSchema, MetaArticleSchema } from ".";
5
+
6
+ export type Article = z.infer<typeof ArticleSchema>;
7
+ export type CatalogArticle = z.infer<typeof CatalogArticleSchema>;
8
+ export type DetailedArticle = z.infer<typeof DetailedArticleSchema>;
9
+ export type MetaArticle = z.infer<typeof MetaArticleSchema>;
@@ -0,0 +1,33 @@
1
+
2
+ import z from "zod";
3
+
4
+ export const MetaBookSchema= z.object({
5
+ type: z.literal("[[Sources]]"),
6
+ format: z.literal("[[Books]]"),
7
+ areas: z.array(z.literal("[[Knowledge]]")),
8
+ color: z.literal("#3171B2"),
9
+ icon: z.literal("book"),
10
+ cover: z.string().optional(),
11
+ url: z.string().describe('URL of the book in Amazon or similar'),
12
+ read_url: z.string().describe('URL of the reading of the book'),
13
+ }).describe('Book: Metadata of Note');
14
+
15
+ export const CatalogBookSchema = z.object({
16
+ title: z.string().describe('Title of the book'),
17
+ subtitle: z.string().optional().describe('Subtitle of the book'),
18
+ description: z.string().optional().describe('Description of the book'),
19
+ author: z.array(z.string()).describe('Authors'),
20
+ published: z.string().describe('Year of publication'),
21
+ categories: z.array(z.string()).describe('Categories'),
22
+ }).describe('Book: Data obtained from catalogation');
23
+
24
+ export const DetailedBookSchema = z.object({
25
+ status: z.enum(["Pending", "In Progress", "Read", "Consolidated"]).describe('Reading status'),
26
+ topics: z.array(z.string()).describe('Topics'),
27
+ rating: z.number().describe('Rating of the book'),
28
+ online_rating: z.number().describe('Online rating'),
29
+ last_time_read: z.string().describe('Last time read'),
30
+ times_read: z.number().describe('Times read'),
31
+ }).describe('Book: Additional data');
32
+
33
+ export const BookSchema = CatalogBookSchema.extend(DetailedBookSchema.shape).extend(MetaBookSchema.shape).describe('Book');
@@ -0,0 +1,9 @@
1
+
2
+ import type { z } from 'zod';
3
+
4
+ import type { BookSchema, CatalogBookSchema, DetailedBookSchema, MetaBookSchema } from ".";
5
+
6
+ export type Book = z.infer<typeof BookSchema>;
7
+ export type CatalogBook = z.infer<typeof CatalogBookSchema>;
8
+ export type DetailedBook = z.infer<typeof DetailedBookSchema>;
9
+ export type MetaBook = z.infer<typeof MetaBookSchema>;
@@ -15,6 +15,15 @@ import { Status } from "./Status";
15
15
  import { UseCases } from "./UseCases";
16
16
  import { Variants } from "./Variants";
17
17
 
18
+ export const MetaClothingSchema = z.object({
19
+ type: z.literal("[[Resources]]"),
20
+ subtype: z.literal("[[Clothes]]"),
21
+ areas: z.array(z.literal("[[Home]]")),
22
+ color: z.literal("#CB6120"),
23
+ icon: z.literal("shirt"),
24
+ cover: z.string().optional(),
25
+ }).describe('Clothing item: Note metadata');
26
+
18
27
  export const CatalogClothingSchema = z.object({
19
28
  name: z.string().describe('Descriptive name of the clothing item'),
20
29
  garment: Garment,
@@ -39,13 +48,4 @@ export const DetailedClothingSchema = z.object({
39
48
  measurements: Measurements,
40
49
  }).describe('Clothing item: Additional hard-to-obtain data');
41
50
 
42
- export const MetaClothingSchema = z.object({
43
- type: z.literal("[[Resources]]"),
44
- subtype: z.literal("[[Clothes]]"),
45
- areas: z.array(z.literal("[[Home]]")),
46
- color: z.literal("#CB6120"),
47
- icon: z.literal("shirt"),
48
- cover: z.string().optional(),
49
- }).describe('Clothing item: Note metadata');
50
-
51
51
  export const ClothingSchema = CatalogClothingSchema.extend(DetailedClothingSchema.shape).extend(MetaClothingSchema.shape).describe('Clothing item');
@@ -0,0 +1,34 @@
1
+
2
+ import z from "zod";
3
+
4
+ export const MetaMovieSchema = z.object({
5
+ type: z.literal("[[Sources]]"),
6
+ format: z.literal("[[Movies]]"),
7
+ areas: z.array(z.literal("[[Creativity]]")),
8
+ color: z.literal("#BE9207"),
9
+ icon: z.literal("movie"),
10
+ cover: z.string().optional(),
11
+ url: z.string().describe('URL of the movie in IMDB or similar'),
12
+ watch_url: z.string().describe('URL of the movie in streaming'),
13
+ }).describe('Movie: Metadata of Note');
14
+
15
+
16
+ export const CatalogMovieSchema = z.object({
17
+ title: z.string().describe('Title of the movie'),
18
+ description: z.string().describe('Description of the movie'),
19
+ author: z.array(z.string()).describe('Authors. Writers, directors, producers, etc.'),
20
+ actors: z.array(z.string()).describe('Actors'),
21
+ published: z.string().describe('Year of publication'),
22
+ genres: z.array(z.string()).describe('Genres'),
23
+ }).describe('Movie: Data obtained from catalogation');
24
+
25
+ export const DetailedMovieSchema = z.object({
26
+ status: z.enum(["Pending", "In Progress", "Completed"]).describe('Watching status'),
27
+ topics: z.array(z.string()).describe('Topics'),
28
+ rating: z.number().describe('Rating of the movie'),
29
+ online_rating: z.number().describe('Online rating'),
30
+ last_time_watched: z.string().describe('Last time watched'),
31
+ times_watched: z.number().describe('Times watched'),
32
+ }).describe('Movie: Additional data');
33
+
34
+ export const MovieSchema = CatalogMovieSchema.extend(DetailedMovieSchema.shape).extend(MetaMovieSchema.shape).describe('Movie');
@@ -0,0 +1,9 @@
1
+
2
+ import type { z } from 'zod';
3
+
4
+ import type { MovieSchema, CatalogMovieSchema, DetailedMovieSchema, MetaMovieSchema } from ".";
5
+
6
+ export type Movie = z.infer<typeof MovieSchema>;
7
+ export type CatalogMovie = z.infer<typeof CatalogMovieSchema>;
8
+ export type DetailedMovie = z.infer<typeof DetailedMovieSchema>;
9
+ export type MetaMovie = z.infer<typeof MetaMovieSchema>;
package/en/Note.ts ADDED
@@ -0,0 +1,15 @@
1
+ import z from "zod";
2
+
3
+ import { ArticleSchema } from "./Article";
4
+ import { BookSchema } from "./Book";
5
+ import { ClothingSchema } from "./Clothing";
6
+ import { MovieSchema } from "./Movie";
7
+ import { WikipediaSchema } from "./Wikipedia";
8
+
9
+ export const NoteSchema = z.union([
10
+ ArticleSchema,
11
+ BookSchema,
12
+ ClothingSchema,
13
+ MovieSchema,
14
+ WikipediaSchema,
15
+ ]).describe('Note: Union of all note types');