@geekity/cms 0.12.0 → 0.14.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 (278) hide show
  1. package/README.md +188 -9
  2. package/admin/pages/account/login.njk +3 -0
  3. package/admin/pages/documents/editor.njk +20 -0
  4. package/admin/pages/indieauth/consent.njk +51 -0
  5. package/admin/pages/indieauth/refused.njk +11 -0
  6. package/admin/pages/settings/general.njk +12 -2
  7. package/admin/pages/settings/reading.njk +93 -0
  8. package/admin/pages/users/apps.njk +74 -0
  9. package/admin/pages/users/edit.njk +12 -0
  10. package/admin/static/admin.css +27 -0
  11. package/dist/admin/accounts.d.ts +3 -0
  12. package/dist/admin/accounts.d.ts.map +1 -1
  13. package/dist/admin/accounts.js +5 -0
  14. package/dist/admin/accounts.js.map +1 -1
  15. package/dist/admin/documents.d.ts +4 -0
  16. package/dist/admin/documents.d.ts.map +1 -1
  17. package/dist/admin/documents.js +45 -5
  18. package/dist/admin/documents.js.map +1 -1
  19. package/dist/admin/federation.js +2 -2
  20. package/dist/admin/federation.js.map +1 -1
  21. package/dist/admin/headers.d.ts +9 -2
  22. package/dist/admin/headers.d.ts.map +1 -1
  23. package/dist/admin/headers.js +16 -7
  24. package/dist/admin/headers.js.map +1 -1
  25. package/dist/admin/menu.d.ts.map +1 -1
  26. package/dist/admin/menu.js +2 -1
  27. package/dist/admin/menu.js.map +1 -1
  28. package/dist/admin/routes.d.ts.map +1 -1
  29. package/dist/admin/routes.js +48 -5
  30. package/dist/admin/routes.js.map +1 -1
  31. package/dist/admin/settings-general.d.ts.map +1 -1
  32. package/dist/admin/settings-general.js +28 -3
  33. package/dist/admin/settings-general.js.map +1 -1
  34. package/dist/admin/settings-reading.d.ts.map +1 -1
  35. package/dist/admin/settings-reading.js +15 -1
  36. package/dist/admin/settings-reading.js.map +1 -1
  37. package/dist/admin/settings.d.ts +83 -4
  38. package/dist/admin/settings.d.ts.map +1 -1
  39. package/dist/admin/settings.js +166 -4
  40. package/dist/admin/settings.js.map +1 -1
  41. package/dist/admin/templates.d.ts +3 -0
  42. package/dist/admin/templates.d.ts.map +1 -1
  43. package/dist/admin/templates.js +3 -0
  44. package/dist/admin/templates.js.map +1 -1
  45. package/dist/admin/users.d.ts +8 -0
  46. package/dist/admin/users.d.ts.map +1 -1
  47. package/dist/admin/users.js +9 -0
  48. package/dist/admin/users.js.map +1 -1
  49. package/dist/config.d.ts +34 -0
  50. package/dist/config.d.ts.map +1 -1
  51. package/dist/config.js +1 -0
  52. package/dist/config.js.map +1 -1
  53. package/dist/content/pinned.d.ts +26 -0
  54. package/dist/content/pinned.d.ts.map +1 -0
  55. package/dist/content/pinned.js +42 -0
  56. package/dist/content/pinned.js.map +1 -0
  57. package/dist/content/store.d.ts +7 -0
  58. package/dist/content/store.d.ts.map +1 -1
  59. package/dist/content/store.js +20 -0
  60. package/dist/content/store.js.map +1 -1
  61. package/dist/env.d.ts +21 -0
  62. package/dist/env.d.ts.map +1 -1
  63. package/dist/federation/actor.d.ts +15 -0
  64. package/dist/federation/actor.d.ts.map +1 -1
  65. package/dist/federation/actor.js +94 -3
  66. package/dist/federation/actor.js.map +1 -1
  67. package/dist/federation/article.d.ts +13 -1
  68. package/dist/federation/article.d.ts.map +1 -1
  69. package/dist/federation/article.js +45 -6
  70. package/dist/federation/article.js.map +1 -1
  71. package/dist/federation/delivery.d.ts.map +1 -1
  72. package/dist/federation/delivery.js +36 -4
  73. package/dist/federation/delivery.js.map +1 -1
  74. package/dist/federation/federation.d.ts.map +1 -1
  75. package/dist/federation/federation.js +24 -2
  76. package/dist/federation/federation.js.map +1 -1
  77. package/dist/federation/mount.js +2 -2
  78. package/dist/federation/mount.js.map +1 -1
  79. package/dist/federation/paths.d.ts +30 -0
  80. package/dist/federation/paths.d.ts.map +1 -1
  81. package/dist/federation/paths.js +36 -0
  82. package/dist/federation/paths.js.map +1 -1
  83. package/dist/images/icons.d.ts +44 -25
  84. package/dist/images/icons.d.ts.map +1 -1
  85. package/dist/images/icons.js +205 -60
  86. package/dist/images/icons.js.map +1 -1
  87. package/dist/images/index.d.ts +2 -2
  88. package/dist/images/index.d.ts.map +1 -1
  89. package/dist/images/index.js +1 -1
  90. package/dist/images/index.js.map +1 -1
  91. package/dist/images/markup.d.ts +14 -0
  92. package/dist/images/markup.d.ts.map +1 -1
  93. package/dist/images/markup.js +16 -11
  94. package/dist/images/markup.js.map +1 -1
  95. package/dist/images/variants.d.ts +11 -0
  96. package/dist/images/variants.d.ts.map +1 -1
  97. package/dist/images/variants.js +24 -4
  98. package/dist/images/variants.js.map +1 -1
  99. package/dist/index.d.ts +15 -5
  100. package/dist/index.d.ts.map +1 -1
  101. package/dist/index.js +33 -2
  102. package/dist/index.js.map +1 -1
  103. package/dist/indexnow.d.ts +34 -0
  104. package/dist/indexnow.d.ts.map +1 -0
  105. package/dist/indexnow.js +141 -0
  106. package/dist/indexnow.js.map +1 -0
  107. package/dist/indieauth/bearer.d.ts +39 -0
  108. package/dist/indieauth/bearer.d.ts.map +1 -0
  109. package/dist/indieauth/bearer.js +63 -0
  110. package/dist/indieauth/bearer.js.map +1 -0
  111. package/dist/indieauth/client.d.ts +61 -0
  112. package/dist/indieauth/client.d.ts.map +1 -0
  113. package/dist/indieauth/client.js +139 -0
  114. package/dist/indieauth/client.js.map +1 -0
  115. package/dist/indieauth/connected-apps.d.ts +23 -0
  116. package/dist/indieauth/connected-apps.d.ts.map +1 -0
  117. package/dist/indieauth/connected-apps.js +73 -0
  118. package/dist/indieauth/connected-apps.js.map +1 -0
  119. package/dist/indieauth/consent.d.ts +28 -0
  120. package/dist/indieauth/consent.d.ts.map +1 -0
  121. package/dist/indieauth/consent.js +185 -0
  122. package/dist/indieauth/consent.js.map +1 -0
  123. package/dist/indieauth/discovery.d.ts +87 -0
  124. package/dist/indieauth/discovery.d.ts.map +1 -0
  125. package/dist/indieauth/discovery.js +127 -0
  126. package/dist/indieauth/discovery.js.map +1 -0
  127. package/dist/indieauth/grants.d.ts +57 -0
  128. package/dist/indieauth/grants.d.ts.map +1 -0
  129. package/dist/indieauth/grants.js +35 -0
  130. package/dist/indieauth/grants.js.map +1 -0
  131. package/dist/indieauth/identity.d.ts +36 -0
  132. package/dist/indieauth/identity.d.ts.map +1 -0
  133. package/dist/indieauth/identity.js +77 -0
  134. package/dist/indieauth/identity.js.map +1 -0
  135. package/dist/indieauth/redeem.d.ts +47 -0
  136. package/dist/indieauth/redeem.d.ts.map +1 -0
  137. package/dist/indieauth/redeem.js +69 -0
  138. package/dist/indieauth/redeem.js.map +1 -0
  139. package/dist/indieauth/request.d.ts +47 -0
  140. package/dist/indieauth/request.d.ts.map +1 -0
  141. package/dist/indieauth/request.js +104 -0
  142. package/dist/indieauth/request.js.map +1 -0
  143. package/dist/indieauth/token.d.ts +19 -0
  144. package/dist/indieauth/token.d.ts.map +1 -0
  145. package/dist/indieauth/token.js +110 -0
  146. package/dist/indieauth/token.js.map +1 -0
  147. package/dist/indieauth/tokens.d.ts +131 -0
  148. package/dist/indieauth/tokens.d.ts.map +1 -0
  149. package/dist/indieauth/tokens.js +205 -0
  150. package/dist/indieauth/tokens.js.map +1 -0
  151. package/dist/web/admin-bar.d.ts +3 -1
  152. package/dist/web/admin-bar.d.ts.map +1 -1
  153. package/dist/web/admin-bar.js +5 -1
  154. package/dist/web/admin-bar.js.map +1 -1
  155. package/dist/web/archive.d.ts +1 -1
  156. package/dist/web/archive.d.ts.map +1 -1
  157. package/dist/web/archive.js +3 -2
  158. package/dist/web/archive.js.map +1 -1
  159. package/dist/web/authors.d.ts +19 -0
  160. package/dist/web/authors.d.ts.map +1 -1
  161. package/dist/web/authors.js +25 -0
  162. package/dist/web/authors.js.map +1 -1
  163. package/dist/web/context.d.ts +25 -0
  164. package/dist/web/context.d.ts.map +1 -1
  165. package/dist/web/context.js +18 -0
  166. package/dist/web/context.js.map +1 -1
  167. package/dist/web/feed-atom.d.ts.map +1 -1
  168. package/dist/web/feed-atom.js +5 -2
  169. package/dist/web/feed-atom.js.map +1 -1
  170. package/dist/web/feed-item.d.ts +24 -6
  171. package/dist/web/feed-item.d.ts.map +1 -1
  172. package/dist/web/feed-item.js +16 -8
  173. package/dist/web/feed-item.js.map +1 -1
  174. package/dist/web/feed-json.d.ts +6 -2
  175. package/dist/web/feed-json.d.ts.map +1 -1
  176. package/dist/web/feed-json.js +6 -2
  177. package/dist/web/feed-json.js.map +1 -1
  178. package/dist/web/feed-rss.d.ts.map +1 -1
  179. package/dist/web/feed-rss.js +17 -4
  180. package/dist/web/feed-rss.js.map +1 -1
  181. package/dist/web/feed-source.d.ts +31 -0
  182. package/dist/web/feed-source.d.ts.map +1 -1
  183. package/dist/web/feed-source.js +31 -0
  184. package/dist/web/feed-source.js.map +1 -1
  185. package/dist/web/feed-xml.d.ts +2 -0
  186. package/dist/web/feed-xml.d.ts.map +1 -1
  187. package/dist/web/feed-xml.js +2 -0
  188. package/dist/web/feed-xml.js.map +1 -1
  189. package/dist/web/feeds.d.ts.map +1 -1
  190. package/dist/web/feeds.js +15 -3
  191. package/dist/web/feeds.js.map +1 -1
  192. package/dist/web/index.d.ts +4 -2
  193. package/dist/web/index.d.ts.map +1 -1
  194. package/dist/web/index.js +3 -2
  195. package/dist/web/index.js.map +1 -1
  196. package/dist/web/indexnow.d.ts +9 -0
  197. package/dist/web/indexnow.d.ts.map +1 -0
  198. package/dist/web/indexnow.js +27 -0
  199. package/dist/web/indexnow.js.map +1 -0
  200. package/dist/web/llms.d.ts +58 -0
  201. package/dist/web/llms.d.ts.map +1 -0
  202. package/dist/web/llms.js +91 -0
  203. package/dist/web/llms.js.map +1 -0
  204. package/dist/web/locale.d.ts +41 -0
  205. package/dist/web/locale.d.ts.map +1 -0
  206. package/dist/web/locale.js +56 -0
  207. package/dist/web/locale.js.map +1 -0
  208. package/dist/web/manifest.d.ts +50 -0
  209. package/dist/web/manifest.d.ts.map +1 -0
  210. package/dist/web/manifest.js +56 -0
  211. package/dist/web/manifest.js.map +1 -0
  212. package/dist/web/negotiate.d.ts.map +1 -1
  213. package/dist/web/negotiate.js +6 -0
  214. package/dist/web/negotiate.js.map +1 -1
  215. package/dist/web/oembed.d.ts +104 -0
  216. package/dist/web/oembed.d.ts.map +1 -0
  217. package/dist/web/oembed.js +290 -0
  218. package/dist/web/oembed.js.map +1 -0
  219. package/dist/web/opensearch.d.ts +35 -0
  220. package/dist/web/opensearch.d.ts.map +1 -0
  221. package/dist/web/opensearch.js +65 -0
  222. package/dist/web/opensearch.js.map +1 -0
  223. package/dist/web/render.d.ts +6 -1
  224. package/dist/web/render.d.ts.map +1 -1
  225. package/dist/web/render.js +40 -10
  226. package/dist/web/render.js.map +1 -1
  227. package/dist/web/robots.d.ts +89 -0
  228. package/dist/web/robots.d.ts.map +1 -0
  229. package/dist/web/robots.js +259 -0
  230. package/dist/web/robots.js.map +1 -0
  231. package/dist/web/routes.d.ts.map +1 -1
  232. package/dist/web/routes.js +179 -8
  233. package/dist/web/routes.js.map +1 -1
  234. package/dist/web/share-image.d.ts +51 -0
  235. package/dist/web/share-image.d.ts.map +1 -0
  236. package/dist/web/share-image.js +43 -0
  237. package/dist/web/share-image.js.map +1 -0
  238. package/dist/web/sitemap.d.ts +0 -26
  239. package/dist/web/sitemap.d.ts.map +1 -1
  240. package/dist/web/sitemap.js +0 -44
  241. package/dist/web/sitemap.js.map +1 -1
  242. package/dist/web/templates.d.ts +16 -9
  243. package/dist/web/templates.d.ts.map +1 -1
  244. package/dist/web/templates.js +88 -55
  245. package/dist/web/templates.js.map +1 -1
  246. package/dist/web/themes.d.ts +33 -0
  247. package/dist/web/themes.d.ts.map +1 -1
  248. package/dist/web/themes.js +57 -0
  249. package/dist/web/themes.js.map +1 -1
  250. package/dist/webmention/discovery.d.ts +4 -2
  251. package/dist/webmention/discovery.d.ts.map +1 -1
  252. package/dist/webmention/discovery.js +14 -8
  253. package/dist/webmention/discovery.js.map +1 -1
  254. package/dist/webmention/fetch-public.d.ts +2 -0
  255. package/dist/webmention/fetch-public.d.ts.map +1 -1
  256. package/dist/webmention/fetch-public.js +1 -1
  257. package/dist/webmention/fetch-public.js.map +1 -1
  258. package/package.json +2 -1
  259. package/templates/site/content/_data/site.json +0 -1
  260. package/themes/default/README.md +174 -43
  261. package/themes/default/layouts/base.njk +116 -17
  262. package/themes/default/layouts/front-page.njk +7 -1
  263. package/themes/default/layouts/home.njk +11 -0
  264. package/themes/default/layouts/page.njk +4 -3
  265. package/themes/default/layouts/post.njk +5 -4
  266. package/themes/default/layouts/search.njk +4 -5
  267. package/themes/default/partials/archive.njk +3 -1
  268. package/themes/default/partials/bio.njk +16 -2
  269. package/themes/default/partials/breadcrumbs.njk +20 -0
  270. package/themes/default/partials/conversation.njk +4 -1
  271. package/themes/default/partials/jsonld.njk +49 -9
  272. package/themes/default/partials/kicker.njk +6 -4
  273. package/themes/default/partials/lang.njk +7 -0
  274. package/themes/default/partials/post-list.njk +5 -3
  275. package/themes/default/partials/reply-context.njk +4 -2
  276. package/themes/default/src/style.css +14 -0
  277. package/themes/default/static/style.css +57 -0
  278. package/themes/default/theme.json +2 -0
@@ -1,3 +1,4 @@
1
+ import type { User } from '../admin/accounts.ts';
1
2
  import type { Document } from '../content/document.ts';
2
3
  import type { SiteData } from './context.ts';
3
4
  /**
@@ -45,13 +46,17 @@ export interface FeedItem {
45
46
  published?: Date | undefined;
46
47
  /** When it last changed: its `updated`, else its date. */
47
48
  updated?: Date | undefined;
48
- /** The post's own author, when it names one. Atom and JSON Feed print this. */
49
+ /**
50
+ * The post's own author as a name to print, when it names one. Atom and
51
+ * JSON Feed print this.
52
+ */
49
53
  author?: string | undefined;
50
54
  /**
51
- * Who a feed credits: the post's own author, else the site's. RSS's
52
- * `dc:creator` prints it, because an RSS item has nowhere else to say it.
55
+ * Who a feed credits: the post's own author, else the site's, else the site
56
+ * title. RSS's `dc:creator` prints it, because an RSS item has nowhere else
57
+ * to say it.
53
58
  */
54
- creator?: string | undefined;
59
+ creator: string;
55
60
  /**
56
61
  * What the post is filed under and tagged with, categories first and each in
57
62
  * file order, as one list.
@@ -88,6 +93,14 @@ export interface FeedItem {
88
93
  * has nowhere to put it.
89
94
  */
90
95
  inReplyTo?: string | undefined;
96
+ /**
97
+ * The language the post is written in, when its front matter names one that
98
+ * is not the feed's own (TASK-154). A post in the feed's language says
99
+ * nothing, since every format already declares that once for the whole
100
+ * feed. RSS writes it as `dc:language`, Atom as `xml:lang` on the entry and
101
+ * JSON Feed as the item's `language`.
102
+ */
103
+ language?: string | undefined;
91
104
  }
92
105
  /**
93
106
  * Which revision of the item's serialisation a feed's validator is keyed by.
@@ -97,7 +110,10 @@ export interface FeedItem {
97
110
  * are not in that hash, so a release that changes them — revision 2 changed
98
111
  * every RSS `guid`, the other formats' ids, their terms and their summaries,
99
112
  * revision 3 dropped the title of a post whose title only repeats its opening
100
- * words, and revision 4 named a reply's target in Atom and JSON Feed — would
113
+ * words, and revision 4 named a reply's target in Atom and JSON Feed, and
114
+ * revision 5 named a post's own language in all three, and revision 6 printed
115
+ * a stored username as the user's display name and credited the site title
116
+ * where nobody was named — would
101
117
  * leave the validator where it was, and a reader polling with `If-None-Match`
102
118
  * would be handed a 304 that hides the new bytes.
103
119
  *
@@ -105,7 +121,7 @@ export interface FeedItem {
105
121
  * never again until the next such change. The comments feeds do not carry it:
106
122
  * a comment is not a {@link FeedItem} and its bytes are untouched.
107
123
  */
108
- export declare const FEED_ITEM_REVISION = 4;
124
+ export declare const FEED_ITEM_REVISION = 6;
109
125
  /** Where one item's comments are, counted. */
110
126
  export interface FeedItemComments {
111
127
  /** The page a person reads them on. */
@@ -119,6 +135,8 @@ export interface FeedItemComments {
119
135
  export interface FeedItemContext {
120
136
  /** Site-wide data, for the author a post does not name. */
121
137
  site: SiteData;
138
+ /** Everyone with an account, so a stored username prints as a display name. */
139
+ users: readonly User[];
122
140
  /** The site's public origin, for absolute ids and links. */
123
141
  baseUrl: string;
124
142
  /** How many replies each document has, by permalink. See {@link FeedItem.comments}. */
@@ -1 +1 @@
1
- {"version":3,"file":"feed-item.d.ts","sourceRoot":"","sources":["../../src/web/feed-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAK7C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;OAKG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC7B,0DAA0D;IAC1D,OAAO,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC3B,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;;;;;;;;OAUG;IACH,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACxC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,8CAA8C;AAC9C,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,+DAA+D;AAC/D,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,IAAI,EAAE,QAAQ,CAAC;IACf,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CACzD;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,GAAG,QAAQ,CAyC/E;AAED,mEAAmE;AACnE,wBAAgB,SAAS,CACvB,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,OAAO,EAAE,eAAe,GACvB,SAAS,QAAQ,EAAE,CAErB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAGtD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAapD"}
1
+ {"version":3,"file":"feed-item.d.ts","sourceRoot":"","sources":["../../src/web/feed-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAM7C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;OAKG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC7B,0DAA0D;IAC1D,OAAO,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC3B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;OAUG;IACH,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACxC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,8CAA8C;AAC9C,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,+DAA+D;AAC/D,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,IAAI,EAAE,QAAQ,CAAC;IACf,+EAA+E;IAC/E,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IACvB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CACzD;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,GAAG,QAAQ,CA6C/E;AAED,mEAAmE;AACnE,wBAAgB,SAAS,CACvB,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,OAAO,EAAE,eAAe,GACvB,SAAS,QAAQ,EAAE,CAErB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAGtD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAapD"}
@@ -1,6 +1,8 @@
1
1
  import { isNamed, replyTarget } from '../content/post-type.js';
2
+ import { authorName, siteAuthorName } from './authors.js';
2
3
  import { activityStreamsId } from './documents.js';
3
- import { feedPathUnder } from './feed-source.js';
4
+ import { feedLanguage, feedPathUnder } from './feed-source.js';
5
+ import { canonicalLocale, documentLanguage } from './locale.js';
4
6
  import { absoluteUrl, lastModifiedOf } from './negotiate.js';
5
7
  /**
6
8
  * Which revision of the item's serialisation a feed's validator is keyed by.
@@ -10,7 +12,10 @@ import { absoluteUrl, lastModifiedOf } from './negotiate.js';
10
12
  * are not in that hash, so a release that changes them — revision 2 changed
11
13
  * every RSS `guid`, the other formats' ids, their terms and their summaries,
12
14
  * revision 3 dropped the title of a post whose title only repeats its opening
13
- * words, and revision 4 named a reply's target in Atom and JSON Feed — would
15
+ * words, and revision 4 named a reply's target in Atom and JSON Feed, and
16
+ * revision 5 named a post's own language in all three, and revision 6 printed
17
+ * a stored username as the user's display name and credited the site title
18
+ * where nobody was named — would
14
19
  * leave the validator where it was, and a reader polling with `If-None-Match`
15
20
  * would be handed a 304 that hides the new bytes.
16
21
  *
@@ -18,7 +23,7 @@ import { absoluteUrl, lastModifiedOf } from './negotiate.js';
18
23
  * never again until the next such change. The comments feeds do not carry it:
19
24
  * a comment is not a {@link FeedItem} and its bytes are untouched.
20
25
  */
21
- export const FEED_ITEM_REVISION = 4;
26
+ export const FEED_ITEM_REVISION = 6;
22
27
  /**
23
28
  * One document as the item every format renders.
24
29
  *
@@ -30,6 +35,7 @@ export function feedItem(document, context) {
30
35
  const { baseUrl } = context;
31
36
  const link = absoluteUrl(document.permalink, baseUrl);
32
37
  const published = document.date === undefined ? undefined : new Date(document.date);
38
+ const author = authorName(context.users, document.author);
33
39
  const item = {
34
40
  // A page or a draft has no ActivityStreams id to advertise, and falls back
35
41
  // to its address. A feed only ever carries published posts, so in practice
@@ -40,6 +46,7 @@ export function feedItem(document, context) {
40
46
  summary: feedExcerpt(document),
41
47
  html: document.html,
42
48
  markdown: document.body,
49
+ creator: author ?? siteAuthorName(context.users, context.site),
43
50
  };
44
51
  if (isNamed(document))
45
52
  item.title = document.title;
@@ -48,14 +55,15 @@ export function feedItem(document, context) {
48
55
  const updated = lastModifiedOf(document);
49
56
  if (updated !== undefined)
50
57
  item.updated = updated;
51
- if (document.author !== undefined)
52
- item.author = document.author;
58
+ if (author !== undefined)
59
+ item.author = author;
53
60
  const inReplyTo = replyTarget(document);
54
61
  if (inReplyTo !== undefined)
55
62
  item.inReplyTo = inReplyTo;
56
- const creator = document.author ?? context.site.author;
57
- if (creator !== undefined && creator !== '')
58
- item.creator = creator;
63
+ const language = documentLanguage(document);
64
+ if (language !== undefined && language !== canonicalLocale(feedLanguage(context.site))) {
65
+ item.language = language;
66
+ }
59
67
  const counts = context.commentCounts;
60
68
  if (counts !== undefined) {
61
69
  item.comments = {
@@ -1 +1 @@
1
- {"version":3,"file":"feed-item.js","sourceRoot":"","sources":["../../src/web/feed-item.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feed-item.js","sourceRoot":"","sources":["../../src/web/feed-item.ts"],"names":[],"mappings":"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"}
@@ -24,8 +24,10 @@ export interface JsonFeed {
24
24
  feed_url: string;
25
25
  /** The site's tagline, when it has one. */
26
26
  description?: string;
27
- /** Site-level authors, when the site names one. */
28
- authors?: JsonFeedAuthor[];
27
+ /** Who the site credits: its author, else the site itself. */
28
+ authors: JsonFeedAuthor[];
29
+ /** The site's language, which an item in another one overrides. */
30
+ language: string;
29
31
  /**
30
32
  * Where a subscriber can be told the feed changed rather than polling it.
31
33
  * One entry, the site's notify server, when it names one.
@@ -71,6 +73,8 @@ export interface JsonFeedItem {
71
73
  tags?: string[];
72
74
  /** The post's own author, when it names one. */
73
75
  authors?: JsonFeedAuthor[];
76
+ /** The post's own language, when it is not the feed's (TASK-154). */
77
+ language?: string;
74
78
  /**
75
79
  * This CMS's extension object, which JSON Feed 1.1 allows under any key that
76
80
  * starts with an underscore, and which a reader that does not know it
@@ -1 +1 @@
1
- {"version":3,"file":"feed-json.d.ts","sourceRoot":"","sources":["../../src/web/feed-json.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD;;;;;;;GAOG;AAEH,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,qCAAqC,CAAC;AAEpE,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,gCAAgC;AAChC,MAAM,WAAW,QAAQ;IACvB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;IACrB,iCAAiC;IACjC,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,uCAAuC;AACvC,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gDAAgD;IAChD,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,4CAA4C;AAC5C,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAcrD;AAED,oCAAoC;AACpC,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,CAkBzD"}
1
+ {"version":3,"file":"feed-json.d.ts","sourceRoot":"","sources":["../../src/web/feed-json.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD;;;;;;;GAOG;AAEH,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,qCAAqC,CAAC;AAEpE,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,gCAAgC;AAChC,MAAM,WAAW,QAAQ;IACvB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;IACrB,iCAAiC;IACjC,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,uCAAuC;AACvC,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gDAAgD;IAChD,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,4CAA4C;AAC5C,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAerD;AAED,oCAAoC;AACpC,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,CAmBzD"}
@@ -1,5 +1,6 @@
1
+ import { siteAuthorName } from './authors.js';
1
2
  import { feedItems } from './feed-item.js';
2
- import { notifyServerOf } from './feed-source.js';
3
+ import { feedLanguage, notifyServerOf } from './feed-source.js';
3
4
  import { absoluteUrl } from './negotiate.js';
4
5
  /**
5
6
  * JSON Feed 1.1: the document, its items, and the vocabulary they are spelled
@@ -23,7 +24,8 @@ export function jsonFeed(source) {
23
24
  home_page_url: absoluteUrl(source.href, baseUrl),
24
25
  feed_url: absoluteUrl(source.feedHref, baseUrl),
25
26
  ...(site.tagline === undefined ? {} : { description: site.tagline }),
26
- ...(site.author === undefined ? {} : { authors: [{ name: site.author }] }),
27
+ authors: [{ name: siteAuthorName(source.users, site) }],
28
+ language: feedLanguage(site),
27
29
  ...(notify === undefined ? {} : { hubs: [{ type: JSON_FEED_HUB_TYPE, url: notify.hub }] }),
28
30
  items: feedItems(source.documents, source).map(jsonFeedItem),
29
31
  };
@@ -48,6 +50,8 @@ export function jsonFeedItem(item) {
48
50
  entry.tags = [...item.terms];
49
51
  if (item.author !== undefined)
50
52
  entry.authors = [{ name: item.author }];
53
+ if (item.language !== undefined)
54
+ entry.language = item.language;
51
55
  if (item.inReplyTo !== undefined)
52
56
  entry._geekity = { in_reply_to: item.inReplyTo };
53
57
  return entry;
@@ -1 +1 @@
1
- {"version":3,"file":"feed-json.js","sourceRoot":"","sources":["../../src/web/feed-json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feed-json.js","sourceRoot":"","sources":["../../src/web/feed-json.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"feed-rss.d.ts","sourceRoot":"","sources":["../../src/web/feed-rss.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAQ/C,OAAO,KAAK,EAAE,iBAAiB,EAAe,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAcnF;;;;;;;GAOG;AAEH,uCAAuC;AACvC,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAmClD;AA8CD;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAsBhD;AA2BD,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAgCjE"}
1
+ {"version":3,"file":"feed-rss.d.ts","sourceRoot":"","sources":["../../src/web/feed-rss.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAS/C,OAAO,KAAK,EAAE,iBAAiB,EAAe,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAenF;;;;;;;GAOG;AAEH,uCAAuC;AACvC,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAqClD;AAuDD;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAuBhD;AA2BD,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAkCjE"}
@@ -1,6 +1,6 @@
1
1
  import { excerptFromHtml, feedItems } from './feed-item.js';
2
- import { contentTypeOf, EMPTY_FEED_UPDATED, FEED_GENERATOR, feedLanguage, notifyServerOf, } from './feed-source.js';
3
- import { cdata, DC_NAMESPACE, element, escapeXml, optionalElement, rfc822, SOURCE_NAMESPACE, WFW_NAMESPACE, } from './feed-xml.js';
2
+ import { contentTypeOf, EMPTY_FEED_UPDATED, feedCadence, FEED_GENERATOR, feedLanguage, notifyServerOf, } from './feed-source.js';
3
+ import { cdata, DC_NAMESPACE, element, escapeXml, optionalElement, rfc822, SOURCE_NAMESPACE, SY_NAMESPACE, WFW_NAMESPACE, } from './feed-xml.js';
4
4
  import { absoluteUrl, latestModified } from './negotiate.js';
5
5
  import { sanitizeCommentHtml } from './sanitize.js';
6
6
  /**
@@ -23,6 +23,7 @@ export function rssFeed(source) {
23
23
  ' xmlns:content="http://purl.org/rss/1.0/modules/content/"',
24
24
  ` xmlns:dc="${DC_NAMESPACE}"`,
25
25
  ` xmlns:source="${SOURCE_NAMESPACE}"`,
26
+ ` xmlns:sy="${SY_NAMESPACE}"`,
26
27
  ` xmlns:wfw="${WFW_NAMESPACE}">`,
27
28
  ' <channel>',
28
29
  element('title', source.title, 2),
@@ -33,6 +34,7 @@ export function rssFeed(source) {
33
34
  element('language', feedLanguage(site), 2),
34
35
  element('lastBuildDate', rfc822(built), 2),
35
36
  element('generator', FEED_GENERATOR, 2),
37
+ ...cadenceElements(site),
36
38
  ` <atom:link rel="self" type="${escapeXml(contentTypeOf('rss'))}" href="${escapeXml(absoluteUrl(source.feedHref, baseUrl))}"/>`,
37
39
  ...cloudElements(site),
38
40
  ...channelImage(source, link),
@@ -66,6 +68,14 @@ function cloudElements(site) {
66
68
  ` <atom:link rel="hub" href="${escapeXml(notify.hub)}"/>`,
67
69
  ];
68
70
  }
71
+ /** How often a reader should poll, in the Syndication module's two elements. */
72
+ function cadenceElements(site) {
73
+ const { period, frequency } = feedCadence(site);
74
+ return [
75
+ element('sy:updatePeriod', period, 2),
76
+ element('sy:updateFrequency', String(frequency), 2),
77
+ ];
78
+ }
69
79
  /**
70
80
  * The channel's `<image>`, from the site's avatar.
71
81
  *
@@ -103,7 +113,8 @@ export function rssItem(item) {
103
113
  ` <guid isPermaLink="${item.id === item.link ? 'true' : 'false'}">` +
104
114
  `${escapeXml(item.id)}</guid>`,
105
115
  ...(item.published === undefined ? [] : [element('pubDate', rfc822(item.published), 3)]),
106
- ...(item.creator === undefined ? [] : [element('dc:creator', item.creator, 3)]),
116
+ element('dc:creator', item.creator, 3),
117
+ ...(item.language === undefined ? [] : [element('dc:language', item.language, 3)]),
107
118
  // Every term becomes a category. RSS has one `<category>` and no way to say
108
119
  // which vocabulary a term came from, which is exactly how WordPress
109
120
  // publishes tags and categories too.
@@ -153,7 +164,8 @@ export function commentsRssFeed(source) {
153
164
  ' xmlns:atom="http://www.w3.org/2005/Atom"',
154
165
  ' xmlns:content="http://purl.org/rss/1.0/modules/content/"',
155
166
  ` xmlns:dc="${DC_NAMESPACE}"`,
156
- ` xmlns:source="${SOURCE_NAMESPACE}">`,
167
+ ` xmlns:source="${SOURCE_NAMESPACE}"`,
168
+ ` xmlns:sy="${SY_NAMESPACE}">`,
157
169
  ' <channel>',
158
170
  element('title', source.title, 2),
159
171
  element('link', link, 2),
@@ -161,6 +173,7 @@ export function commentsRssFeed(source) {
161
173
  element('language', feedLanguage(site), 2),
162
174
  element('lastBuildDate', rfc822(built), 2),
163
175
  element('generator', FEED_GENERATOR, 2),
176
+ ...cadenceElements(site),
164
177
  ` <atom:link rel="self" type="${escapeXml(contentTypeOf('rss'))}" href="${escapeXml(absoluteUrl(source.feedHref, baseUrl))}"/>`,
165
178
  // A comments feed is polled like any other, so it advertises the same
166
179
  // server: a subscriber to one is told a reply arrived rather than finding
@@ -1 +1 @@
1
- {"version":3,"file":"feed-rss.js","sourceRoot":"","sources":["../../src/web/feed-rss.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feed-rss.js","sourceRoot":"","sources":["../../src/web/feed-rss.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { User } from '../admin/accounts.ts';
1
2
  import type { Document } from '../content/document.ts';
2
3
  import type { SiteData } from './context.ts';
3
4
  /**
@@ -167,6 +168,34 @@ export declare const FEED_GENERATOR_URI = "https://www.npmjs.com/package/@geekit
167
168
  * a post on a site that publishes several.
168
169
  */
169
170
  export declare function feedSize(site: SiteData): number;
171
+ /**
172
+ * The periods the RSS Syndication module lets a feed name, from
173
+ * https://web.resource.org/rss/1.0/modules/syndication/.
174
+ */
175
+ export declare const UPDATE_PERIODS: readonly ['hourly', 'daily', 'weekly', 'monthly', 'yearly'];
176
+ /** One of {@link UPDATE_PERIODS}. */
177
+ export type UpdatePeriod = (typeof UPDATE_PERIODS)[number];
178
+ /** Whether a value is an {@link UpdatePeriod}. */
179
+ export declare function isUpdatePeriod(value: unknown): value is UpdatePeriod;
180
+ /** How often an RSS feed tells a reader to poll it: `frequency` times a `period`. */
181
+ export interface FeedCadence {
182
+ period: UpdatePeriod;
183
+ /** A whole number of polls per period, at least one. */
184
+ frequency: number;
185
+ }
186
+ /**
187
+ * The cadence a feed declares when the site has not said: once an hour, which
188
+ * is what WordPress declares, so the subscribers of a migrated site keep
189
+ * polling the way they always have.
190
+ */
191
+ export declare const DEFAULT_FEED_CADENCE: FeedCadence;
192
+ /**
193
+ * The cadence the RSS feeds declare, from `feedUpdatePeriod` and
194
+ * `feedUpdateFrequency` in `content/_data/site.json`. Each falls back to the
195
+ * default on its own, so a hand edit the module would refuse is never
196
+ * published.
197
+ */
198
+ export declare function feedCadence(site: SiteData): FeedCadence;
170
199
  /** The language a feed declares when the site does not name one. */
171
200
  export declare const DEFAULT_FEED_LANGUAGE = "en";
172
201
  /** The language tag a feed declares: the site's, or {@link DEFAULT_FEED_LANGUAGE}. */
@@ -183,6 +212,8 @@ export declare const EMPTY_FEED_UPDATED: Date;
183
212
  export interface FeedSource {
184
213
  /** Site-wide data, for the title, subtitle and author. */
185
214
  site: SiteData;
215
+ /** Everyone with an account, so the authors print as display names. */
216
+ users: readonly User[];
186
217
  /** The entries, newest first. Already filtered to what the public may see. */
187
218
  documents: readonly Document[];
188
219
  /** Title of this feed. The site title, or the site title and the tag. */
@@ -1 +1 @@
1
- {"version":3,"file":"feed-source.d.ts","sourceRoot":"","sources":["../../src/web/feed-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feed-source.d.ts","sourceRoot":"","sources":["../../src/web/feed-source.ts"],"names":[],"mappings":"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"}
@@ -181,6 +181,37 @@ export function feedSize(site) {
181
181
  }
182
182
  return DEFAULT_FEED_SIZE;
183
183
  }
184
+ /**
185
+ * The periods the RSS Syndication module lets a feed name, from
186
+ * https://web.resource.org/rss/1.0/modules/syndication/.
187
+ */
188
+ export const UPDATE_PERIODS = ['hourly', 'daily', 'weekly', 'monthly', 'yearly'];
189
+ /** Whether a value is an {@link UpdatePeriod}. */
190
+ export function isUpdatePeriod(value) {
191
+ return UPDATE_PERIODS.includes(value);
192
+ }
193
+ /**
194
+ * The cadence a feed declares when the site has not said: once an hour, which
195
+ * is what WordPress declares, so the subscribers of a migrated site keep
196
+ * polling the way they always have.
197
+ */
198
+ export const DEFAULT_FEED_CADENCE = { period: 'hourly', frequency: 1 };
199
+ /**
200
+ * The cadence the RSS feeds declare, from `feedUpdatePeriod` and
201
+ * `feedUpdateFrequency` in `content/_data/site.json`. Each falls back to the
202
+ * default on its own, so a hand edit the module would refuse is never
203
+ * published.
204
+ */
205
+ export function feedCadence(site) {
206
+ const period = site['feedUpdatePeriod'];
207
+ const frequency = site['feedUpdateFrequency'];
208
+ return {
209
+ period: isUpdatePeriod(period) ? period : DEFAULT_FEED_CADENCE.period,
210
+ frequency: typeof frequency === 'number' && Number.isInteger(frequency) && frequency > 0
211
+ ? frequency
212
+ : DEFAULT_FEED_CADENCE.frequency,
213
+ };
214
+ }
184
215
  /** The language a feed declares when the site does not name one. */
185
216
  export const DEFAULT_FEED_LANGUAGE = 'en';
186
217
  /** The language tag a feed declares: the site's, or {@link DEFAULT_FEED_LANGUAGE}. */
@@ -1 +1 @@
1
- {"version":3,"file":"feed-source.js","sourceRoot":"","sources":["../../src/web/feed-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feed-source.js","sourceRoot":"","sources":["../../src/web/feed-source.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,8 @@ export declare const DC_NAMESPACE = "http://purl.org/dc/elements/1.1/";
21
21
  * reader that already understands a WordPress feed understands this one.
22
22
  */
23
23
  export declare const WFW_NAMESPACE = "http://wellformedweb.org/CommentAPI/";
24
+ /** The RSS Syndication module, whose `updatePeriod` and `updateFrequency` say how often to poll. */
25
+ export declare const SY_NAMESPACE = "http://purl.org/rss/1.0/modules/syndication/";
24
26
  /** RFC 4685's Atom Threading Extensions, whose `in-reply-to` names what a reply answers. */
25
27
  export declare const THR_NAMESPACE = "http://purl.org/syndication/thread/1.0";
26
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"feed-xml.d.ts","sourceRoot":"","sources":["../../src/web/feed-xml.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kCAAkC,CAAC;AAEhE,sEAAsE;AACtE,eAAO,MAAM,YAAY,qCAAqC,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,aAAa,yCAAyC,CAAC;AAEpE,4FAA4F;AAC5F,eAAO,MAAM,aAAa,2CAA2C,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAwB/C;AAED;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM3C;AAWD,yCAAyC;AACzC,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,CAErE;AAED,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,SAAI,GAAG,MAAM,EAAE,CAE3F;AAED,iFAAiF;AACjF,wBAAgB,IAAI,CAAC,UAAU,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,SAAI,GAAG,MAAM,CAKhG;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAIxE"}
1
+ {"version":3,"file":"feed-xml.d.ts","sourceRoot":"","sources":["../../src/web/feed-xml.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kCAAkC,CAAC;AAEhE,sEAAsE;AACtE,eAAO,MAAM,YAAY,qCAAqC,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,aAAa,yCAAyC,CAAC;AAEpE,oGAAoG;AACpG,eAAO,MAAM,YAAY,iDAAiD,CAAC;AAE3E,4FAA4F;AAC5F,eAAO,MAAM,aAAa,2CAA2C,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAwB/C;AAED;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM3C;AAWD,yCAAyC;AACzC,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,CAErE;AAED,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,SAAI,GAAG,MAAM,EAAE,CAE3F;AAED,iFAAiF;AACjF,wBAAgB,IAAI,CAAC,UAAU,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,SAAI,GAAG,MAAM,CAKhG;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAIxE"}
@@ -21,6 +21,8 @@ export const DC_NAMESPACE = 'http://purl.org/dc/elements/1.1/';
21
21
  * reader that already understands a WordPress feed understands this one.
22
22
  */
23
23
  export const WFW_NAMESPACE = 'http://wellformedweb.org/CommentAPI/';
24
+ /** The RSS Syndication module, whose `updatePeriod` and `updateFrequency` say how often to poll. */
25
+ export const SY_NAMESPACE = 'http://purl.org/rss/1.0/modules/syndication/';
24
26
  /** RFC 4685's Atom Threading Extensions, whose `in-reply-to` names what a reply answers. */
25
27
  export const THR_NAMESPACE = 'http://purl.org/syndication/thread/1.0';
26
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"feed-xml.js","sourceRoot":"","sources":["../../src/web/feed-xml.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feed-xml.js","sourceRoot":"","sources":["../../src/web/feed-xml.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"feeds.d.ts","sourceRoot":"","sources":["../../src/web/feeds.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEhG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;;;;;;;;GAUG;AAEH,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,QAAQ,EACR,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAElF,OAAO,EACL,KAAK,EACL,YAAY,EACZ,SAAS,EACT,MAAM,EACN,gBAAgB,EAChB,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/F,YAAY,EACV,QAAQ,EACR,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,0CAA0C;AAC1C,MAAM,WAAW,mBAAmB;IAClC,gCAAgC;IAChC,MAAM,EAAE,UAAU,CAAC;IACnB,yEAAyE;IACzE,MAAM,EAAE,UAAU,CAAC;IACnB,sDAAsD;IACtD,WAAW,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;CAC9C;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,QAAQ,CAsBnE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,iBAAiB,EACzB,WAAW,CAAC,EAAE,kBAAkB,GAC/B,QAAQ,CAWV;AAoBD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAMvE"}
1
+ {"version":3,"file":"feeds.d.ts","sourceRoot":"","sources":["../../src/web/feeds.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEhG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;;;;;;;;GAUG;AAEH,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,QAAQ,EACR,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAElF,OAAO,EACL,KAAK,EACL,YAAY,EACZ,SAAS,EACT,MAAM,EACN,gBAAgB,EAChB,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/F,YAAY,EACV,QAAQ,EACR,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,0CAA0C;AAC1C,MAAM,WAAW,mBAAmB;IAClC,gCAAgC;IAChC,MAAM,EAAE,UAAU,CAAC;IACnB,yEAAyE;IACzE,MAAM,EAAE,UAAU,CAAC;IACnB,sDAAsD;IACtD,WAAW,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;CAC9C;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,QAAQ,CAsBnE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,iBAAiB,EACzB,WAAW,CAAC,EAAE,kBAAkB,GAC/B,QAAQ,CAWV;AAoBD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAMvE"}
package/dist/web/feeds.js CHANGED
@@ -1,8 +1,9 @@
1
+ import { authorName, siteAuthorName } from './authors.js';
1
2
  import { atomFeed } from './feed-atom.js';
2
3
  import { FEED_ITEM_REVISION } from './feed-item.js';
3
4
  import { jsonFeed } from './feed-json.js';
4
5
  import { rssFeed, commentsRssFeed } from './feed-rss.js';
5
- import { FEED_CONTENT_TYPES, feedLanguage, notifyServerOf } from './feed-source.js';
6
+ import { FEED_CONTENT_TYPES, feedCadence, feedLanguage, notifyServerOf } from './feed-source.js';
6
7
  import { absoluteUrl, contentEtag, isNotModified, latestModified } from './negotiate.js';
7
8
  /**
8
9
  * How a feed is served: its validator, its headers, and which serialiser
@@ -96,6 +97,11 @@ export function feedLinkHeader(source) {
96
97
  const self = absoluteUrl(source.feedHref, source.baseUrl);
97
98
  return `<${notify.hub}>; rel="hub", <${self}>; rel="self"`;
98
99
  }
100
+ /** The cadence an RSS channel declares, as one fingerprint line. */
101
+ function cadenceFingerprint(site) {
102
+ const { period, frequency } = feedCadence(site);
103
+ return `${period} ${String(frequency)}`;
104
+ }
99
105
  /** What a comments feed is made of, as one string to hash. */
100
106
  function commentsFingerprint(source) {
101
107
  return [
@@ -104,6 +110,7 @@ function commentsFingerprint(source) {
104
110
  source.site.tagline ?? '',
105
111
  feedLanguage(source.site),
106
112
  notifyServerOf(source.site)?.base ?? '',
113
+ cadenceFingerprint(source.site),
107
114
  source.baseUrl,
108
115
  ...source.comments.map((comment) => [comment.id, comment.author, comment.published.toISOString(), comment.html].join('\0')),
109
116
  ].join('\n');
@@ -114,12 +121,17 @@ function feedFingerprint(source) {
114
121
  source.feedHref,
115
122
  source.title,
116
123
  source.site.tagline ?? '',
117
- source.site.author ?? '',
124
+ siteAuthorName(source.users, source.site),
118
125
  source.site.avatar ?? '',
119
126
  feedLanguage(source.site),
120
127
  notifyServerOf(source.site)?.base ?? '',
128
+ cadenceFingerprint(source.site),
121
129
  source.baseUrl,
122
- ...source.documents.map((document) => `${document.hash} ${String(source.commentCounts?.get(document.permalink) ?? 0)}`),
130
+ ...source.documents.map((document) => [
131
+ document.hash,
132
+ String(source.commentCounts?.get(document.permalink) ?? 0),
133
+ authorName(source.users, document.author) ?? '',
134
+ ].join(' ')),
123
135
  ].join('\n');
124
136
  }
125
137
  //# sourceMappingURL=feeds.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feeds.js","sourceRoot":"","sources":["../../src/web/feeds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feeds.js","sourceRoot":"","sources":["../../src/web/feeds.ts"],"names":[],"mappings":"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"}