@geekity/cms 0.31.0 → 0.32.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 (745) hide show
  1. package/admin/components/badge.njk +4 -0
  2. package/admin/components/fields.njk +41 -24
  3. package/admin/components/job-status.njk +45 -0
  4. package/admin/components/setting-fields.njk +38 -0
  5. package/admin/layouts/settings-page.njk +16 -0
  6. package/admin/pages/comments/all.njk +1 -2
  7. package/admin/pages/documents/editor.njk +17 -15
  8. package/admin/pages/documents/syndication.njk +4 -4
  9. package/admin/pages/federation/followers.njk +56 -6
  10. package/admin/pages/federation/settings.njk +1 -1
  11. package/admin/pages/media/library.njk +52 -3
  12. package/admin/pages/navigation/menus.njk +2 -2
  13. package/admin/pages/plugins/screen.njk +5 -46
  14. package/admin/pages/settings/discussion.njk +76 -47
  15. package/admin/pages/settings/email.njk +75 -47
  16. package/admin/pages/settings/general.njk +15 -15
  17. package/admin/pages/settings/permalinks.njk +8 -8
  18. package/admin/pages/settings/privacy.njk +6 -6
  19. package/admin/pages/settings/reading.njk +36 -36
  20. package/admin/pages/tools/dev-mode.njk +29 -3
  21. package/admin/pages/tools/export.njk +89 -0
  22. package/admin/pages/tools/maintenance.njk +51 -0
  23. package/admin/pages/users/apps.njk +2 -2
  24. package/admin/pages/users/edit.njk +3 -3
  25. package/admin/pages/users/new.njk +2 -2
  26. package/admin/static/admin.css +80 -0
  27. package/dist/admin/app-activity.d.ts.map +1 -1
  28. package/dist/admin/app-activity.js +2 -3
  29. package/dist/admin/app-activity.js.map +1 -1
  30. package/dist/admin/appearance.d.ts +1 -5
  31. package/dist/admin/appearance.d.ts.map +1 -1
  32. package/dist/admin/appearance.js +9 -16
  33. package/dist/admin/appearance.js.map +1 -1
  34. package/dist/admin/comments.d.ts.map +1 -1
  35. package/dist/admin/comments.js +2 -3
  36. package/dist/admin/comments.js.map +1 -1
  37. package/dist/admin/confirm-password.d.ts +4 -0
  38. package/dist/admin/confirm-password.d.ts.map +1 -0
  39. package/dist/admin/confirm-password.js +11 -0
  40. package/dist/admin/confirm-password.js.map +1 -0
  41. package/dist/admin/connected-apps.d.ts.map +1 -1
  42. package/dist/admin/connected-apps.js +17 -22
  43. package/dist/admin/connected-apps.js.map +1 -1
  44. package/dist/admin/dev-mode.d.ts.map +1 -1
  45. package/dist/admin/dev-mode.js +35 -10
  46. package/dist/admin/dev-mode.js.map +1 -1
  47. package/dist/admin/documents.d.ts.map +1 -1
  48. package/dist/admin/documents.js +22 -10
  49. package/dist/admin/documents.js.map +1 -1
  50. package/dist/admin/editor-actions.d.ts.map +1 -1
  51. package/dist/admin/editor-actions.js +1 -2
  52. package/dist/admin/editor-actions.js.map +1 -1
  53. package/dist/admin/editor-layout.js +1 -1
  54. package/dist/admin/editor-layout.js.map +1 -1
  55. package/dist/admin/export.d.ts +10 -0
  56. package/dist/admin/export.d.ts.map +1 -0
  57. package/dist/admin/export.js +72 -0
  58. package/dist/admin/export.js.map +1 -0
  59. package/dist/admin/federation.d.ts +1 -12
  60. package/dist/admin/federation.d.ts.map +1 -1
  61. package/dist/admin/federation.js +34 -87
  62. package/dist/admin/federation.js.map +1 -1
  63. package/dist/admin/index.d.ts +2 -5
  64. package/dist/admin/index.d.ts.map +1 -1
  65. package/dist/admin/index.js +2 -4
  66. package/dist/admin/index.js.map +1 -1
  67. package/dist/admin/indieauth-consent.d.ts.map +1 -1
  68. package/dist/admin/indieauth-consent.js +5 -7
  69. package/dist/admin/indieauth-consent.js.map +1 -1
  70. package/dist/admin/job-status.d.ts +25 -0
  71. package/dist/admin/job-status.d.ts.map +1 -0
  72. package/dist/admin/job-status.js +53 -0
  73. package/dist/admin/job-status.js.map +1 -0
  74. package/dist/admin/legacy-migrations.d.ts.map +1 -1
  75. package/dist/admin/legacy-migrations.js +7 -6
  76. package/dist/admin/legacy-migrations.js.map +1 -1
  77. package/dist/admin/maintenance.d.ts +9 -0
  78. package/dist/admin/maintenance.d.ts.map +1 -0
  79. package/dist/admin/maintenance.js +42 -0
  80. package/dist/admin/maintenance.js.map +1 -0
  81. package/dist/admin/media.d.ts +4 -1
  82. package/dist/admin/media.d.ts.map +1 -1
  83. package/dist/admin/media.js +16 -1
  84. package/dist/admin/media.js.map +1 -1
  85. package/dist/admin/menu.d.ts.map +1 -1
  86. package/dist/admin/menu.js +4 -0
  87. package/dist/admin/menu.js.map +1 -1
  88. package/dist/admin/messages.d.ts.map +1 -1
  89. package/dist/admin/messages.js +2 -3
  90. package/dist/admin/messages.js.map +1 -1
  91. package/dist/admin/navigation.d.ts.map +1 -1
  92. package/dist/admin/navigation.js +27 -23
  93. package/dist/admin/navigation.js.map +1 -1
  94. package/dist/admin/plugins.d.ts.map +1 -1
  95. package/dist/admin/plugins.js +19 -66
  96. package/dist/admin/plugins.js.map +1 -1
  97. package/dist/admin/preview.d.ts.map +1 -1
  98. package/dist/admin/preview.js +5 -6
  99. package/dist/admin/preview.js.map +1 -1
  100. package/dist/admin/recovery.js +2 -2
  101. package/dist/admin/recovery.js.map +1 -1
  102. package/dist/admin/routes.d.ts.map +1 -1
  103. package/dist/admin/routes.js +6 -3
  104. package/dist/admin/routes.js.map +1 -1
  105. package/dist/admin/setting-overrides.d.ts +4 -0
  106. package/dist/admin/setting-overrides.d.ts.map +1 -0
  107. package/dist/admin/setting-overrides.js +24 -0
  108. package/dist/admin/setting-overrides.js.map +1 -0
  109. package/dist/admin/settings-discussion.d.ts +6 -4
  110. package/dist/admin/settings-discussion.d.ts.map +1 -1
  111. package/dist/admin/settings-discussion.js +75 -45
  112. package/dist/admin/settings-discussion.js.map +1 -1
  113. package/dist/admin/settings-email.d.ts +11 -8
  114. package/dist/admin/settings-email.d.ts.map +1 -1
  115. package/dist/admin/settings-email.js +88 -77
  116. package/dist/admin/settings-email.js.map +1 -1
  117. package/dist/admin/settings-federation.d.ts +0 -7
  118. package/dist/admin/settings-federation.d.ts.map +1 -1
  119. package/dist/admin/settings-federation.js +0 -36
  120. package/dist/admin/settings-federation.js.map +1 -1
  121. package/dist/admin/settings-fields.d.ts +32 -0
  122. package/dist/admin/settings-fields.d.ts.map +1 -0
  123. package/dist/admin/settings-fields.js +368 -0
  124. package/dist/admin/settings-fields.js.map +1 -0
  125. package/dist/admin/settings-general.d.ts.map +1 -1
  126. package/dist/admin/settings-general.js +10 -19
  127. package/dist/admin/settings-general.js.map +1 -1
  128. package/dist/admin/settings-page.d.ts +3 -29
  129. package/dist/admin/settings-page.d.ts.map +1 -1
  130. package/dist/admin/settings-page.js +38 -53
  131. package/dist/admin/settings-page.js.map +1 -1
  132. package/dist/admin/settings-permalinks.js +2 -2
  133. package/dist/admin/settings-permalinks.js.map +1 -1
  134. package/dist/admin/settings-privacy.js +1 -1
  135. package/dist/admin/settings-privacy.js.map +1 -1
  136. package/dist/admin/settings-reading.js +13 -13
  137. package/dist/admin/settings-reading.js.map +1 -1
  138. package/dist/admin/settings-renderer.d.ts +32 -0
  139. package/dist/admin/settings-renderer.d.ts.map +1 -0
  140. package/dist/admin/settings-renderer.js +79 -0
  141. package/dist/admin/settings-renderer.js.map +1 -0
  142. package/dist/admin/site-setting-edit.d.ts +4 -0
  143. package/dist/admin/site-setting-edit.d.ts.map +1 -0
  144. package/dist/admin/site-setting-edit.js +20 -0
  145. package/dist/admin/site-setting-edit.js.map +1 -0
  146. package/dist/admin/taxonomy.d.ts.map +1 -1
  147. package/dist/admin/taxonomy.js +10 -19
  148. package/dist/admin/taxonomy.js.map +1 -1
  149. package/dist/admin/templates.d.ts +2 -0
  150. package/dist/admin/templates.d.ts.map +1 -1
  151. package/dist/admin/templates.js +2 -0
  152. package/dist/admin/templates.js.map +1 -1
  153. package/dist/admin/users.js +1 -1
  154. package/dist/admin/users.js.map +1 -1
  155. package/dist/avatars/avatars.d.ts +0 -2
  156. package/dist/avatars/avatars.d.ts.map +1 -1
  157. package/dist/avatars/avatars.js +9 -10
  158. package/dist/avatars/avatars.js.map +1 -1
  159. package/dist/avatars/index.d.ts +1 -1
  160. package/dist/avatars/index.d.ts.map +1 -1
  161. package/dist/avatars/index.js +1 -1
  162. package/dist/avatars/index.js.map +1 -1
  163. package/dist/cache.d.ts +0 -2
  164. package/dist/cache.d.ts.map +1 -1
  165. package/dist/cache.js +2 -4
  166. package/dist/cache.js.map +1 -1
  167. package/dist/cli.d.ts +1 -1
  168. package/dist/cli.d.ts.map +1 -1
  169. package/dist/cli.js +500 -86
  170. package/dist/cli.js.map +1 -1
  171. package/dist/cms/app.d.ts +1 -1
  172. package/dist/cms/app.d.ts.map +1 -1
  173. package/dist/cms/app.js +13 -2
  174. package/dist/cms/app.js.map +1 -1
  175. package/dist/cms/boot.d.ts +12 -0
  176. package/dist/cms/boot.d.ts.map +1 -1
  177. package/dist/cms/boot.js +37 -16
  178. package/dist/cms/boot.js.map +1 -1
  179. package/dist/cms/create.d.ts +24 -0
  180. package/dist/cms/create.d.ts.map +1 -1
  181. package/dist/cms/create.js +14 -0
  182. package/dist/cms/create.js.map +1 -1
  183. package/dist/cms/services.d.ts +3 -1
  184. package/dist/cms/services.d.ts.map +1 -1
  185. package/dist/cms/services.js +83 -26
  186. package/dist/cms/services.js.map +1 -1
  187. package/dist/cms/site-records.d.ts.map +1 -1
  188. package/dist/cms/site-records.js +0 -2
  189. package/dist/cms/site-records.js.map +1 -1
  190. package/dist/comments/akismet.d.ts +13 -46
  191. package/dist/comments/akismet.d.ts.map +1 -1
  192. package/dist/comments/akismet.js +29 -68
  193. package/dist/comments/akismet.js.map +1 -1
  194. package/dist/comments/conversation.d.ts +14 -8
  195. package/dist/comments/conversation.d.ts.map +1 -1
  196. package/dist/comments/conversation.js.map +1 -1
  197. package/dist/comments/index.d.ts +4 -4
  198. package/dist/comments/index.d.ts.map +1 -1
  199. package/dist/comments/index.js +3 -3
  200. package/dist/comments/index.js.map +1 -1
  201. package/dist/comments/policy.d.ts +23 -26
  202. package/dist/comments/policy.d.ts.map +1 -1
  203. package/dist/comments/policy.js +13 -20
  204. package/dist/comments/policy.js.map +1 -1
  205. package/dist/comments/records.d.ts +0 -2
  206. package/dist/comments/records.d.ts.map +1 -1
  207. package/dist/comments/records.js +2 -3
  208. package/dist/comments/records.js.map +1 -1
  209. package/dist/comments/reply-notices.d.ts +5 -6
  210. package/dist/comments/reply-notices.d.ts.map +1 -1
  211. package/dist/comments/reply-notices.js +27 -15
  212. package/dist/comments/reply-notices.js.map +1 -1
  213. package/dist/comments/reply-post.d.ts.map +1 -1
  214. package/dist/comments/reply-post.js +2 -3
  215. package/dist/comments/reply-post.js.map +1 -1
  216. package/dist/comments/submission.d.ts +0 -2
  217. package/dist/comments/submission.d.ts.map +1 -1
  218. package/dist/comments/submission.js +1 -3
  219. package/dist/comments/submission.js.map +1 -1
  220. package/dist/config-loader.d.ts.map +1 -1
  221. package/dist/config-loader.js +2 -1
  222. package/dist/config-loader.js.map +1 -1
  223. package/dist/config.d.ts +27 -1
  224. package/dist/config.d.ts.map +1 -1
  225. package/dist/config.js +5 -1
  226. package/dist/config.js.map +1 -1
  227. package/dist/contact/delivery.d.ts +2 -4
  228. package/dist/contact/delivery.d.ts.map +1 -1
  229. package/dist/contact/delivery.js +1 -2
  230. package/dist/contact/delivery.js.map +1 -1
  231. package/dist/contact/index.d.ts +1 -1
  232. package/dist/contact/index.d.ts.map +1 -1
  233. package/dist/contact/index.js +1 -1
  234. package/dist/contact/index.js.map +1 -1
  235. package/dist/contact/records.d.ts +0 -2
  236. package/dist/contact/records.d.ts.map +1 -1
  237. package/dist/contact/records.js +3 -5
  238. package/dist/contact/records.js.map +1 -1
  239. package/dist/content/citation.d.ts +1 -0
  240. package/dist/content/citation.d.ts.map +1 -1
  241. package/dist/content/citation.js.map +1 -1
  242. package/dist/content/document-form.d.ts +3 -1
  243. package/dist/content/document-form.d.ts.map +1 -1
  244. package/dist/content/document-form.js.map +1 -1
  245. package/dist/content/enclosure-form.d.ts.map +1 -1
  246. package/dist/content/enclosure-form.js +5 -6
  247. package/dist/content/enclosure-form.js.map +1 -1
  248. package/dist/content/excerpt.d.ts +1 -0
  249. package/dist/content/excerpt.d.ts.map +1 -1
  250. package/dist/content/excerpt.js +3 -0
  251. package/dist/content/excerpt.js.map +1 -1
  252. package/dist/content/index.d.ts +3 -3
  253. package/dist/content/index.d.ts.map +1 -1
  254. package/dist/content/index.js +2 -2
  255. package/dist/content/index.js.map +1 -1
  256. package/dist/content/kept-properties.d.ts +0 -1
  257. package/dist/content/kept-properties.d.ts.map +1 -1
  258. package/dist/content/kept-properties.js +2 -2
  259. package/dist/content/kept-properties.js.map +1 -1
  260. package/dist/content/locations.d.ts +0 -1
  261. package/dist/content/locations.d.ts.map +1 -1
  262. package/dist/content/locations.js +2 -2
  263. package/dist/content/locations.js.map +1 -1
  264. package/dist/content/media.d.ts +7 -0
  265. package/dist/content/media.d.ts.map +1 -1
  266. package/dist/content/media.js +12 -1
  267. package/dist/content/media.js.map +1 -1
  268. package/dist/content/metadata/strip-job.d.ts +16 -0
  269. package/dist/content/metadata/strip-job.d.ts.map +1 -0
  270. package/dist/content/metadata/strip-job.js +24 -0
  271. package/dist/content/metadata/strip-job.js.map +1 -0
  272. package/dist/content/metadata/sweep.d.ts +13 -1
  273. package/dist/content/metadata/sweep.d.ts.map +1 -1
  274. package/dist/content/metadata/sweep.js +47 -25
  275. package/dist/content/metadata/sweep.js.map +1 -1
  276. package/dist/content/permalink-file.d.ts +2 -1
  277. package/dist/content/permalink-file.d.ts.map +1 -1
  278. package/dist/content/permalink-file.js +3 -3
  279. package/dist/content/permalink-file.js.map +1 -1
  280. package/dist/content/photo-form.d.ts +1 -0
  281. package/dist/content/photo-form.d.ts.map +1 -1
  282. package/dist/content/photo-form.js +8 -5
  283. package/dist/content/photo-form.js.map +1 -1
  284. package/dist/content/photo.d.ts +1 -0
  285. package/dist/content/photo.d.ts.map +1 -1
  286. package/dist/content/photo.js +1 -1
  287. package/dist/content/photo.js.map +1 -1
  288. package/dist/content/post-fields.d.ts.map +1 -1
  289. package/dist/content/post-fields.js +5 -9
  290. package/dist/content/post-fields.js.map +1 -1
  291. package/dist/content/read-form.d.ts +10 -3
  292. package/dist/content/read-form.d.ts.map +1 -1
  293. package/dist/content/read-form.js +67 -9
  294. package/dist/content/read-form.js.map +1 -1
  295. package/dist/content/read.d.ts +9 -2
  296. package/dist/content/read.d.ts.map +1 -1
  297. package/dist/content/read.js +22 -3
  298. package/dist/content/read.js.map +1 -1
  299. package/dist/content/store.d.ts +0 -1
  300. package/dist/content/store.d.ts.map +1 -1
  301. package/dist/content/store.js +0 -1
  302. package/dist/content/store.js.map +1 -1
  303. package/dist/content/uploads.d.ts +1 -1
  304. package/dist/content/uploads.d.ts.map +1 -1
  305. package/dist/content/uploads.js +6 -1
  306. package/dist/content/uploads.js.map +1 -1
  307. package/dist/content/write.d.ts +1 -1
  308. package/dist/content/write.d.ts.map +1 -1
  309. package/dist/content/write.js +7 -3
  310. package/dist/content/write.js.map +1 -1
  311. package/dist/dev-mode.d.ts +4 -26
  312. package/dist/dev-mode.d.ts.map +1 -1
  313. package/dist/dev-mode.js +4 -53
  314. package/dist/dev-mode.js.map +1 -1
  315. package/dist/export/export-archives.d.ts +29 -0
  316. package/dist/export/export-archives.d.ts.map +1 -0
  317. package/dist/export/export-archives.js +88 -0
  318. package/dist/export/export-archives.js.map +1 -0
  319. package/dist/export/export-job.d.ts +21 -0
  320. package/dist/export/export-job.d.ts.map +1 -0
  321. package/dist/export/export-job.js +63 -0
  322. package/dist/export/export-job.js.map +1 -0
  323. package/dist/export/site-export.d.ts +101 -0
  324. package/dist/export/site-export.d.ts.map +1 -0
  325. package/dist/export/site-export.js +243 -0
  326. package/dist/export/site-export.js.map +1 -0
  327. package/dist/export/site-import.d.ts +75 -0
  328. package/dist/export/site-import.d.ts.map +1 -0
  329. package/dist/export/site-import.js +492 -0
  330. package/dist/export/site-import.js.map +1 -0
  331. package/dist/exports.d.ts +9 -4
  332. package/dist/exports.d.ts.map +1 -1
  333. package/dist/exports.js +3 -1
  334. package/dist/exports.js.map +1 -1
  335. package/dist/federation/article.d.ts.map +1 -1
  336. package/dist/federation/article.js +22 -20
  337. package/dist/federation/article.js.map +1 -1
  338. package/dist/federation/backfill.d.ts +3 -1
  339. package/dist/federation/backfill.d.ts.map +1 -1
  340. package/dist/federation/backfill.js +5 -3
  341. package/dist/federation/backfill.js.map +1 -1
  342. package/dist/federation/cited-post.d.ts +1 -1
  343. package/dist/federation/cited-post.d.ts.map +1 -1
  344. package/dist/federation/cited-post.js +1 -1
  345. package/dist/federation/cited-post.js.map +1 -1
  346. package/dist/federation/delivery.d.ts +5 -2
  347. package/dist/federation/delivery.d.ts.map +1 -1
  348. package/dist/federation/delivery.js +16 -12
  349. package/dist/federation/delivery.js.map +1 -1
  350. package/dist/federation/federation.d.ts +7 -7
  351. package/dist/federation/federation.d.ts.map +1 -1
  352. package/dist/federation/federation.js +5 -12
  353. package/dist/federation/federation.js.map +1 -1
  354. package/dist/federation/handles.d.ts +1 -1
  355. package/dist/federation/handles.d.ts.map +1 -1
  356. package/dist/federation/handles.js +1 -1
  357. package/dist/federation/handles.js.map +1 -1
  358. package/dist/federation/inbox.js +1 -1
  359. package/dist/federation/inbox.js.map +1 -1
  360. package/dist/federation/keys.js +3 -3
  361. package/dist/federation/keys.js.map +1 -1
  362. package/dist/federation/profiles.d.ts +1 -1
  363. package/dist/federation/profiles.d.ts.map +1 -1
  364. package/dist/federation/profiles.js +1 -1
  365. package/dist/federation/profiles.js.map +1 -1
  366. package/dist/federation/queue.d.ts +32 -17
  367. package/dist/federation/queue.d.ts.map +1 -1
  368. package/dist/federation/queue.js +173 -39
  369. package/dist/federation/queue.js.map +1 -1
  370. package/dist/federation/relays.d.ts +6 -2
  371. package/dist/federation/relays.d.ts.map +1 -1
  372. package/dist/federation/relays.js +43 -36
  373. package/dist/federation/relays.js.map +1 -1
  374. package/dist/federation/resend-job.d.ts +44 -0
  375. package/dist/federation/resend-job.d.ts.map +1 -0
  376. package/dist/federation/resend-job.js +59 -0
  377. package/dist/federation/resend-job.js.map +1 -0
  378. package/dist/files/atomic.d.ts +9 -0
  379. package/dist/files/atomic.d.ts.map +1 -1
  380. package/dist/files/atomic.js +1 -1
  381. package/dist/files/atomic.js.map +1 -1
  382. package/dist/files/data-files.d.ts +104 -0
  383. package/dist/files/data-files.d.ts.map +1 -0
  384. package/dist/files/data-files.js +330 -0
  385. package/dist/files/data-files.js.map +1 -0
  386. package/dist/files/export-archives.d.ts +12 -0
  387. package/dist/files/export-archives.d.ts.map +1 -0
  388. package/dist/files/export-archives.js +67 -0
  389. package/dist/files/export-archives.js.map +1 -0
  390. package/dist/files/static-files.d.ts.map +1 -1
  391. package/dist/files/static-files.js +7 -22
  392. package/dist/files/static-files.js.map +1 -1
  393. package/dist/files/tar.d.ts +29 -0
  394. package/dist/files/tar.d.ts.map +1 -0
  395. package/dist/files/tar.js +206 -0
  396. package/dist/files/tar.js.map +1 -0
  397. package/dist/files/upload-types.d.ts +81 -0
  398. package/dist/files/upload-types.d.ts.map +1 -0
  399. package/dist/files/upload-types.js +234 -0
  400. package/dist/files/upload-types.js.map +1 -0
  401. package/dist/forms/protection.d.ts +0 -8
  402. package/dist/forms/protection.d.ts.map +1 -1
  403. package/dist/forms/protection.js +2 -10
  404. package/dist/forms/protection.js.map +1 -1
  405. package/dist/images/icons.d.ts.map +1 -1
  406. package/dist/images/icons.js +2 -0
  407. package/dist/images/icons.js.map +1 -1
  408. package/dist/images/index.d.ts +1 -1
  409. package/dist/images/index.d.ts.map +1 -1
  410. package/dist/images/index.js +1 -1
  411. package/dist/images/index.js.map +1 -1
  412. package/dist/images/markup.d.ts +4 -1
  413. package/dist/images/markup.d.ts.map +1 -1
  414. package/dist/images/markup.js +10 -6
  415. package/dist/images/markup.js.map +1 -1
  416. package/dist/images/paths.d.ts +1 -4
  417. package/dist/images/paths.d.ts.map +1 -1
  418. package/dist/images/paths.js +6 -12
  419. package/dist/images/paths.js.map +1 -1
  420. package/dist/images/variants.d.ts +4 -2
  421. package/dist/images/variants.d.ts.map +1 -1
  422. package/dist/images/variants.js +21 -21
  423. package/dist/images/variants.js.map +1 -1
  424. package/dist/index.d.ts +1 -0
  425. package/dist/index.d.ts.map +1 -1
  426. package/dist/index.js +1 -0
  427. package/dist/index.js.map +1 -1
  428. package/dist/indexnow.d.ts +4 -2
  429. package/dist/indexnow.d.ts.map +1 -1
  430. package/dist/indexnow.js +32 -20
  431. package/dist/indexnow.js.map +1 -1
  432. package/dist/indieauth/tokens.d.ts +0 -2
  433. package/dist/indieauth/tokens.d.ts.map +1 -1
  434. package/dist/indieauth/tokens.js +2 -4
  435. package/dist/indieauth/tokens.js.map +1 -1
  436. package/dist/jobs/file-records.d.ts +13 -0
  437. package/dist/jobs/file-records.d.ts.map +1 -0
  438. package/dist/jobs/file-records.js +104 -0
  439. package/dist/jobs/file-records.js.map +1 -0
  440. package/dist/jobs/in-process.d.ts +10 -0
  441. package/dist/jobs/in-process.d.ts.map +1 -0
  442. package/dist/jobs/in-process.js +45 -0
  443. package/dist/jobs/in-process.js.map +1 -0
  444. package/dist/jobs/lock-file.d.ts +13 -0
  445. package/dist/jobs/lock-file.d.ts.map +1 -0
  446. package/dist/jobs/lock-file.js +107 -0
  447. package/dist/jobs/lock-file.js.map +1 -0
  448. package/dist/jobs/processes.d.ts +11 -0
  449. package/dist/jobs/processes.d.ts.map +1 -0
  450. package/dist/jobs/processes.js +50 -0
  451. package/dist/jobs/processes.js.map +1 -0
  452. package/dist/jobs/queue.d.ts +18 -0
  453. package/dist/jobs/queue.d.ts.map +1 -0
  454. package/dist/jobs/queue.js +220 -0
  455. package/dist/jobs/queue.js.map +1 -0
  456. package/dist/jobs/types.d.ts +159 -0
  457. package/dist/jobs/types.d.ts.map +1 -0
  458. package/dist/jobs/types.js +22 -0
  459. package/dist/jobs/types.js.map +1 -0
  460. package/dist/mail/index.d.ts +0 -2
  461. package/dist/mail/index.d.ts.map +1 -1
  462. package/dist/mail/index.js +0 -1
  463. package/dist/mail/index.js.map +1 -1
  464. package/dist/maintenance.d.ts +5 -42
  465. package/dist/maintenance.d.ts.map +1 -1
  466. package/dist/maintenance.js +4 -67
  467. package/dist/maintenance.js.map +1 -1
  468. package/dist/media/library.d.ts +1 -1
  469. package/dist/media/library.d.ts.map +1 -1
  470. package/dist/media/library.js +4 -1
  471. package/dist/media/library.js.map +1 -1
  472. package/dist/media/uploads.d.ts +1 -1
  473. package/dist/media/uploads.d.ts.map +1 -1
  474. package/dist/media/uploads.js +1 -1
  475. package/dist/media/uploads.js.map +1 -1
  476. package/dist/micropub/endpoint.js +10 -10
  477. package/dist/micropub/endpoint.js.map +1 -1
  478. package/dist/micropub/media.d.ts +0 -2
  479. package/dist/micropub/media.d.ts.map +1 -1
  480. package/dist/micropub/media.js +5 -7
  481. package/dist/micropub/media.js.map +1 -1
  482. package/dist/notifications/comments.d.ts +4 -2
  483. package/dist/notifications/comments.d.ts.map +1 -1
  484. package/dist/notifications/comments.js +77 -65
  485. package/dist/notifications/comments.js.map +1 -1
  486. package/dist/notifications/digest.d.ts +2 -4
  487. package/dist/notifications/digest.d.ts.map +1 -1
  488. package/dist/notifications/digest.js +9 -10
  489. package/dist/notifications/digest.js.map +1 -1
  490. package/dist/notifications/index.d.ts +3 -3
  491. package/dist/notifications/index.d.ts.map +1 -1
  492. package/dist/notifications/index.js +3 -3
  493. package/dist/notifications/index.js.map +1 -1
  494. package/dist/notifications/mail-service.d.ts +10 -8
  495. package/dist/notifications/mail-service.d.ts.map +1 -1
  496. package/dist/notifications/mail-service.js +70 -70
  497. package/dist/notifications/mail-service.js.map +1 -1
  498. package/dist/notifications/optouts.d.ts +0 -2
  499. package/dist/notifications/optouts.d.ts.map +1 -1
  500. package/dist/notifications/optouts.js +2 -4
  501. package/dist/notifications/optouts.js.map +1 -1
  502. package/dist/notifications/tokens.d.ts +0 -2
  503. package/dist/notifications/tokens.d.ts.map +1 -1
  504. package/dist/notifications/tokens.js +2 -28
  505. package/dist/notifications/tokens.js.map +1 -1
  506. package/dist/notify.d.ts +4 -2
  507. package/dist/notify.d.ts.map +1 -1
  508. package/dist/notify.js +27 -15
  509. package/dist/notify.js.map +1 -1
  510. package/dist/plugin.d.ts +36 -16
  511. package/dist/plugin.d.ts.map +1 -1
  512. package/dist/plugin.js +1 -1
  513. package/dist/plugin.js.map +1 -1
  514. package/dist/plugins/changes.d.ts +0 -1
  515. package/dist/plugins/changes.d.ts.map +1 -1
  516. package/dist/plugins/changes.js +2 -3
  517. package/dist/plugins/changes.js.map +1 -1
  518. package/dist/plugins/data.d.ts +19 -0
  519. package/dist/plugins/data.d.ts.map +1 -0
  520. package/dist/plugins/data.js +117 -0
  521. package/dist/plugins/data.js.map +1 -0
  522. package/dist/plugins/enabled.d.ts +1 -13
  523. package/dist/plugins/enabled.d.ts.map +1 -1
  524. package/dist/plugins/enabled.js +11 -23
  525. package/dist/plugins/enabled.js.map +1 -1
  526. package/dist/plugins/install.d.ts +1 -1
  527. package/dist/plugins/install.d.ts.map +1 -1
  528. package/dist/plugins/install.js +7 -42
  529. package/dist/plugins/install.js.map +1 -1
  530. package/dist/plugins/migrate-settings.d.ts +7 -0
  531. package/dist/plugins/migrate-settings.d.ts.map +1 -0
  532. package/dist/plugins/migrate-settings.js +41 -0
  533. package/dist/plugins/migrate-settings.js.map +1 -0
  534. package/dist/plugins/registry.d.ts +10 -14
  535. package/dist/plugins/registry.d.ts.map +1 -1
  536. package/dist/plugins/registry.js +56 -36
  537. package/dist/plugins/registry.js.map +1 -1
  538. package/dist/plugins/settings.d.ts +5 -57
  539. package/dist/plugins/settings.d.ts.map +1 -1
  540. package/dist/plugins/settings.js +47 -180
  541. package/dist/plugins/settings.js.map +1 -1
  542. package/dist/plugins/site.d.ts +2 -1
  543. package/dist/plugins/site.d.ts.map +1 -1
  544. package/dist/plugins/site.js +5 -5
  545. package/dist/plugins/site.js.map +1 -1
  546. package/dist/privacy/retention.d.ts +4 -0
  547. package/dist/privacy/retention.d.ts.map +1 -1
  548. package/dist/privacy/retention.js +12 -5
  549. package/dist/privacy/retention.js.map +1 -1
  550. package/dist/settings/akismet.d.ts +9 -0
  551. package/dist/settings/akismet.d.ts.map +1 -0
  552. package/dist/settings/akismet.js +46 -0
  553. package/dist/settings/akismet.js.map +1 -0
  554. package/dist/settings/declare.d.ts +15 -0
  555. package/dist/settings/declare.d.ts.map +1 -0
  556. package/dist/settings/declare.js +20 -0
  557. package/dist/settings/declare.js.map +1 -0
  558. package/dist/settings/dev-mode.d.ts +29 -0
  559. package/dist/settings/dev-mode.d.ts.map +1 -0
  560. package/dist/settings/dev-mode.js +77 -0
  561. package/dist/settings/dev-mode.js.map +1 -0
  562. package/dist/settings/kinds.d.ts +13 -0
  563. package/dist/settings/kinds.d.ts.map +1 -0
  564. package/dist/settings/kinds.js +108 -0
  565. package/dist/settings/kinds.js.map +1 -0
  566. package/dist/settings/mail.d.ts +10 -0
  567. package/dist/settings/mail.d.ts.map +1 -0
  568. package/dist/settings/mail.js +92 -0
  569. package/dist/settings/mail.js.map +1 -0
  570. package/dist/settings/maintenance.d.ts +6 -0
  571. package/dist/settings/maintenance.d.ts.map +1 -0
  572. package/dist/settings/maintenance.js +33 -0
  573. package/dist/settings/maintenance.js.map +1 -0
  574. package/dist/settings/names.d.ts +7 -0
  575. package/dist/settings/names.d.ts.map +1 -0
  576. package/dist/settings/names.js +31 -0
  577. package/dist/settings/names.js.map +1 -0
  578. package/dist/settings/presence.d.ts +2 -0
  579. package/dist/settings/presence.d.ts.map +1 -0
  580. package/dist/settings/presence.js +7 -0
  581. package/dist/settings/presence.js.map +1 -0
  582. package/dist/settings/registry.d.ts +14 -0
  583. package/dist/settings/registry.d.ts.map +1 -0
  584. package/dist/settings/registry.js +369 -0
  585. package/dist/settings/registry.js.map +1 -0
  586. package/dist/settings/types.d.ts +176 -0
  587. package/dist/settings/types.d.ts.map +1 -0
  588. package/dist/settings/types.js +2 -0
  589. package/dist/settings/types.js.map +1 -0
  590. package/dist/site/namespace.d.ts +88 -0
  591. package/dist/site/namespace.d.ts.map +1 -0
  592. package/dist/site/namespace.js +471 -0
  593. package/dist/site/namespace.js.map +1 -0
  594. package/dist/site/setting-rows.d.ts +9 -10
  595. package/dist/site/setting-rows.d.ts.map +1 -1
  596. package/dist/site/setting-rows.js +109 -228
  597. package/dist/site/setting-rows.js.map +1 -1
  598. package/dist/site/settings-form.d.ts.map +1 -1
  599. package/dist/site/settings-form.js +6 -10
  600. package/dist/site/settings-form.js.map +1 -1
  601. package/dist/site/settings.d.ts +6 -322
  602. package/dist/site/settings.d.ts.map +1 -1
  603. package/dist/site/settings.js +13 -76
  604. package/dist/site/settings.js.map +1 -1
  605. package/dist/site/site-json.d.ts +0 -31
  606. package/dist/site/site-json.d.ts.map +1 -1
  607. package/dist/site/site-json.js +5 -49
  608. package/dist/site/site-json.js.map +1 -1
  609. package/dist/site/users.d.ts +0 -9
  610. package/dist/site/users.d.ts.map +1 -1
  611. package/dist/site/users.js +2 -11
  612. package/dist/site/users.js.map +1 -1
  613. package/dist/store/queue-database.d.ts +11 -0
  614. package/dist/store/queue-database.d.ts.map +1 -0
  615. package/dist/store/queue-database.js +39 -0
  616. package/dist/store/queue-database.js.map +1 -0
  617. package/dist/supervisor/control.d.ts +1 -0
  618. package/dist/supervisor/control.d.ts.map +1 -1
  619. package/dist/supervisor/control.js +10 -0
  620. package/dist/supervisor/control.js.map +1 -1
  621. package/dist/supervisor/primary.d.ts.map +1 -1
  622. package/dist/supervisor/primary.js +15 -3
  623. package/dist/supervisor/primary.js.map +1 -1
  624. package/dist/testing.d.ts +1 -1
  625. package/dist/testing.d.ts.map +1 -1
  626. package/dist/testing.js +1 -1
  627. package/dist/testing.js.map +1 -1
  628. package/dist/theme/site-data.d.ts +1 -1
  629. package/dist/theme/site-data.d.ts.map +1 -1
  630. package/dist/theme/site-data.js.map +1 -1
  631. package/dist/web/asset-routes.d.ts +6 -2
  632. package/dist/web/asset-routes.d.ts.map +1 -1
  633. package/dist/web/asset-routes.js +12 -4
  634. package/dist/web/asset-routes.js.map +1 -1
  635. package/dist/web/comment-routes.d.ts.map +1 -1
  636. package/dist/web/comment-routes.js +4 -4
  637. package/dist/web/comment-routes.js.map +1 -1
  638. package/dist/web/contact-routes.js +1 -1
  639. package/dist/web/contact-routes.js.map +1 -1
  640. package/dist/web/context.d.ts +5 -0
  641. package/dist/web/context.d.ts.map +1 -1
  642. package/dist/web/context.js +9 -4
  643. package/dist/web/context.js.map +1 -1
  644. package/dist/web/conversation.d.ts +1 -1
  645. package/dist/web/conversation.d.ts.map +1 -1
  646. package/dist/web/conversation.js +13 -16
  647. package/dist/web/conversation.js.map +1 -1
  648. package/dist/web/document-page.d.ts.map +1 -1
  649. package/dist/web/document-page.js +5 -4
  650. package/dist/web/document-page.js.map +1 -1
  651. package/dist/web/document-site.d.ts +1 -1
  652. package/dist/web/document-site.d.ts.map +1 -1
  653. package/dist/web/document-site.js +2 -1
  654. package/dist/web/document-site.js.map +1 -1
  655. package/dist/web/embed.js +1 -1
  656. package/dist/web/embed.js.map +1 -1
  657. package/dist/web/env.d.ts +9 -0
  658. package/dist/web/env.d.ts.map +1 -1
  659. package/dist/web/federation-routes.d.ts.map +1 -1
  660. package/dist/web/federation-routes.js +3 -1
  661. package/dist/web/federation-routes.js.map +1 -1
  662. package/dist/web/feed-item.js +1 -1
  663. package/dist/web/feed-item.js.map +1 -1
  664. package/dist/web/feed-routes.d.ts +3 -4
  665. package/dist/web/feed-routes.d.ts.map +1 -1
  666. package/dist/web/feed-routes.js +17 -15
  667. package/dist/web/feed-routes.js.map +1 -1
  668. package/dist/web/health.js +1 -1
  669. package/dist/web/health.js.map +1 -1
  670. package/dist/web/index.d.ts +1 -1
  671. package/dist/web/index.d.ts.map +1 -1
  672. package/dist/web/index.js.map +1 -1
  673. package/dist/web/indieauth-activity-log.d.ts +0 -2
  674. package/dist/web/indieauth-activity-log.d.ts.map +1 -1
  675. package/dist/web/indieauth-activity-log.js +2 -4
  676. package/dist/web/indieauth-activity-log.js.map +1 -1
  677. package/dist/web/indieauth-bearer.js +2 -2
  678. package/dist/web/indieauth-bearer.js.map +1 -1
  679. package/dist/web/indieauth-discovery.d.ts +0 -4
  680. package/dist/web/indieauth-discovery.d.ts.map +1 -1
  681. package/dist/web/indieauth-discovery.js +3 -10
  682. package/dist/web/indieauth-discovery.js.map +1 -1
  683. package/dist/web/indieauth-token.d.ts.map +1 -1
  684. package/dist/web/indieauth-token.js +3 -3
  685. package/dist/web/indieauth-token.js.map +1 -1
  686. package/dist/web/listing-pages.d.ts.map +1 -1
  687. package/dist/web/listing-pages.js +1 -2
  688. package/dist/web/listing-pages.js.map +1 -1
  689. package/dist/web/maintenance.js +3 -3
  690. package/dist/web/maintenance.js.map +1 -1
  691. package/dist/web/page-sources.d.ts +1 -2
  692. package/dist/web/page-sources.d.ts.map +1 -1
  693. package/dist/web/page-sources.js +6 -7
  694. package/dist/web/page-sources.js.map +1 -1
  695. package/dist/web/paths.js +1 -1
  696. package/dist/web/paths.js.map +1 -1
  697. package/dist/web/pingback-routes.d.ts.map +1 -1
  698. package/dist/web/pingback-routes.js +3 -3
  699. package/dist/web/pingback-routes.js.map +1 -1
  700. package/dist/web/plugin-federation.js +50 -40
  701. package/dist/web/plugin-federation.js.map +1 -1
  702. package/dist/web/render.d.ts +12 -5
  703. package/dist/web/render.d.ts.map +1 -1
  704. package/dist/web/render.js +31 -21
  705. package/dist/web/render.js.map +1 -1
  706. package/dist/web/request.js +1 -1
  707. package/dist/web/request.js.map +1 -1
  708. package/dist/web/routes.d.ts.map +1 -1
  709. package/dist/web/routes.js +8 -9
  710. package/dist/web/routes.js.map +1 -1
  711. package/dist/web/site-index.d.ts.map +1 -1
  712. package/dist/web/site-index.js +1 -2
  713. package/dist/web/site-index.js.map +1 -1
  714. package/dist/web/site-view.d.ts +0 -2
  715. package/dist/web/site-view.d.ts.map +1 -1
  716. package/dist/web/site-view.js +0 -2
  717. package/dist/web/site-view.js.map +1 -1
  718. package/dist/web/webmention-routes.d.ts.map +1 -1
  719. package/dist/web/webmention-routes.js +2 -2
  720. package/dist/web/webmention-routes.js.map +1 -1
  721. package/dist/web/well-known.d.ts.map +1 -1
  722. package/dist/web/well-known.js +6 -7
  723. package/dist/web/well-known.js.map +1 -1
  724. package/dist/webmention/cited-picture.js +1 -1
  725. package/dist/webmention/cited-picture.js.map +1 -1
  726. package/dist/webmention/pingback.d.ts +1 -8
  727. package/dist/webmention/pingback.d.ts.map +1 -1
  728. package/dist/webmention/pingback.js +2 -11
  729. package/dist/webmention/pingback.js.map +1 -1
  730. package/dist/webmention/receive.d.ts +3 -1
  731. package/dist/webmention/receive.d.ts.map +1 -1
  732. package/dist/webmention/receive.js +5 -3
  733. package/dist/webmention/receive.js.map +1 -1
  734. package/dist/webmention/reply-contexts.d.ts +14 -3
  735. package/dist/webmention/reply-contexts.d.ts.map +1 -1
  736. package/dist/webmention/reply-contexts.js +12 -10
  737. package/dist/webmention/reply-contexts.js.map +1 -1
  738. package/dist/webmention/service.d.ts +3 -1
  739. package/dist/webmention/service.d.ts.map +1 -1
  740. package/dist/webmention/service.js +66 -53
  741. package/dist/webmention/service.js.map +1 -1
  742. package/package.json +13 -11
  743. package/themes/default/partials/post-list.njk +11 -11
  744. package/themes/default/src/style.css +12 -0
  745. package/themes/default/static/style.css +19 -0
@@ -2,7 +2,7 @@
2
2
  {% import "components/fields.njk" as field %}
3
3
 
4
4
  {% block settingsProblems %}
5
- {{ field.problem('settings-location-sharing', problems.locationSharing) }}
5
+ {{ field.problem('settings-location-sharing', problems.location_sharing) }}
6
6
  {% endblock %}
7
7
 
8
8
  {% block settingsFields %}
@@ -16,13 +16,13 @@
16
16
  are right now. Changing this changes every post at once, and nothing is
17
17
  rewritten.
18
18
  {% endset %}
19
- {% call field.select('settings-location-sharing', fields.locationSharing, 'Location on posts',
20
- error=problems.locationSharing, hint=locationHint, autofocus=true) %}
19
+ {% call field.select('settings-location-sharing', fields.location_sharing, 'Location on posts',
20
+ error=problems.location_sharing, hintHtml=locationHint, autofocus=true) %}
21
21
  {% for option in [
22
22
  ['none', 'Keep it, publish nothing'],
23
23
  ['place', 'Publish the place only: its name, locality, region and country'],
24
24
  ['exact', 'Publish the exact coordinates too']] %}
25
- <option value="{{ option[0] }}"{% if option[0] == form.locationSharing %} selected{% endif %}>{{ option[1] }}</option>
25
+ <option value="{{ option[0] }}"{% if option[0] == form.location_sharing %} selected{% endif %}>{{ option[1] }}</option>
26
26
  {% endfor %}
27
27
  {% endcall %}
28
28
 
@@ -31,7 +31,7 @@
31
31
  <p class="max-w-prose text-sm">
32
32
  Location and camera metadata is always removed from pictures and videos as
33
33
  they are uploaded, whatever is chosen above. Files uploaded before this
34
- version keep theirs until <code>geekity strip-metadata</code> is run over
35
- <code>content/uploads/</code>; the CMS documentation describes the command.
34
+ version keep theirs until the sweep on the <a class="link" href="{{ adminUrl }}/media#strip-metadata">Media</a>
35
+ screen, or <code>geekity strip-metadata</code>, is run over <code>content/uploads/</code>.
36
36
  </p>
37
37
  {% endblock %}
@@ -6,16 +6,16 @@
6
6
 
7
7
  {% block settingsProblems %}
8
8
  {{ field.problem('settings-homepage', problems.homepage) }}
9
- {{ field.problem('settings-posts-page', problems.postsPage) }}
10
- {{ field.problem('settings-posts-per-page', problems.postsPerPage) }}
11
- {{ field.problem('settings-notify-server', problems.notifyServer) }}
12
- {{ field.problem('settings-feed-update-period', problems.feedUpdatePeriod) }}
13
- {{ field.problem('settings-feed-update-frequency', problems.feedUpdateFrequency) }}
14
- {{ field.problem('settings-ai-crawlers', problems.aiCrawlers) }}
15
- {{ field.problem('settings-content-signal-search', problems.contentSignalSearch) }}
16
- {{ field.problem('settings-content-signal-ai-input', problems.contentSignalAiInput) }}
17
- {{ field.problem('settings-content-signal-ai-train', problems.contentSignalAiTrain) }}
18
- {{ field.problem('settings-robots-rules', problems.robotsRules) }}
9
+ {{ field.problem('settings-posts-page', problems.posts_page) }}
10
+ {{ field.problem('settings-posts-per-page', problems.posts_per_page) }}
11
+ {{ field.problem('settings-notify-server', problems.notify_server) }}
12
+ {{ field.problem('settings-feed-update-period', problems.feed_update_period) }}
13
+ {{ field.problem('settings-feed-update-frequency', problems.feed_update_frequency) }}
14
+ {{ field.problem('settings-ai-crawlers', problems.ai_crawlers) }}
15
+ {{ field.problem('settings-content-signal-search', problems.content_signal_search) }}
16
+ {{ field.problem('settings-content-signal-ai-input', problems.content_signal_ai_input) }}
17
+ {{ field.problem('settings-content-signal-ai-train', problems.content_signal_ai_train) }}
18
+ {{ field.problem('settings-robots-rules', problems.robots_rules) }}
19
19
  {% endblock %}
20
20
 
21
21
  {% block settingsFields %}
@@ -36,7 +36,7 @@
36
36
  there, and its own URL redirects to <code>/</code> so there is one front page.
37
37
  {% endset %}
38
38
  {% call field.select('settings-homepage', fields.homepage, 'Your homepage displays',
39
- error=problems.homepage, errorHtml=homepageGone, hint=homepageHint, autofocus=true) %}
39
+ error=problems.homepage, errorHtml=homepageGone, hintHtml=homepageHint, autofocus=true) %}
40
40
  <option value="">Your latest posts</option>
41
41
  {% for page in pageChoices %}
42
42
  <option value="{{ page.slug }}"{% if page.slug == form.homepage %} selected{% endif %}>{{ page.title }}</option>
@@ -46,7 +46,7 @@
46
46
  {% set postsPageGone %}
47
47
  {% if postsPageMissing %}
48
48
  <p>
49
- The posts page was <code>{{ form.postsPage }}</code>, which is no longer published,
49
+ The posts page was <code>{{ form.posts_page }}</code>, which is no longer published,
50
50
  so the listing has no page of its own.
51
51
  </p>
52
52
  {% endif %}
@@ -56,16 +56,16 @@
56
56
  listing, with its own title and words above it. It needs a homepage first.
57
57
  The feeds stay at <code>/feed/</code> either way.
58
58
  {% endset %}
59
- {% call field.select('settings-posts-page', fields.postsPage, 'Posts page',
60
- error=problems.postsPage, errorHtml=postsPageGone, hint=postsPageHint) %}
59
+ {% call field.select('settings-posts-page', fields.posts_page, 'Posts page',
60
+ error=problems.posts_page, errorHtml=postsPageGone, hintHtml=postsPageHint) %}
61
61
  <option value="">&mdash; None &mdash;</option>
62
62
  {% for page in pageChoices %}
63
- <option value="{{ page.slug }}"{% if page.slug == form.postsPage %} selected{% endif %}>{{ page.title }}</option>
63
+ <option value="{{ page.slug }}"{% if page.slug == form.posts_page %} selected{% endif %}>{{ page.title }}</option>
64
64
  {% endfor %}
65
65
  {% endcall %}
66
66
 
67
- {{ field.text('settings-posts-per-page', fields.postsPerPage, 'Posts per page', form.postsPerPage,
68
- error=problems.postsPerPage, inputmode='numeric', required=true,
67
+ {{ field.text('settings-posts-per-page', fields.posts_per_page, 'Posts per page', form.posts_per_page,
68
+ error=problems.posts_per_page, inputmode='numeric', required=true,
69
69
  hint='How many posts a listing page holds, on the home page and on every archive.') }}
70
70
 
71
71
  {% set notifyHint %}
@@ -73,8 +73,8 @@
73
73
  hear at once instead of waiting for their next poll. Every feed advertises
74
74
  it. Leave it empty for none.
75
75
  {% endset %}
76
- {{ field.text('settings-notify-server', fields.notifyServer, 'Notify server', form.notifyServer,
77
- error=problems.notifyServer, hint=notifyHint, inputmode='url') }}
76
+ {{ field.text('settings-notify-server', fields.notify_server, 'Notify server', form.notify_server,
77
+ error=problems.notify_server, hintHtml=notifyHint, inputmode='url') }}
78
78
 
79
79
  {# TASK-152. The Syndication module's polling hint, which only RSS has an
80
80
  element for. #}
@@ -82,20 +82,20 @@
82
82
  How often RSS readers should check the feeds. Readers that see no new post
83
83
  for much longer than this may check less often, so pick a pace the site keeps.
84
84
  {% endset %}
85
- {% call field.select('settings-feed-update-period', fields.feedUpdatePeriod, 'Feed update period',
86
- error=problems.feedUpdatePeriod, hint=periodHint) %}
85
+ {% call field.select('settings-feed-update-period', fields.feed_update_period, 'Feed update period',
86
+ error=problems.feed_update_period, hintHtml=periodHint) %}
87
87
  {% for option in [
88
88
  ['hourly', 'Hourly'],
89
89
  ['daily', 'Daily'],
90
90
  ['weekly', 'Weekly'],
91
91
  ['monthly', 'Monthly'],
92
92
  ['yearly', 'Yearly']] %}
93
- <option value="{{ option[0] }}"{% if option[0] == form.feedUpdatePeriod %} selected{% endif %}>{{ option[1] }}</option>
93
+ <option value="{{ option[0] }}"{% if option[0] == form.feed_update_period %} selected{% endif %}>{{ option[1] }}</option>
94
94
  {% endfor %}
95
95
  {% endcall %}
96
96
 
97
- {{ field.text('settings-feed-update-frequency', fields.feedUpdateFrequency, 'Checks per period',
98
- form.feedUpdateFrequency, error=problems.feedUpdateFrequency, inputmode='numeric', required=true,
97
+ {{ field.text('settings-feed-update-frequency', fields.feed_update_frequency, 'Checks per period',
98
+ form.feed_update_frequency, error=problems.feed_update_frequency, inputmode='numeric', required=true,
99
99
  hint='How many times in each period. Daily and 2 means twice a day.') }}
100
100
 
101
101
  {# TASK-148. What /robots.txt tells crawlers beyond keeping them out of the
@@ -108,22 +108,22 @@
108
108
  site being cited. Each choice writes its own groups into
109
109
  <a href="/robots.txt"><code>/robots.txt</code></a>.
110
110
  {% endset %}
111
- {% call field.select('settings-ai-crawlers', fields.aiCrawlers, 'AI crawlers',
112
- error=problems.aiCrawlers, hint=aiHint) %}
111
+ {% call field.select('settings-ai-crawlers', fields.ai_crawlers, 'AI crawlers',
112
+ error=problems.ai_crawlers, hintHtml=aiHint) %}
113
113
  {% for option in [
114
114
  ['allow', 'Allow all'],
115
115
  ['block-training', 'Block training crawlers'],
116
116
  ['block-all', 'Block all AI crawlers']] %}
117
- <option value="{{ option[0] }}"{% if option[0] == form.aiCrawlers %} selected{% endif %}>{{ option[1] }}</option>
117
+ <option value="{{ option[0] }}"{% if option[0] == form.ai_crawlers %} selected{% endif %}>{{ option[1] }}</option>
118
118
  {% endfor %}
119
119
  {% endcall %}
120
120
 
121
121
  {% for signal in [
122
- ['contentSignalSearch', 'settings-content-signal-search', 'Content signal: search',
122
+ ['content_signal_search', 'settings-content-signal-search', 'Content signal: search',
123
123
  'Whether pages may be indexed and shown as search results.'],
124
- ['contentSignalAiInput', 'settings-content-signal-ai-input', 'Content signal: AI input',
124
+ ['content_signal_ai_input', 'settings-content-signal-ai-input', 'Content signal: AI input',
125
125
  'Whether pages may be fed to an AI model to answer a question.'],
126
- ['contentSignalAiTrain', 'settings-content-signal-ai-train', 'Content signal: AI training',
126
+ ['content_signal_ai_train', 'settings-content-signal-ai-train', 'Content signal: AI training',
127
127
  'Whether pages may be used to train or fine-tune an AI model.']] %}
128
128
  {% call field.select(signal[1], fields[signal[0]], signal[2],
129
129
  error=problems[signal[0]], hint=signal[3]) %}
@@ -139,8 +139,8 @@
139
139
  <code>Crawl-delay</code> or <code>Content-Signal</code> lines. Every group still
140
140
  keeps crawlers out of <code>/admin/</code>, and the sitemap is always named.
141
141
  {% endset %}
142
- {{ field.textarea('settings-robots-rules', fields.robotsRules, 'More robots.txt rules',
143
- form.robotsRules, error=problems.robotsRules, hint=rulesHint,
142
+ {{ field.textarea('settings-robots-rules', fields.robots_rules, 'More robots.txt rules',
143
+ form.robots_rules, error=problems.robots_rules, hintHtml=rulesHint,
144
144
  rows='5', spellcheck='false') }}
145
145
 
146
146
  {# TASK-149. The index for language models, beside the file for crawlers. #}
@@ -149,8 +149,8 @@
149
149
  posts, each linked to its Markdown, for AI tools to read. The home page points
150
150
  to it. To write it yourself, put your own file at <code>content/llms.txt</code>.
151
151
  {% endset %}
152
- {{ field.checkbox('settings-llms-txt', fields.llmsTxt, 'Serve /llms.txt',
153
- checked=form.llmsTxt, hint=llmsHint) }}
152
+ {{ field.checkbox('settings-llms-txt', fields.llms_txt, 'Serve /llms.txt',
153
+ checked=form.llms_txt, hintHtml=llmsHint) }}
154
154
 
155
155
  {# TASK-151. Telling the search engines, beside the files they read. #}
156
156
  {% set indexNowHint %}
@@ -159,6 +159,6 @@
159
159
  minutes. Turning it on creates a key the site serves at
160
160
  <code>/{key}.txt</code>. Nothing is sent while the site's URL is local.
161
161
  {% endset %}
162
- {{ field.checkbox('settings-index-now', fields.indexNow, 'Submit changes to IndexNow',
163
- checked=form.indexNow, hint=indexNowHint) }}
162
+ {{ field.checkbox('settings-index-now', fields.index_now, 'Submit changes to IndexNow',
163
+ checked=form.index_now, hintHtml=indexNowHint) }}
164
164
  {% endblock %}
@@ -1,4 +1,8 @@
1
1
  {% extends "layouts/shell.njk" %}
2
+ {% import "components/fields.njk" as field %}
3
+ {% from "components/alert.njk" import alert %}
4
+ {% from "components/button.njk" import button %}
5
+ {% from "components/card.njk" import card, cardActions %}
2
6
  {% from "components/table.njk" import table %}
3
7
 
4
8
  {% block title %}{{ heading }}{% endblock %}
@@ -7,18 +11,40 @@
7
11
  <h1 class="mb-6 text-2xl font-bold">{{ heading }}</h1>
8
12
 
9
13
  <div class="flex flex-col gap-6">
14
+ {% if problem %}
15
+ {% call field.summary('Nothing was saved.') %}
16
+ {{ field.problem('dev-mode-on', problem) }}
17
+ {% endcall %}
18
+ {% endif %}
19
+
10
20
  <p class="max-w-prose">
11
21
  {% if on %}
12
22
  Dev mode is on. Nothing this site does reaches the outside world: no ActivityPub
13
23
  delivery or relay follow, no webmention, no rssCloud or WebSub ping, no IndexNow
14
- submission and no email. Each one is recorded here instead. Run
15
- <code>geekity dev-mode off</code> to take the site live; nothing held is sent then.
24
+ submission and no email. Each one is recorded here instead. Turn the switch off, or
25
+ run <code>geekity dev-mode off</code>, to take the site live; nothing held is sent then.
16
26
  {% else %}
17
27
  Dev mode is off, and the site is live. This is what it held while it was on. To hold
18
- everything again, run <code>geekity dev-mode on</code>.
28
+ everything again, turn the switch on or run <code>geekity dev-mode on</code>.
19
29
  {% endif %}
20
30
  </p>
21
31
 
32
+ {% if latched %}
33
+ {% call alert(color='warning', style='soft') %}
34
+ <span>{{ latched }}</span>
35
+ {% endcall %}
36
+ {% endif %}
37
+
38
+ {% call card(title='Dev mode') %}
39
+ <form method="post" action="{{ saveUrl }}">
40
+ <input type="hidden" name="csrf_token" value="{{ csrfToken }}" />
41
+ {{ field.checkbox('dev-mode-on', 'on', 'Hold everything this site would send', checked=on, error=problem) }}
42
+ {% call cardActions() %}
43
+ {{ button('Save', type='submit', color='primary') }}
44
+ {% endcall %}
45
+ </form>
46
+ {% endcall %}
47
+
22
48
  <p>{{ heldCount }} held in all{% if rows.length >= shown %}; the newest {{ shown }} entries are listed, and <code>data/dev-mode.jsonl</code> has the rest{% endif %}.</p>
23
49
 
24
50
  {% if rows.length %}
@@ -0,0 +1,89 @@
1
+ {% extends "layouts/shell.njk" %}
2
+ {% import "components/fields.njk" as field %}
3
+ {% from "components/button.njk" import button, buttonLink %}
4
+ {% from "components/card.njk" import card, cardActions %}
5
+ {% from "components/job-status.njk" import jobStatus %}
6
+
7
+ {% block title %}{{ heading }}{% endblock %}
8
+
9
+ {% block content %}
10
+ <h1 class="mb-6 text-2xl font-bold">{{ heading }}</h1>
11
+
12
+ <div class="flex max-w-2xl flex-col gap-6">
13
+ {% if problem %}
14
+ {% call field.summary('Nothing was exported. Fix the field marked below and try again.') %}
15
+ {{ field.problem('export-password', problem) }}
16
+ {% endcall %}
17
+ {% endif %}
18
+
19
+ <p class="max-w-prose">
20
+ An export is one <code>.tar.gz</code> file of <code>content/</code> and everything under
21
+ <code>data/</code> that the site cannot make again. <code>geekity import</code> restores
22
+ it on another host. It holds the actors' signing keys, password hashes and personal
23
+ data, so store it as carefully as <code>data/</code>.
24
+ </p>
25
+
26
+ <p id="export-pending" class="max-w-prose">
27
+ {% if pending.deliveries == 1 %}1 delivery is{% else %}{{ pending.deliveries }} deliveries are{% endif %}
28
+ waiting in <code>data/queue.sqlite</code>. They are not exported: before moving the
29
+ site, wait until none are, and look again here.
30
+ </p>
31
+
32
+ {% if job %}
33
+ <section id="export-status" aria-labelledby="export-status-heading">
34
+ {% call card() %}
35
+ <h2 id="export-status-heading" class="card-title">Latest export</h2>
36
+ {% call jobStatus(job, exportUrl, verb='Exported', unit='files') %}
37
+ {% if result %}
38
+ <p>
39
+ {{ result.files }} {% if result.files == 1 %}file{% else %}files{% endif %},
40
+ {{ result.size }} before compression, {% if result.credentials %}with{% else %}without{% endif %} credentials.
41
+ </p>
42
+ {% if result.credentialsLeftOut.length %}
43
+ <p>Credentials left out: {{ result.credentialsLeftOut | join(', ') }}.</p>
44
+ {% endif %}
45
+ {% if result.undeclared.length %}
46
+ <p>Left out because no declaration says what they are:</p>
47
+ <ul class="list-disc pl-6">
48
+ {% for file in result.undeclared %}<li><code class="break-all">{{ file }}</code></li>{% endfor %}
49
+ </ul>
50
+ {% endif %}
51
+ {% if result.notCarried.length %}
52
+ <p>Left out because an export holds only regular files:</p>
53
+ <ul class="list-disc pl-6">
54
+ {% for entry in result.notCarried %}<li><code class="break-all">{{ entry.path }}</code>, {{ entry.why }}</li>{% endfor %}
55
+ </ul>
56
+ {% endif %}
57
+ {% if archive %}
58
+ <p>
59
+ <code class="break-all">{{ archive.name }}</code> is deleted at
60
+ <time datetime="{{ archive.expiresAt }}">{{ archive.expiresAt | date('datetime') }}</time>,
61
+ or when the next export finishes.
62
+ </p>
63
+ <div>{{ buttonLink('Download ' + archive.size, downloadUrl, color='primary') }}</div>
64
+ {% else %}
65
+ <p>The archive was deleted 24 hours after it was written, or a later export replaced it. Export again to download one.</p>
66
+ {% endif %}
67
+ {% endif %}
68
+ {% endcall %}
69
+ {% endcall %}
70
+ </section>
71
+ {% endif %}
72
+
73
+ {% if not job or not job.active %}
74
+ {% call card(title='Export the site') %}
75
+ <form method="post" action="{{ exportUrl }}">
76
+ <input type="hidden" name="csrf_token" value="{{ csrfToken }}" />
77
+ {{ field.checkbox('export-with-credentials', fields.withCredentials,
78
+ 'Include credentials', checked=withCredentials,
79
+ hint='API keys and logins for other services, such as an email provider. Left out, they are typed in again after an import.') }}
80
+ {{ field.password('export-password', fields.password, 'Your password',
81
+ error=problem, autocomplete='current-password', required=true) }}
82
+ {% call cardActions() %}
83
+ {{ button('Export', type='submit', color='primary') }}
84
+ {% endcall %}
85
+ </form>
86
+ {% endcall %}
87
+ {% endif %}
88
+ </div>
89
+ {% endblock %}
@@ -0,0 +1,51 @@
1
+ {% extends "layouts/shell.njk" %}
2
+ {% import "components/fields.njk" as field %}
3
+ {% from "components/alert.njk" import alert %}
4
+ {% from "components/button.njk" import button %}
5
+ {% from "components/card.njk" import card, cardActions %}
6
+
7
+ {% block title %}{{ heading }}{% endblock %}
8
+
9
+ {% block content %}
10
+ <h1 class="mb-6 text-2xl font-bold">{{ heading }}</h1>
11
+
12
+ <div class="flex max-w-2xl flex-col gap-6">
13
+ {% if problems.on or problems.until %}
14
+ {% call field.summary('Nothing was saved. Fix the fields marked below.') %}
15
+ {{ field.problem('maintenance-on', problems.on) }}
16
+ {{ field.problem('maintenance-until', problems.until) }}
17
+ {% endcall %}
18
+ {% endif %}
19
+
20
+ <p class="max-w-prose">
21
+ {% if on %}
22
+ Maintenance mode is on. Pages, feeds, sitemaps and inbox deliveries answer 503 with
23
+ Retry-After; the admin, <code>/healthz</code> and signed-in users are let through.
24
+ {% else %}
25
+ Maintenance mode is off, and the site is serving.
26
+ {% endif %}
27
+ </p>
28
+
29
+ {% if overriddenBy %}
30
+ {% call alert(color='warning', style='soft') %}
31
+ <span>{{ overriddenBy }}</span>
32
+ {% endcall %}
33
+ {% endif %}
34
+
35
+ {% call card(title='Maintenance mode') %}
36
+ <form method="post" action="{{ saveUrl }}">
37
+ <input type="hidden" name="csrf_token" value="{{ csrfToken }}" />
38
+ {{ field.checkbox('maintenance-on', 'on', 'Take the public site down for maintenance', checked=on, error=problems.on) }}
39
+ {{ field.text('maintenance-until', 'until', 'Expected back', value=until, hint='Optional. An ISO 8601 time such as 2026-09-28T14:00:00Z, sent as Retry-After and shown on the maintenance page.', error=problems.until) }}
40
+ {% call cardActions() %}
41
+ {{ button('Save', type='submit', color='primary') }}
42
+ {% endcall %}
43
+ </form>
44
+ {% endcall %}
45
+
46
+ <p class="max-w-prose text-sm">
47
+ <code>geekity maintenance on</code> and <code>off</code> at the command line turn the
48
+ same switch, and a running site notices either within a second.
49
+ </p>
50
+ </div>
51
+ {% endblock %}
@@ -183,9 +183,9 @@
183
183
 
184
184
  <form class="mt-4 max-w-2xl" method="post" action="{{ withoutPkce.addUrl }}">
185
185
  <input type="hidden" name="csrf_token" value="{{ csrfToken }}" />
186
- {{ field.text('without-pkce-client', withoutPkce.field, 'App&rsquo;s client_id', withoutPkce.value,
186
+ {{ field.text('without-pkce-client', withoutPkce.field, labelHtml='App&rsquo;s client_id', value=withoutPkce.value,
187
187
  error=withoutPkce.problem, inputmode='url', spellcheck='false', required=true,
188
- hint='The URL the app names itself by when it signs in, as App activity shows it, such as <code>https://ia.net/writer</code>.') }}
188
+ hintHtml='The URL the app names itself by when it signs in, as App activity shows it, such as <code>https://ia.net/writer</code>.') }}
189
189
  <div class="mt-4">{{ button('Allow without PKCE', type='submit', color='primary') }}</div>
190
190
  </form>
191
191
  </section>
@@ -58,7 +58,7 @@
58
58
  {% endif %}
59
59
  {% endset %}
60
60
  {{ field.text('user-email', fields.email, 'Email address', account.email,
61
- type='email', autocomplete='email', hint=emailHint) }}
61
+ type='email', autocomplete='email', hintHtml=emailHint) }}
62
62
 
63
63
  <div class="mt-2">{{ button('Save email address', type='submit', color='primary') }}</div>
64
64
  </form>
@@ -96,7 +96,7 @@
96
96
 
97
97
  {% set avatarHint %}A path such as <code>/uploads/2026/09/me.jpg</code>, or a full URL.{% endset %}
98
98
  {{ field.text('profile-avatar', fields.avatar, 'Avatar', account.profile.avatar,
99
- hint=avatarHint) }}
99
+ hintHtml=avatarHint) }}
100
100
 
101
101
  {{ field.text('profile-job-title', fields.jobTitle, 'Job title', account.profile.jobTitle,
102
102
  hint='What they do, printed beside the name on the archive.') }}
@@ -125,7 +125,7 @@
125
125
  Geekity needs it.
126
126
  {% endset %}
127
127
  {{ field.textarea('profile-links', fields.links, 'Links', account.profile.links, rows='4',
128
- hint=linksHint, error=profileProblems.links) }}
128
+ hintHtml=linksHint, error=profileProblems.links) }}
129
129
 
130
130
  <div class="mt-2">{{ button('Save profile', type='submit', color='primary') }}</div>
131
131
  </form>
@@ -30,8 +30,8 @@
30
30
  {{ field.text('add-username', fields.username, 'Username', addForm.username,
31
31
  error=addProblems.username, required=true) }}
32
32
 
33
- {{ field.text('add-email', fields.email, 'Email <span class="font-normal">(optional)</span>',
34
- addForm.email, type='email', autocomplete='email', error=addProblems.email) }}
33
+ {{ field.text('add-email', fields.email, labelHtml='Email <span class="font-normal">(optional)</span>',
34
+ value=addForm.email, type='email', autocomplete='email', error=addProblems.email) }}
35
35
 
36
36
  {{ field.password('add-password', fields.password, 'Password',
37
37
  error=addProblems.password, autocomplete='new-password') }}
@@ -3617,6 +3617,82 @@
3617
3617
  overflow-x: auto;
3618
3618
  }
3619
3619
 
3620
+ .progress {
3621
+ appearance: none;
3622
+ border-radius: var(--radius-box);
3623
+ background-color: currentColor;
3624
+ width: 100%;
3625
+ height: .5rem;
3626
+ position: relative;
3627
+ overflow: hidden;
3628
+ }
3629
+
3630
+ @supports (color: color-mix(in lab, red, red)) {
3631
+ .progress {
3632
+ background-color: color-mix(in oklab, currentcolor 20%, transparent);
3633
+ }
3634
+ }
3635
+
3636
+ .progress {
3637
+ color: var(--color-base-content);
3638
+ }
3639
+
3640
+ .progress:indeterminate {
3641
+ background-image: repeating-linear-gradient(90deg, currentColor -1% 10%, #0000 10% 90%);
3642
+ background-position-x: 15%;
3643
+ background-size: 200%;
3644
+ }
3645
+
3646
+ @media (prefers-reduced-motion: no-preference) {
3647
+ .progress:indeterminate {
3648
+ animation: 5s ease-in-out infinite progress;
3649
+ }
3650
+ }
3651
+
3652
+ @supports ((-moz-appearance: none)) {
3653
+ .progress:indeterminate::-moz-progress-bar {
3654
+ background-color: #0000;
3655
+ }
3656
+
3657
+ @media (prefers-reduced-motion: no-preference) {
3658
+ .progress:indeterminate::-moz-progress-bar {
3659
+ background-image: repeating-linear-gradient(90deg, currentColor -1% 10%, #0000 10% 90%);
3660
+ background-position-x: 15%;
3661
+ background-size: 200%;
3662
+ animation: 5s ease-in-out infinite progress;
3663
+ }
3664
+ }
3665
+
3666
+ .progress::-moz-progress-bar {
3667
+ border-radius: var(--radius-box);
3668
+ background-color: currentColor;
3669
+ }
3670
+
3671
+ @media (prefers-reduced-motion: no-preference) {
3672
+ .progress::-moz-progress-bar {
3673
+ transition: inline-size .3s;
3674
+ }
3675
+ }
3676
+ }
3677
+
3678
+ @supports ((-webkit-appearance: none)) {
3679
+ .progress::-webkit-progress-bar {
3680
+ border-radius: var(--radius-box);
3681
+ background-color: #0000;
3682
+ }
3683
+
3684
+ .progress::-webkit-progress-value {
3685
+ border-radius: var(--radius-box);
3686
+ background-color: currentColor;
3687
+ }
3688
+
3689
+ @media (prefers-reduced-motion: no-preference) {
3690
+ .progress::-webkit-progress-value {
3691
+ transition: inline-size .3s;
3692
+ }
3693
+ }
3694
+ }
3695
+
3620
3696
  .file-input {
3621
3697
  border: var(--border) solid #0000;
3622
3698
  cursor: pointer;
@@ -5890,6 +5966,10 @@
5890
5966
  --alert-color: var(--color-warning);
5891
5967
  }
5892
5968
 
5969
+ .progress-primary {
5970
+ color: var(--color-primary);
5971
+ }
5972
+
5893
5973
  .link-hover {
5894
5974
  text-decoration-line: none;
5895
5975
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-activity.d.ts","sourceRoot":"","sources":["../../src/admin/app-activity.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAoBhD,sDAAsD;AACtD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GAAG,IAAI,CAwC9F"}
1
+ {"version":3,"file":"app-activity.d.ts","sourceRoot":"","sources":["../../src/admin/app-activity.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAmBhD,sDAAsD;AACtD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GAAG,IAAI,CAwC9F"}
@@ -1,7 +1,6 @@
1
1
  import { formatInTimezone } from './formatting.js';
2
2
  import { ADMIN_TEMPLATES } from './templates.js';
3
3
  import { APP_ACTIVITY_CHILD, APP_ACTIVITY_PATH } from './users.js';
4
- import { readSiteSettings } from '../site/site-json.js';
5
4
  import { isFailure, isFresh, readActivityLog } from '../web/indieauth-activity-log.js';
6
5
  /** What each endpoint is called on the screen. */
7
6
  const ENDPOINT_LABELS = {
@@ -17,7 +16,7 @@ export function mountAppActivity(app, options) {
17
16
  const { render } = options;
18
17
  app.get(APP_ACTIVITY_PATH, async (c) => {
19
18
  const { config } = c.var;
20
- const timezone = readSiteSettings(config.contentDir).timezone;
19
+ const timezone = c.var.siteAtRequestStart.timezone;
21
20
  const entries = await freshEntries(config.dataDir, config.now());
22
21
  const failuresOnly = c.req.query('show') === 'failures';
23
22
  const failures = entries.filter(isFailure);
@@ -42,7 +41,7 @@ export function mountAppActivity(app, options) {
42
41
  const entry = entries.find((candidate) => candidate.id === c.req.param('id'));
43
42
  if (entry === undefined)
44
43
  return c.notFound();
45
- const timezone = readSiteSettings(config.contentDir).timezone;
44
+ const timezone = c.var.siteAtRequestStart.timezone;
46
45
  return render(c, ADMIN_TEMPLATES.appActivityEntry, {
47
46
  section: 'users',
48
47
  child: APP_ACTIVITY_CHILD,
@@ -1 +1 @@
1
- {"version":3,"file":"app-activity.js","sourceRoot":"","sources":["../../src/admin/app-activity.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAOvF,kDAAkD;AAClD,MAAM,eAAe,GAA+C;IAClE,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,mDAAmD;AACnD,MAAM,cAAc,GAAG,eAAe,CAAC;AAEvC,sDAAsD;AACtD,MAAM,UAAU,gBAAgB,CAAC,GAAqB,EAAE,OAAgC;IACtF,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;QACzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC;QACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,CAAC,EAAE,eAAe,CAAC,WAAW,EAAE;YAC5C,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE;gBACJ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE;gBACvF;oBACE,KAAK,EAAE,UAAU;oBACjB,GAAG,EAAE,GAAG,iBAAiB,IAAI,cAAc,EAAE;oBAC7C,KAAK,EAAE,QAAQ,CAAC,MAAM;oBACtB,OAAO,EAAE,YAAY;iBACtB;aACF;YACD,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SAC/E,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,GAAG,iBAAiB,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;QAC9D,OAAO,MAAM,CAAC,CAAC,EAAE,eAAe,CAAC,gBAAgB,EAAE;YACjD,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,kBAAkB;YACzB,OAAO,EAAE,iBAAiB;YAC1B,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;YACvB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;SACvC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAe,EAAE,GAAS;IACpD,OAAO,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,sCAAsC;AACtC,SAAS,GAAG,CAAC,KAAoB,EAAE,QAAgB;IACjD,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO;QACL,GAAG,EAAE,GAAG,iBAAiB,IAAI,KAAK,CAAC,EAAE,EAAE;QACvC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE;QACnE,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC;QACzC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,EAAE,KAAK,CAAC,QAAQ;QACnB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM;QACN,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;KACzC,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,SAAS,OAAO,CAAC,KAAoB;IACnC,MAAM,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,QAAQ,KAAK,eAAe,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACrE,KAAK,CAAC,IAAI,CACR;YACE,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,KAAK,CAAC,IAAI;gBACf,CAAC,CAAC,iCAAiC;gBACnC,CAAC,CAAC,KAAK,CAAC,kBAAkB,KAAK,IAAI;oBACjC,CAAC,CAAC,4EAA4E;oBAC9E,CAAC,CAAC,iCAAiC;SACxC,EACD,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAC3D,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,MAAM,CAAC,MAAyB;IACvC,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,0EAA0E;AAC1E,SAAS,UAAU,CAAC,KAAmB;IACrC,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;QAC5C,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,GAAG,QAAQ,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS;YAC/E,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,IAAI,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9F,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"app-activity.js","sourceRoot":"","sources":["../../src/admin/app-activity.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,7 @@
5
5
  * The theme is a setting in `content/_data/site.json` like every other, and it
6
6
  * is deliberately on no settings page. A settings page is a form of fields
7
7
  * somebody types into; this is a list of what a directory holds, and what you
8
- * do to a row is press it. So the screen is mounted the way the media library
9
- * is — its own module, its own template, one POST behind the same CSRF guard —
10
- * and it reaches the setting through the same `updateSiteSettings` and the
11
- * same field check the settings pages use, so the two doors cannot come to
12
- * disagree about what a valid theme is.
8
+ * do to a row is press it.
13
9
  *
14
10
  * The listing is a walk of the themes directory on every request, for the
15
11
  * reason the media screen walks `content/uploads/`: the directory is the truth
@@ -1 +1 @@
1
- {"version":3,"file":"appearance.d.ts","sourceRoot":"","sources":["../../src/admin/appearance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAKhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKlD,mEAAmE;AACnE,eAAO,MAAM,WAAW,6BAAsC,CAAC;AAE/D,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAE/C,+CAA+C;AAC/C,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,WAAW,QAAwB,CAAC;AAEjD,yCAAyC;AACzC,MAAM,WAAW,SAAS;IACxB,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,MAAM,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE;IAAE,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EAAE,CAuB7F;AAeD,yEAAyE;AACzE,MAAM,WAAW,sBAAsB;IACrC,oFAAoF;IACpF,MAAM,EAAE,WAAW,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,EACrB,OAAO,EAAE,sBAAsB,GAC9B,IAAI,CAoEN"}
1
+ {"version":3,"file":"appearance.d.ts","sourceRoot":"","sources":["../../src/admin/appearance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAWlD,mEAAmE;AACnE,eAAO,MAAM,WAAW,6BAAsC,CAAC;AAE/D,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAE/C,+CAA+C;AAC/C,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,WAAW,QAAwB,CAAC;AAEjD,yCAAyC;AACzC,MAAM,WAAW,SAAS;IACxB,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,MAAM,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE;IAAE,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EAAE,CAuB7F;AAeD,yEAAyE;AACzE,MAAM,WAAW,sBAAsB;IACrC,oFAAoF;IACpF,MAAM,EAAE,WAAW,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,EACrB,OAAO,EAAE,sBAAsB,GAC9B,IAAI,CAkEN"}