@geekity/cms 0.34.0 → 0.35.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 (192) hide show
  1. package/admin/pages/documents/chooser.njk +30 -0
  2. package/admin/pages/documents/editor.njk +394 -164
  3. package/admin/pages/media/file.njk +142 -0
  4. package/admin/pages/media/library.njk +103 -198
  5. package/admin/pages/settings/general.njk +48 -1
  6. package/admin/pages/settings/privacy.njk +1 -1
  7. package/admin/pages/tools/maintenance.njk +48 -0
  8. package/admin/src/admin.css +1 -0
  9. package/admin/static/admin.css +728 -65
  10. package/admin/static/copy.js +30 -23
  11. package/admin/static/item-lookup.js +179 -0
  12. package/admin/static/media.js +82 -0
  13. package/dist/admin/documents.d.ts.map +1 -1
  14. package/dist/admin/documents.js +141 -22
  15. package/dist/admin/documents.js.map +1 -1
  16. package/dist/admin/editor-actions.d.ts.map +1 -1
  17. package/dist/admin/editor-actions.js +2 -3
  18. package/dist/admin/editor-actions.js.map +1 -1
  19. package/dist/admin/editor-fields.d.ts +20 -8
  20. package/dist/admin/editor-fields.d.ts.map +1 -1
  21. package/dist/admin/editor-fields.js +35 -12
  22. package/dist/admin/editor-fields.js.map +1 -1
  23. package/dist/admin/editor-kinds.d.ts +30 -0
  24. package/dist/admin/editor-kinds.d.ts.map +1 -0
  25. package/dist/admin/editor-kinds.js +136 -0
  26. package/dist/admin/editor-kinds.js.map +1 -0
  27. package/dist/admin/editor-layout.d.ts +10 -1
  28. package/dist/admin/editor-layout.d.ts.map +1 -1
  29. package/dist/admin/editor-layout.js +38 -31
  30. package/dist/admin/editor-layout.js.map +1 -1
  31. package/dist/admin/federation.d.ts +1 -1
  32. package/dist/admin/federation.d.ts.map +1 -1
  33. package/dist/admin/federation.js +2 -1
  34. package/dist/admin/federation.js.map +1 -1
  35. package/dist/admin/formatting.d.ts +2 -0
  36. package/dist/admin/formatting.d.ts.map +1 -1
  37. package/dist/admin/formatting.js +8 -0
  38. package/dist/admin/formatting.js.map +1 -1
  39. package/dist/admin/index.d.ts +1 -1
  40. package/dist/admin/index.d.ts.map +1 -1
  41. package/dist/admin/index.js +1 -1
  42. package/dist/admin/index.js.map +1 -1
  43. package/dist/admin/item-lookup.d.ts +16 -0
  44. package/dist/admin/item-lookup.d.ts.map +1 -0
  45. package/dist/admin/item-lookup.js +192 -0
  46. package/dist/admin/item-lookup.js.map +1 -0
  47. package/dist/admin/maintenance.d.ts +2 -0
  48. package/dist/admin/maintenance.d.ts.map +1 -1
  49. package/dist/admin/maintenance.js +14 -0
  50. package/dist/admin/maintenance.js.map +1 -1
  51. package/dist/admin/media.d.ts +43 -29
  52. package/dist/admin/media.d.ts.map +1 -1
  53. package/dist/admin/media.js +221 -54
  54. package/dist/admin/media.js.map +1 -1
  55. package/dist/admin/preview.d.ts.map +1 -1
  56. package/dist/admin/preview.js +9 -12
  57. package/dist/admin/preview.js.map +1 -1
  58. package/dist/admin/routes.d.ts.map +1 -1
  59. package/dist/admin/routes.js +3 -0
  60. package/dist/admin/routes.js.map +1 -1
  61. package/dist/admin/settings-general.d.ts +6 -0
  62. package/dist/admin/settings-general.d.ts.map +1 -1
  63. package/dist/admin/settings-general.js +46 -1
  64. package/dist/admin/settings-general.js.map +1 -1
  65. package/dist/admin/templates.d.ts +2 -0
  66. package/dist/admin/templates.d.ts.map +1 -1
  67. package/dist/admin/templates.js +4 -0
  68. package/dist/admin/templates.js.map +1 -1
  69. package/dist/cli.d.ts.map +1 -1
  70. package/dist/cli.js +2 -1
  71. package/dist/cli.js.map +1 -1
  72. package/dist/cms/app.d.ts.map +1 -1
  73. package/dist/cms/app.js +1 -0
  74. package/dist/cms/app.js.map +1 -1
  75. package/dist/cms/services.d.ts +2 -0
  76. package/dist/cms/services.d.ts.map +1 -1
  77. package/dist/cms/services.js +13 -0
  78. package/dist/cms/services.js.map +1 -1
  79. package/dist/content/document-form.d.ts +5 -13
  80. package/dist/content/document-form.d.ts.map +1 -1
  81. package/dist/content/document-form.js +2 -3
  82. package/dist/content/document-form.js.map +1 -1
  83. package/dist/content/excerpt.d.ts +1 -3
  84. package/dist/content/excerpt.d.ts.map +1 -1
  85. package/dist/content/excerpt.js +2 -7
  86. package/dist/content/excerpt.js.map +1 -1
  87. package/dist/content/post-fields.d.ts +1 -1
  88. package/dist/content/post-fields.d.ts.map +1 -1
  89. package/dist/content/post-fields.js +30 -35
  90. package/dist/content/post-fields.js.map +1 -1
  91. package/dist/content/post-type.d.ts +2 -3
  92. package/dist/content/post-type.d.ts.map +1 -1
  93. package/dist/content/post-type.js +8 -9
  94. package/dist/content/post-type.js.map +1 -1
  95. package/dist/content/review-form.d.ts +49 -0
  96. package/dist/content/review-form.d.ts.map +1 -0
  97. package/dist/content/review-form.js +282 -0
  98. package/dist/content/review-form.js.map +1 -0
  99. package/dist/content/review.d.ts +57 -0
  100. package/dist/content/review.d.ts.map +1 -0
  101. package/dist/content/review.js +264 -0
  102. package/dist/content/review.js.map +1 -0
  103. package/dist/content/write.d.ts.map +1 -1
  104. package/dist/content/write.js +6 -9
  105. package/dist/content/write.js.map +1 -1
  106. package/dist/exports.d.ts +1 -1
  107. package/dist/exports.d.ts.map +1 -1
  108. package/dist/federation/article.d.ts.map +1 -1
  109. package/dist/federation/article.js +27 -29
  110. package/dist/federation/article.js.map +1 -1
  111. package/dist/federation/federation.d.ts +3 -0
  112. package/dist/federation/federation.d.ts.map +1 -1
  113. package/dist/federation/federation.js +5 -1
  114. package/dist/federation/federation.js.map +1 -1
  115. package/dist/federation/refusals.d.ts +18 -0
  116. package/dist/federation/refusals.d.ts.map +1 -0
  117. package/dist/federation/refusals.js +84 -0
  118. package/dist/federation/refusals.js.map +1 -0
  119. package/dist/images/variants.d.ts +1 -0
  120. package/dist/images/variants.d.ts.map +1 -1
  121. package/dist/images/variants.js +10 -0
  122. package/dist/images/variants.js.map +1 -1
  123. package/dist/item-lookup/item-id.d.ts +33 -0
  124. package/dist/item-lookup/item-id.d.ts.map +1 -0
  125. package/dist/item-lookup/item-id.js +71 -0
  126. package/dist/item-lookup/item-id.js.map +1 -0
  127. package/dist/item-lookup/lookup.d.ts +58 -0
  128. package/dist/item-lookup/lookup.d.ts.map +1 -0
  129. package/dist/item-lookup/lookup.js +532 -0
  130. package/dist/item-lookup/lookup.js.map +1 -0
  131. package/dist/micropub/create.d.ts +1 -1
  132. package/dist/micropub/create.d.ts.map +1 -1
  133. package/dist/micropub/create.js +4 -2
  134. package/dist/micropub/create.js.map +1 -1
  135. package/dist/micropub/endpoint.d.ts.map +1 -1
  136. package/dist/micropub/endpoint.js +3 -10
  137. package/dist/micropub/endpoint.js.map +1 -1
  138. package/dist/micropub/update.d.ts.map +1 -1
  139. package/dist/micropub/update.js +12 -6
  140. package/dist/micropub/update.js.map +1 -1
  141. package/dist/plugin.d.ts +26 -2
  142. package/dist/plugin.d.ts.map +1 -1
  143. package/dist/plugin.js.map +1 -1
  144. package/dist/settings/names.d.ts +1 -1
  145. package/dist/settings/names.d.ts.map +1 -1
  146. package/dist/settings/names.js +8 -1
  147. package/dist/settings/names.js.map +1 -1
  148. package/dist/settings/registry.d.ts.map +1 -1
  149. package/dist/settings/registry.js +2 -1
  150. package/dist/settings/registry.js.map +1 -1
  151. package/dist/settings/tmdb.d.ts +5 -0
  152. package/dist/settings/tmdb.d.ts.map +1 -0
  153. package/dist/settings/tmdb.js +22 -0
  154. package/dist/settings/tmdb.js.map +1 -0
  155. package/dist/store/profiles.d.ts +3 -2
  156. package/dist/store/profiles.d.ts.map +1 -1
  157. package/dist/store/profiles.js +2 -4
  158. package/dist/store/profiles.js.map +1 -1
  159. package/dist/web/context.d.ts +9 -21
  160. package/dist/web/context.d.ts.map +1 -1
  161. package/dist/web/context.js +20 -20
  162. package/dist/web/context.js.map +1 -1
  163. package/dist/web/feed-item.d.ts +6 -6
  164. package/dist/web/feed-item.d.ts.map +1 -1
  165. package/dist/web/feed-item.js +7 -3
  166. package/dist/web/feed-item.js.map +1 -1
  167. package/dist/web/plugin-federation.d.ts +2 -0
  168. package/dist/web/plugin-federation.d.ts.map +1 -1
  169. package/dist/web/plugin-federation.js +3 -0
  170. package/dist/web/plugin-federation.js.map +1 -1
  171. package/dist/webmention/cited-picture.d.ts +1 -0
  172. package/dist/webmention/cited-picture.d.ts.map +1 -1
  173. package/dist/webmention/cited-picture.js +7 -4
  174. package/dist/webmention/cited-picture.js.map +1 -1
  175. package/dist/webmention/fetch-public.d.ts +3 -0
  176. package/dist/webmention/fetch-public.d.ts.map +1 -1
  177. package/dist/webmention/fetch-public.js +1 -1
  178. package/dist/webmention/fetch-public.js.map +1 -1
  179. package/dist/webmention/reply-context/json-ld.d.ts +8 -0
  180. package/dist/webmention/reply-context/json-ld.d.ts.map +1 -1
  181. package/dist/webmention/reply-context/json-ld.js +21 -0
  182. package/dist/webmention/reply-context/json-ld.js.map +1 -1
  183. package/dist/webmention/service.d.ts.map +1 -1
  184. package/dist/webmention/service.js +3 -5
  185. package/dist/webmention/service.js.map +1 -1
  186. package/package.json +1 -1
  187. package/themes/default/layouts/post.njk +6 -5
  188. package/themes/default/partials/post-list.njk +15 -20
  189. package/themes/default/partials/review.njk +1 -0
  190. package/themes/default/src/style.css +24 -4
  191. package/themes/default/static/style.css +33 -5
  192. package/themes/default/partials/read.njk +0 -5
@@ -1,7 +1,7 @@
1
1
  import type { SyndicationTarget } from './syndicate-to.ts';
2
2
  import type { Document } from './document.ts';
3
3
  import type { EditorForm, ResolvedMedia } from './document-form.ts';
4
- export type MicropubType = 'h-entry' | 'h-event';
4
+ export type MicropubType = 'h-entry' | 'h-event' | 'h-review';
5
5
  export interface MicropubSite {
6
6
  readonly baseUrl: string;
7
7
  readonly targets: readonly SyndicationTarget[];
@@ -1 +1 @@
1
- {"version":3,"file":"post-fields.d.ts","sourceRoot":"","sources":["../../src/content/post-fields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAS3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAkCpE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,OAAO,EAAE,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACnE,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;CAC9F;AAED,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7E,QAAQ,CAAC,SAAS,EAAE,CAClB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACvC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,KACnC,OAAO,CAAC,UAAU,CAAC,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAClG,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;CACrC;AAiMD,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAElE;AAgED,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,EAa3C,CAAC"}
1
+ {"version":3,"file":"post-fields.d.ts","sourceRoot":"","sources":["../../src/content/post-fields.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAS3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA+BpE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAE9D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,OAAO,EAAE,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACnE,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;CAC9F;AAED,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7E,QAAQ,CAAC,SAAS,EAAE,CAClB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACvC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,KACnC,OAAO,CAAC,UAAU,CAAC,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAClG,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;CACrC;AA6LD,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAElE;AAgED,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,EAa3C,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { stringOrEmpty, trimmedField } from '../util/forms.js';
2
+ import { isRecord } from '../util/guards.js';
2
3
  import { SYNDICATE_TO_FRONT_MATTER_KEY, syndicateToOf } from './syndicate-to.js';
3
4
  import { citationOf, citationText, CITED_ALT_FRONT_MATTER_KEY, PREVIEW_FRONT_MATTER_KEY, previewShown, } from './citation.js';
4
5
  import { CITATION_FIELDS } from './document-form.js';
@@ -9,8 +10,8 @@ import { eventForm, eventFrontMatter, eventPlaceFromMicropub, resolveEvent, subm
9
10
  import { PHOTO_FRONT_MATTER_KEY, photoFrontMatter } from './photo.js';
10
11
  import { photoRowFromMicropub, photoRows, photoToMicropub, readPhotoForm } from './photo-form.js';
11
12
  import { PINNED_FRONT_MATTER_KEY, pinnedAt } from './pinned.js';
12
- import { isReadStatus, READ_OF_FRONT_MATTER_KEY, READ_STATUS_FRONT_MATTER_KEY, READ_STATUSES, readOf, readWork, readWorkFrontMatter, } from './read.js';
13
- import { READ_FIELDS, readCite, readOfForm, readOfFromMicropub, submittedReadOfForm, } from './read-form.js';
13
+ import { ITEM_FRONT_MATTER_KEY, ITEM_KEYS, RATING_FRONT_MATTER_KEY, reviewFrontMatter, reviewOf, } from './review.js';
14
+ import { reviewForm, reviewFromMicropub, reviewToMicropub, submittedReviewForm, } from './review-form.js';
14
15
  import { RSVP_FRONT_MATTER_KEY, rsvpOf, rsvpValue } from './rsvp.js';
15
16
  import { toUtcInstant } from './time.js';
16
17
  function setOrDelete(extra, key, value) {
@@ -125,6 +126,32 @@ const EVENT_FIELD = {
125
126
  function isOrWasEvent(saved, document) {
126
127
  return saved !== undefined || (document !== undefined && eventOf(document.extra) !== undefined);
127
128
  }
129
+ const REVIEW_FIELD = {
130
+ read: (document) => ({ review: reviewForm(document.extra, reviewOf(document.extra)) }),
131
+ submitted: (body) => ({ review: submittedReviewForm(body) }),
132
+ write: (extra, _form, { media: { review } }) => {
133
+ const { item, rating } = reviewFrontMatter(review);
134
+ const before = extra[ITEM_FRONT_MATTER_KEY];
135
+ const modelled = new Set(['kind', 'name', ...Object.values(ITEM_KEYS)]);
136
+ const kept = item !== undefined && isRecord(before)
137
+ ? Object.fromEntries(Object.entries(before).filter(([key]) => !modelled.has(key)))
138
+ : {};
139
+ setOrDelete(extra, ITEM_FRONT_MATTER_KEY, item && { ...item, ...kept });
140
+ setOrDelete(extra, RATING_FRONT_MATTER_KEY, rating);
141
+ },
142
+ micropub: {
143
+ properties: { item: ['review'], rating: ['review'] },
144
+ publishable: ['item'],
145
+ toForm: (request) => {
146
+ const review = reviewFromMicropub(request.values('item'), request.values('rating'), request.refuse, request.baseUrl);
147
+ if (request.type === 'h-review' && !request.has('item')) {
148
+ request.refuse('An h-review needs the item it reviews.');
149
+ }
150
+ return { review };
151
+ },
152
+ toProperties: (document, { baseUrl }) => reviewToMicropub(reviewOf(document.extra), baseUrl),
153
+ },
154
+ };
128
155
  const PREVIEW_FIELD = {
129
156
  read: (document) => ({ previewHidden: !previewShown(document.extra) }),
130
157
  submitted: (body) => ({ previewHidden: body[PREVIEW_FRONT_MATTER_KEY] !== undefined }),
@@ -139,38 +166,6 @@ const CITED_ALT_FIELD = {
139
166
  setOrDelete(extra, CITED_ALT_FRONT_MATTER_KEY, form.citedAlt === '' ? undefined : form.citedAlt);
140
167
  },
141
168
  };
142
- const READ_FIELD = {
143
- read: (document) => ({
144
- readStatus: stringOrEmpty(document.extra[READ_STATUS_FRONT_MATTER_KEY]),
145
- readOf: readOfForm(readWork(document.extra[READ_OF_FRONT_MATTER_KEY])),
146
- }),
147
- submitted: (body) => ({
148
- readStatus: trimmedField(body, READ_FIELDS.status),
149
- readOf: submittedReadOfForm(body),
150
- }),
151
- write: (extra, _form, { media: { read } }) => {
152
- setOrDelete(extra, READ_OF_FRONT_MATTER_KEY, read && readWorkFrontMatter(read.of));
153
- setOrDelete(extra, READ_STATUS_FRONT_MATTER_KEY, read?.status);
154
- },
155
- micropub: {
156
- properties: { 'read-of': ['readOf'], 'read-status': ['readStatus'] },
157
- publishable: ['read-of'],
158
- toForm: (request) => {
159
- const readOfForm = readOfFromMicropub(request.values('read-of'), request.refuse, request.baseUrl);
160
- const readStatus = request.text('read-status');
161
- if (readStatus !== '' && !isReadStatus(readStatus)) {
162
- request.refuse(`read-status is ${READ_STATUSES.join(', ')}, not ${readStatus}.`);
163
- }
164
- return { readOf: readOfForm, readStatus };
165
- },
166
- toProperties: (document, { baseUrl }) => {
167
- const read = readOf(document.extra);
168
- return read === undefined
169
- ? {}
170
- : { 'read-of': [readCite(read.of, baseUrl)], 'read-status': [read.status] };
171
- },
172
- },
173
- };
174
169
  /** The editor checkbox that selects one syndication target. */
175
170
  export function syndicateToField(target) {
176
171
  return `${SYNDICATE_TO_FRONT_MATTER_KEY}-${target.id}`;
@@ -243,9 +238,9 @@ export const POST_FIELDS = [
243
238
  citationField('bookmark-of', (bookmarkOf) => ({ bookmarkOf })),
244
239
  RSVP_FIELD,
245
240
  EVENT_FIELD,
241
+ REVIEW_FIELD,
246
242
  PREVIEW_FIELD,
247
243
  CITED_ALT_FIELD,
248
- READ_FIELD,
249
244
  SYNDICATE_TO_FIELD,
250
245
  PINNED_FIELD,
251
246
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"post-fields.js","sourceRoot":"","sources":["../../src/content/post-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEjF,OAAO,EACL,UAAU,EACV,YAAY,EACZ,0BAA0B,EAC1B,wBAAwB,EACxB,YAAY,GACb,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,4BAA4B,EAC5B,aAAa,EACb,MAAM,EACN,QAAQ,EACR,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AA4CzC,SAAS,WAAW,CAAC,KAA8B,EAAE,GAAW,EAAE,KAAc;IAC9E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;;QACtC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC1B,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAyB;IACvD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,eAAe,GAAc;IACjC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC5D,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7D,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QACjC,WAAW,CACT,KAAK,EACL,0BAA0B,EAC1B,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAClF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,WAAW,GAAc;IAC7B,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrD,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;IACtD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QACjC,WAAW,CACT,KAAK,EACL,sBAAsB,EACtB,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CACvE,CAAC;IACJ,CAAC;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE;QACjC,WAAW,EAAE,CAAC,OAAO,CAAC;QACtB,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACjD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;oBAC1B,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC3B,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;gBAC9B,CAAC;gBACD,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC3D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,OAAO,CAAC,MAAM,CACZ,2EAA2E,CAC5E,CAAC;oBACF,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;gBAC9B,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;SACH,CAAC;QACF,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/E,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACtD,CAAC;KACF;CACF,CAAC;AAEF,SAAS,aAAa,CACpB,QAA0B,EAC1B,KAA6C;IAE7C,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO;QACL,6DAA6D;QAC7D,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxD,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACrB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;YACjC,WAAW,EAAE,CAAC,QAAQ,CAAC;YACvB,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClD,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;SAC/E;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAc;IAC5B,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC;IACpF,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAAE,CAAC;IAC1E,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,WAAW,CAAC,KAAK,EAAE,qBAAqB,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;QAC9B,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACrE;CACF,CAAC;AAEF,MAAM,WAAW,GAAc;IAC7B,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;IAC9E,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1D,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,OAAO;QACxE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACzE,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE;QAChD,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;YAClB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG;oBACZ,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC5B,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;oBACxB,QAAQ,EAAE,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC;iBAC7E,CAAC;gBACF,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE;oBAAE,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBACpE,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,CAAC;YACD,MAAM,SAAS,GAAI,CAAC,OAAO,EAAE,KAAK,CAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAClF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;YAC1F,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CACzB,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAClF,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CACtC,CACF;KACJ;CACF,CAAC;AAEF,SAAS,YAAY,CAAC,KAA4B,EAAE,QAA8B;IAChF,OAAO,KAAK,KAAK,SAAS,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,aAAa,GAAc;IAC/B,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IACtE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK,SAAS,EAAE,CAAC;IACtF,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,WAAW,CAAC,KAAK,EAAE,wBAAwB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;CACF,CAAC;AAEF,MAAM,eAAe,GAAc;IACjC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC;IAC7F,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,EAAE,0BAA0B,CAAC,EAAE,CAAC;IACnF,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,WAAW,CACT,KAAK,EACL,0BAA0B,EAC1B,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CACjD,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,GAAc;IAC5B,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnB,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACvE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;KACvE,CAAC;IACF,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpB,UAAU,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;QAClD,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC;KAClC,CAAC;IACF,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;QAC3C,WAAW,CAAC,KAAK,EAAE,wBAAwB,EAAE,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACnF,WAAW,CAAC,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC,YAAY,CAAC,EAAE;QACpE,WAAW,EAAE,CAAC,SAAS,CAAC;QACxB,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;YAClB,MAAM,UAAU,GAAG,kBAAkB,CACnC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EACzB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,OAAO,CAChB,CAAC;YACF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/C,IAAI,UAAU,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,MAAM,CAAC,kBAAkB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,UAAU,GAAG,CAAC,CAAC;YACnF,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;QAC5C,CAAC;QACD,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO,IAAI,KAAK,SAAS;gBACvB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAChF,CAAC;KACF;CACF,CAAC;AAEF,+DAA+D;AAC/D,MAAM,UAAU,gBAAgB,CAAC,MAAyB;IACxD,OAAO,GAAG,6BAA6B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,kBAAkB,GAAc;IACpC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IACpE,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9B,WAAW,EAAE,QAAQ;aAClB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,SAAS,CAAC;aAChE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;KAC9B,CAAC;IACF,2EAA2E;IAC3E,yEAAyE;IACzE,8CAA8C;IAC9C,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACnC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,2EAA2E;QAC3E,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5D,WAAW,CAAC,KAAK,EAAE,6BAA6B,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9F,CAAC;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,EAAE,iBAAiB,EAAE,CAAC,aAAa,CAAC,EAAE;QAClD,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5D,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAChF,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QACtE,CAAC;KACF;CACF,CAAC;AAEF;;;;GAIG;AACH,SAAS,WAAW,CAAC,OAAwB;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAAC;QAC7E,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,+CAA+C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,YAAY,GAAc;IAC9B,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;IAClE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,uBAAuB,CAAC,KAAK,SAAS,EAAE,CAAC;IAC9E,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC,uBAAuB,CAAC,CAAC;aACnD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;YACpE,KAAK,CAAC,uBAAuB,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAyB;IAC/C,eAAe;IACf,WAAW;IACX,aAAa,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxD,aAAa,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAClD,aAAa,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9D,UAAU;IACV,WAAW;IACX,aAAa;IACb,eAAe;IACf,UAAU;IACV,kBAAkB;IAClB,YAAY;CACb,CAAC"}
1
+ {"version":3,"file":"post-fields.js","sourceRoot":"","sources":["../../src/content/post-fields.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ import type { Document } from './document.ts';
21
21
  * types as something else keeps that type, and a bookmark claims only what
22
22
  * the spec would have called a note or an article.
23
23
  */
24
- export type PostType = 'event' | 'rsvp' | 'repost' | 'like' | 'reply' | 'photo' | 'read' | 'bookmark' | 'note' | 'article';
24
+ export type PostType = 'event' | 'rsvp' | 'repost' | 'like' | 'reply' | 'review' | 'photo' | 'bookmark' | 'note' | 'article';
25
25
  /** The mf2 properties the algorithm reads, each as its plain-text value. */
26
26
  export interface PostProperties {
27
27
  name?: string | undefined;
@@ -35,8 +35,7 @@ export interface PostProperties {
35
35
  'repost-of'?: string | undefined;
36
36
  'like-of'?: string | undefined;
37
37
  'bookmark-of'?: string | undefined;
38
- 'read-of'?: string | undefined;
39
- 'read-status'?: string | undefined;
38
+ item?: string | undefined;
40
39
  }
41
40
  /** The type of a post with these properties. */
42
41
  export declare function discoverPostType(properties: PostProperties): PostType;
@@ -1 +1 @@
1
- {"version":3,"file":"post-type.d.ts","sourceRoot":"","sources":["../../src/content/post-type.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAO9C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,MAAM,GACN,QAAQ,GACR,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,UAAU,GACV,MAAM,GACN,SAAS,CAAC;AAEd,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,4BAA4B;IAC5B,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,QAAQ,CAYrE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,QAAQ,CAE3D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,aAAa,CAAC,GAAG,OAAO,CAG9F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,MAAM,GAAG,SAAS,CAErF;AAED,yDAAyD;AACzD,KAAK,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC;AA4B7F;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,MAAM,CAQjF"}
1
+ {"version":3,"file":"post-type.d.ts","sourceRoot":"","sources":["../../src/content/post-type.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAO9C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,MAAM,GACN,QAAQ,GACR,MAAM,GACN,OAAO,GACP,QAAQ,GACR,OAAO,GACP,UAAU,GACV,MAAM,GACN,SAAS,CAAC;AAEd,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,4BAA4B;IAC5B,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,QAAQ,CAUrE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,QAAQ,CAE3D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,aAAa,CAAC,GAAG,OAAO,CAG9F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,MAAM,GAAG,SAAS,CAErF;AAED,yDAAyD;AACzD,KAAK,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC;AA0B7F;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,MAAM,CAOjF"}
@@ -1,7 +1,7 @@
1
1
  import { CITATION_VERBS, citationOf, citationsOf, citedPageName } from './citation.js';
2
2
  import { eventOf, instantOf } from './event.js';
3
3
  import { photosOf } from './photo.js';
4
- import { isReadStatus, readLine, readOf } from './read.js';
4
+ import { reviewOf } from './review.js';
5
5
  import { RSVP_PHRASES, rsvpOf, rsvpValue } from './rsvp.js';
6
6
  import { htmlToText } from './search.js';
7
7
  /** The type of a post with these properties. */
@@ -16,11 +16,10 @@ export function discoverPostType(properties) {
16
16
  return 'like';
17
17
  if (validUrl(properties['in-reply-to']) !== undefined)
18
18
  return 'reply';
19
+ if ((properties.item ?? '') !== '')
20
+ return 'review';
19
21
  if ((properties.photo ?? []).length > 0)
20
22
  return 'photo';
21
- if ((properties['read-of'] ?? '') !== '' && isReadStatus(properties['read-status'])) {
22
- return 'read';
23
- }
24
23
  if (validUrl(properties['bookmark-of']) !== undefined)
25
24
  return 'bookmark';
26
25
  return isNamedPost(properties) ? 'article' : 'note';
@@ -44,7 +43,6 @@ export function replyTarget(document) {
44
43
  return validUrl(document.inReplyTo);
45
44
  }
46
45
  function propertiesOf(document) {
47
- const read = readOf(document.extra);
48
46
  return {
49
47
  name: document.title,
50
48
  content: htmlToText(document.html),
@@ -52,6 +50,7 @@ function propertiesOf(document) {
52
50
  'in-reply-to': document.inReplyTo,
53
51
  start: eventOf(document.extra)?.start,
54
52
  rsvp: rsvpOf(document.extra),
53
+ item: reviewOf(document.extra)?.item.name,
55
54
  // Only addresses {@link photosOf} accepts, the spec's "valid URL" for a
56
55
  // file whose uploads are site-relative.
57
56
  photo: photosOf(document.extra).map((photo) => photo.url),
@@ -59,8 +58,6 @@ function propertiesOf(document) {
59
58
  property,
60
59
  url,
61
60
  ])),
62
- 'read-of': read?.of.name,
63
- 'read-status': read?.status,
64
61
  };
65
62
  }
66
63
  /** How many words of an untitled post's text {@link postLabel} keeps. */
@@ -72,8 +69,7 @@ const LABEL_WORDS = 10;
72
69
  export function postLabel(document, cited) {
73
70
  if (document.title !== '')
74
71
  return document.title;
75
- const html = readLine(readOf(document.extra)) + document.html;
76
- const text = normalize(htmlToText(html)) || normalize(document.description ?? '');
72
+ const text = normalize(htmlToText(document.html)) || normalize(document.description ?? '');
77
73
  if (text === '')
78
74
  return wordlessLabel(document, cited);
79
75
  return firstWords(text);
@@ -107,6 +103,9 @@ function wordlessLabel(document, cited) {
107
103
  if (url !== undefined)
108
104
  return citing(CITATION_VERBS[property], url);
109
105
  }
106
+ const review = reviewOf(document.extra);
107
+ if (review !== undefined)
108
+ return `Review of ${review.item.name}`;
110
109
  return 'Untitled';
111
110
  }
112
111
  function isNamedPost(properties) {
@@ -1 +1 @@
1
- {"version":3,"file":"post-type.js","sourceRoot":"","sources":["../../src/content/post-type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post-type.js","sourceRoot":"","sources":["../../src/content/post-type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { FieldError } from './form-error.ts';
2
+ import type { Review } from './review.ts';
3
+ export interface ReviewForm {
4
+ kind: string;
5
+ name: string;
6
+ by: string;
7
+ year: string;
8
+ uid: string;
9
+ url: string;
10
+ photo: string;
11
+ photoAlt: string;
12
+ date: string;
13
+ season: string;
14
+ episode: string;
15
+ category: string;
16
+ streetAddress: string;
17
+ locality: string;
18
+ region: string;
19
+ countryName: string;
20
+ rating: string;
21
+ }
22
+ export declare const REVIEW_FIELDS: {
23
+ readonly kind: 'item-kind';
24
+ readonly name: 'item-name';
25
+ readonly by: 'item-by';
26
+ readonly year: 'item-year';
27
+ readonly uid: 'item-uid';
28
+ readonly url: 'item-url';
29
+ readonly photo: 'item-photo';
30
+ readonly photoAlt: 'item-photo-alt';
31
+ readonly date: 'item-date';
32
+ readonly season: 'item-season';
33
+ readonly episode: 'item-episode';
34
+ readonly category: 'item-category';
35
+ readonly streetAddress: 'item-street-address';
36
+ readonly locality: 'item-locality';
37
+ readonly region: 'item-region';
38
+ readonly countryName: 'item-country-name';
39
+ readonly rating: 'rating';
40
+ };
41
+ export declare const BLANK_REVIEW_FORM: ReviewForm;
42
+ export declare function submittedReviewForm(body: Readonly<Record<string, unknown>>): ReviewForm;
43
+ export declare function reviewForm(extra: Readonly<Record<string, unknown>>, review: Review | undefined): ReviewForm;
44
+ export declare function resolveReview(form: ReviewForm, contentDir: string): {
45
+ review: Review | undefined;
46
+ } | FieldError;
47
+ export declare function reviewFromMicropub(items: readonly unknown[], ratings: readonly unknown[], refuse: (message: string) => void, baseUrl: string): ReviewForm;
48
+ export declare function reviewToMicropub(review: Review | undefined, baseUrl: string): Record<string, unknown[]>;
49
+ //# sourceMappingURL=review-form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-form.d.ts","sourceRoot":"","sources":["../../src/content/review-form.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAW/D,OAAO,KAAK,EAAE,MAAM,EAA4B,MAAM,aAAa,CAAC;AAEpE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,aAAa;mBAClB,WAAW;mBACX,WAAW;iBACb,SAAS;mBACP,WAAW;kBACZ,UAAU;kBACV,UAAU;oBACR,YAAY;uBACT,gBAAgB;mBACpB,WAAW;qBACT,aAAa;sBACZ,cAAc;uBACb,eAAe;4BACV,qBAAqB;uBAC1B,eAAe;qBACjB,aAAa;0BACR,mBAAmB;qBACxB,QAAQ;CACmC,CAAC;AAEtD,eAAO,MAAM,iBAAiB,EAAE,UAkB/B,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,UAAU,CAIvF;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,UAAU,CAiBZ;AAQD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,MAAM,GACjB;IAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,UAAU,CA+C7C;AAoFD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,OAAO,EAAE,EACzB,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACjC,OAAO,EAAE,MAAM,GACd,UAAU,CAuEZ;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAiB3B"}
@@ -0,0 +1,282 @@
1
+ import { trimmedField } from '../util/forms.js';
2
+ import { isRecord } from '../util/guards.js';
3
+ import { isUploadUrl, isWebUrl } from './enclosure.js';
4
+ import { isLibraryImage, photoRowFromMicropub, photoToMicropub } from './photo-form.js';
5
+ import { calendarDay, isReviewKind, ITEM_FRONT_MATTER_KEY, RATING_FRONT_MATTER_KEY, ratingValue, REVIEW_KIND_FIELDS, REVIEW_KINDS, } from './review.js';
6
+ export const REVIEW_FIELDS = {
7
+ kind: 'item-kind',
8
+ name: 'item-name',
9
+ by: 'item-by',
10
+ year: 'item-year',
11
+ uid: 'item-uid',
12
+ url: 'item-url',
13
+ photo: 'item-photo',
14
+ photoAlt: 'item-photo-alt',
15
+ date: 'item-date',
16
+ season: 'item-season',
17
+ episode: 'item-episode',
18
+ category: 'item-category',
19
+ streetAddress: 'item-street-address',
20
+ locality: 'item-locality',
21
+ region: 'item-region',
22
+ countryName: 'item-country-name',
23
+ rating: 'rating',
24
+ };
25
+ export const BLANK_REVIEW_FORM = {
26
+ kind: '',
27
+ name: '',
28
+ by: '',
29
+ year: '',
30
+ uid: '',
31
+ url: '',
32
+ photo: '',
33
+ photoAlt: '',
34
+ date: '',
35
+ season: '',
36
+ episode: '',
37
+ category: '',
38
+ streetAddress: '',
39
+ locality: '',
40
+ region: '',
41
+ countryName: '',
42
+ rating: '',
43
+ };
44
+ export function submittedReviewForm(body) {
45
+ return Object.fromEntries(Object.entries(REVIEW_FIELDS).map(([key, name]) => [key, trimmedField(body, name)]));
46
+ }
47
+ export function reviewForm(extra, review) {
48
+ if (review === undefined)
49
+ return BLANK_REVIEW_FORM;
50
+ const { item } = review;
51
+ const written = extra[ITEM_FRONT_MATTER_KEY];
52
+ const rating = extra[RATING_FRONT_MATTER_KEY];
53
+ return {
54
+ ...BLANK_REVIEW_FORM,
55
+ ...Object.fromEntries(Object.entries(item).flatMap(([key, value]) => typeof value === 'string' ? [[key, value]] : [])),
56
+ kind: typeof written['kind'] === 'string' ? written['kind'].trim() : item.kind,
57
+ photo: item.photo?.url ?? '',
58
+ photoAlt: item.photo?.alt ?? '',
59
+ rating: typeof rating === 'number' || typeof rating === 'string' ? String(rating).trim() : '',
60
+ };
61
+ }
62
+ function field(key) {
63
+ return `editor-${REVIEW_FIELDS[key]}`;
64
+ }
65
+ const WHOLE_NUMBER = /^\d+$/;
66
+ export function resolveReview(form, contentDir) {
67
+ if (Object.values(form).every((value) => value === ''))
68
+ return { review: undefined };
69
+ const kind = form.kind === '' ? 'other' : form.kind;
70
+ if (!isReviewKind(kind)) {
71
+ return {
72
+ error: `What a review is of is ${REVIEW_KINDS.join(', ')}, not ${kind}.`,
73
+ field: field('kind'),
74
+ };
75
+ }
76
+ if (form.name === '') {
77
+ return { error: 'A review needs the name of what it reviews.', field: field('name') };
78
+ }
79
+ const rating = ratingValue(form.rating);
80
+ if (form.rating !== '' && rating === undefined) {
81
+ return {
82
+ error: `Rating is a whole number from 1 to 5, not ${form.rating}.`,
83
+ field: field('rating'),
84
+ };
85
+ }
86
+ const has = (key) => REVIEW_KIND_FIELDS[kind].includes(key);
87
+ const given = (key) => (has(key) ? form[key] : '');
88
+ const refusal = refusedItemField(kind, form, given, contentDir);
89
+ if (refusal !== undefined)
90
+ return refusal;
91
+ const word = (key) => given(key) === '' ? {} : { [key]: given(key) };
92
+ const photo = has('photo') ? form.photo : '';
93
+ const item = {
94
+ kind,
95
+ name: form.name,
96
+ ...word('by'),
97
+ ...word('year'),
98
+ ...word('uid'),
99
+ ...word('url'),
100
+ ...(photo === ''
101
+ ? {}
102
+ : { photo: form.photoAlt === '' ? { url: photo } : { url: photo, alt: form.photoAlt } }),
103
+ ...word('date'),
104
+ ...word('season'),
105
+ ...word('episode'),
106
+ ...word('category'),
107
+ ...word('streetAddress'),
108
+ ...word('locality'),
109
+ ...word('region'),
110
+ ...word('countryName'),
111
+ };
112
+ return { review: rating === undefined ? { item } : { item, rating } };
113
+ }
114
+ function refusedItemField(kind, form, given, contentDir) {
115
+ const uid = given('uid');
116
+ if (uid !== '' && !isItemId(uid)) {
117
+ return {
118
+ error: `An ID is the item’s web address, or isbn:… or doi:…, not ${uid}.`,
119
+ field: field('uid'),
120
+ };
121
+ }
122
+ const url = given('url');
123
+ if (url !== '' && !isWebUrl(url)) {
124
+ const noun = kind === 'place' ? 'A website' : 'An address';
125
+ return {
126
+ error: `${noun} has to be a web address, like https://example.com/.`,
127
+ field: field('url'),
128
+ };
129
+ }
130
+ const photo = REVIEW_KIND_FIELDS[kind].includes('photo') ? form.photo : '';
131
+ if (isUploadUrl(photo)) {
132
+ if (!isLibraryImage(photo, contentDir)) {
133
+ return {
134
+ error: `The picture ${photo} is not an image in the media library.`,
135
+ field: field('photo'),
136
+ };
137
+ }
138
+ }
139
+ else if (photo !== '' && !isWebUrl(photo)) {
140
+ return {
141
+ error: `A picture is an image in the media library or a web address, not ${photo}.`,
142
+ field: field('photo'),
143
+ };
144
+ }
145
+ const year = given('year');
146
+ if (year !== '' && !/^\d{1,4}$/.test(year)) {
147
+ return { error: `Year is a year, like 2024, not ${year}.`, field: field('year') };
148
+ }
149
+ const date = given('date');
150
+ if (date !== '' && calendarDay(date) === undefined) {
151
+ return {
152
+ error: `The date has to be a day, like 2026-10-18, not ${date}.`,
153
+ field: field('date'),
154
+ };
155
+ }
156
+ for (const key of ['season', 'episode']) {
157
+ const value = given(key);
158
+ if (value !== '' && !WHOLE_NUMBER.test(value)) {
159
+ const label = key === 'season' ? 'Season' : 'Episode';
160
+ return { error: `${label} is a whole number, not ${value}.`, field: field(key) };
161
+ }
162
+ }
163
+ return undefined;
164
+ }
165
+ function isItemId(value) {
166
+ return isWebUrl(value) || /^(isbn|doi):\S+$/i.test(value);
167
+ }
168
+ const MICROPUB_ITEM_PROPERTIES = {
169
+ kind: 'kind',
170
+ name: 'name',
171
+ by: 'author',
172
+ year: 'published',
173
+ uid: 'uid',
174
+ url: 'url',
175
+ date: 'date',
176
+ season: 'season',
177
+ episode: 'episode',
178
+ category: 'category',
179
+ streetAddress: 'street-address',
180
+ locality: 'locality',
181
+ region: 'region',
182
+ countryName: 'country-name',
183
+ };
184
+ const ITEM_TYPES = ['h-cite', 'h-card', 'h-product', 'h-item', 'h-adr'];
185
+ const ITEM_REFUSAL = 'item is one h-cite, h-card, h-product or h-item, { "type": ["h-cite"], "properties": { "name": ["…"] } }, or its name.';
186
+ export function reviewFromMicropub(items, ratings, refuse, baseUrl) {
187
+ if (items.length > 1)
188
+ refuse('item takes one value.');
189
+ if (ratings.length > 1)
190
+ refuse('rating takes one value.');
191
+ const [given] = ratings;
192
+ const rating = given === undefined
193
+ ? ''
194
+ : typeof given === 'number'
195
+ ? String(given)
196
+ : typeof given === 'string'
197
+ ? given.trim()
198
+ : '';
199
+ if (given !== undefined && ratingValue(rating) === undefined) {
200
+ refuse(`rating is a whole number from 1 to 5, not ${typeof given === 'string' || typeof given === 'number' ? String(given) : JSON.stringify(given)}.`);
201
+ }
202
+ const [value] = items;
203
+ if (value === undefined) {
204
+ if (given !== undefined)
205
+ refuse('rating belongs to a review; send the item it rates.');
206
+ return BLANK_REVIEW_FORM;
207
+ }
208
+ if (typeof value === 'string') {
209
+ if (value.trim() === '')
210
+ refuse(ITEM_REFUSAL);
211
+ return { ...BLANK_REVIEW_FORM, kind: 'other', name: value.trim(), rating };
212
+ }
213
+ const { type, properties } = isRecord(value) ? value : {};
214
+ if (!Array.isArray(type) ||
215
+ !type.some((name) => ITEM_TYPES.includes(name)) ||
216
+ !isRecord(properties)) {
217
+ refuse(ITEM_REFUSAL);
218
+ return BLANK_REVIEW_FORM;
219
+ }
220
+ const known = new Set([...Object.values(MICROPUB_ITEM_PROPERTIES), 'photo']);
221
+ const unknown = Object.keys(properties).filter((name) => !known.has(name));
222
+ if (unknown.length > 0)
223
+ refuse(`item does not understand ${unknown.join(', ')}.`);
224
+ const text = (name) => {
225
+ const values = properties[name] ?? [];
226
+ if (!Array.isArray(values) || values.length > 1) {
227
+ refuse(`item ${name} takes one text value.`);
228
+ return '';
229
+ }
230
+ const first = values[0];
231
+ if (first === undefined)
232
+ return '';
233
+ if (typeof first !== 'string' && typeof first !== 'number') {
234
+ refuse(`item ${name} takes one text value.`);
235
+ return '';
236
+ }
237
+ return String(first).trim();
238
+ };
239
+ const form = { ...BLANK_REVIEW_FORM, rating };
240
+ for (const [key, name] of Object.entries(MICROPUB_ITEM_PROPERTIES)) {
241
+ form[key] = text(name);
242
+ }
243
+ if (form.kind === '') {
244
+ form.kind = type.some((name) => name === 'h-card' || name === 'h-adr') ? 'place' : 'other';
245
+ }
246
+ if (form.name === '')
247
+ refuse('An item needs a name.');
248
+ const photos = properties['photo'] ?? [];
249
+ if (!Array.isArray(photos) || photos.length > 1)
250
+ refuse('item photo takes one value.');
251
+ else if (photos.length === 1) {
252
+ const row = photoRowFromMicropub(photos[0], baseUrl);
253
+ if (row === undefined)
254
+ refuse('item photo is a web address or { "value": "…", "alt": "…" }.');
255
+ else {
256
+ form.photo = row.url;
257
+ form.photoAlt = row.alt;
258
+ }
259
+ }
260
+ return form;
261
+ }
262
+ export function reviewToMicropub(review, baseUrl) {
263
+ if (review === undefined)
264
+ return {};
265
+ const { item, rating } = review;
266
+ const properties = {};
267
+ for (const [key, name] of Object.entries(MICROPUB_ITEM_PROPERTIES)) {
268
+ const value = item[key];
269
+ if (value !== undefined)
270
+ properties[name] = [value];
271
+ }
272
+ if (item.photo !== undefined) {
273
+ properties['photo'] = [
274
+ photoToMicropub({ url: item.photo.url, alt: item.photo.alt ?? '' }, baseUrl),
275
+ ];
276
+ }
277
+ return {
278
+ item: [{ type: [item.kind === 'place' ? 'h-card' : 'h-cite'], properties }],
279
+ ...(rating === undefined ? {} : { rating: [String(rating)] }),
280
+ };
281
+ }
282
+ //# sourceMappingURL=review-form.js.map