@geekity/cms 0.4.0 → 0.6.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 (156) hide show
  1. package/README.md +246 -110
  2. package/admin/pages/documents/editor.njk +0 -13
  3. package/admin/pages/{settings/federation.njk → federation/settings.njk} +7 -5
  4. package/admin/pages/navigation/menus.njk +132 -0
  5. package/admin/pages/settings/reading.njk +2 -10
  6. package/admin/pages/tools/content-index.njk +89 -0
  7. package/admin/pages/users/edit.njk +25 -2
  8. package/admin/pages/users/list.njk +5 -2
  9. package/admin/static/admin.css +78 -3
  10. package/dist/access-log.d.ts +44 -0
  11. package/dist/access-log.d.ts.map +1 -0
  12. package/dist/access-log.js +71 -0
  13. package/dist/access-log.js.map +1 -0
  14. package/dist/admin/accounts.d.ts +10 -0
  15. package/dist/admin/accounts.d.ts.map +1 -1
  16. package/dist/admin/accounts.js +15 -3
  17. package/dist/admin/accounts.js.map +1 -1
  18. package/dist/admin/documents.d.ts +3 -13
  19. package/dist/admin/documents.d.ts.map +1 -1
  20. package/dist/admin/documents.js +2 -34
  21. package/dist/admin/documents.js.map +1 -1
  22. package/dist/admin/federation.d.ts +10 -0
  23. package/dist/admin/federation.d.ts.map +1 -1
  24. package/dist/admin/federation.js +10 -0
  25. package/dist/admin/federation.js.map +1 -1
  26. package/dist/admin/index.d.ts +3 -3
  27. package/dist/admin/index.d.ts.map +1 -1
  28. package/dist/admin/index.js +2 -2
  29. package/dist/admin/index.js.map +1 -1
  30. package/dist/admin/menu.d.ts.map +1 -1
  31. package/dist/admin/menu.js +19 -2
  32. package/dist/admin/menu.js.map +1 -1
  33. package/dist/admin/navigation.d.ts +155 -0
  34. package/dist/admin/navigation.d.ts.map +1 -0
  35. package/dist/admin/navigation.js +292 -0
  36. package/dist/admin/navigation.js.map +1 -0
  37. package/dist/admin/routes.d.ts.map +1 -1
  38. package/dist/admin/routes.js +9 -0
  39. package/dist/admin/routes.js.map +1 -1
  40. package/dist/admin/session.d.ts +17 -3
  41. package/dist/admin/session.d.ts.map +1 -1
  42. package/dist/admin/session.js +19 -5
  43. package/dist/admin/session.js.map +1 -1
  44. package/dist/admin/settings-federation.d.ts +10 -1
  45. package/dist/admin/settings-federation.d.ts.map +1 -1
  46. package/dist/admin/settings-federation.js +26 -6
  47. package/dist/admin/settings-federation.js.map +1 -1
  48. package/dist/admin/settings-page.d.ts +26 -9
  49. package/dist/admin/settings-page.d.ts.map +1 -1
  50. package/dist/admin/settings-page.js +18 -12
  51. package/dist/admin/settings-page.js.map +1 -1
  52. package/dist/admin/settings-pages.d.ts +14 -3
  53. package/dist/admin/settings-pages.d.ts.map +1 -1
  54. package/dist/admin/settings-pages.js +15 -5
  55. package/dist/admin/settings-pages.js.map +1 -1
  56. package/dist/admin/settings-reading.d.ts +5 -4
  57. package/dist/admin/settings-reading.d.ts.map +1 -1
  58. package/dist/admin/settings-reading.js +6 -5
  59. package/dist/admin/settings-reading.js.map +1 -1
  60. package/dist/admin/settings.d.ts +29 -15
  61. package/dist/admin/settings.d.ts.map +1 -1
  62. package/dist/admin/settings.js +28 -78
  63. package/dist/admin/settings.js.map +1 -1
  64. package/dist/admin/templates.d.ts +3 -1
  65. package/dist/admin/templates.d.ts.map +1 -1
  66. package/dist/admin/templates.js +3 -1
  67. package/dist/admin/templates.js.map +1 -1
  68. package/dist/admin/tools.d.ts +111 -0
  69. package/dist/admin/tools.d.ts.map +1 -0
  70. package/dist/admin/tools.js +182 -0
  71. package/dist/admin/tools.js.map +1 -0
  72. package/dist/admin/users.d.ts +24 -0
  73. package/dist/admin/users.d.ts.map +1 -1
  74. package/dist/admin/users.js +102 -30
  75. package/dist/admin/users.js.map +1 -1
  76. package/dist/cli.d.ts.map +1 -1
  77. package/dist/cli.js +6 -1
  78. package/dist/cli.js.map +1 -1
  79. package/dist/comments/form.d.ts +48 -0
  80. package/dist/comments/form.d.ts.map +1 -1
  81. package/dist/comments/form.js +15 -0
  82. package/dist/comments/form.js.map +1 -1
  83. package/dist/comments/index.d.ts +4 -3
  84. package/dist/comments/index.d.ts.map +1 -1
  85. package/dist/comments/index.js +2 -1
  86. package/dist/comments/index.js.map +1 -1
  87. package/dist/comments/routes.d.ts +3 -1
  88. package/dist/comments/routes.d.ts.map +1 -1
  89. package/dist/comments/routes.js +46 -11
  90. package/dist/comments/routes.js.map +1 -1
  91. package/dist/comments/submission.d.ts +37 -3
  92. package/dist/comments/submission.d.ts.map +1 -1
  93. package/dist/comments/submission.js +59 -20
  94. package/dist/comments/submission.js.map +1 -1
  95. package/dist/comments/viewer.d.ts +21 -0
  96. package/dist/comments/viewer.d.ts.map +1 -0
  97. package/dist/comments/viewer.js +45 -0
  98. package/dist/comments/viewer.js.map +1 -0
  99. package/dist/config.d.ts +35 -0
  100. package/dist/config.d.ts.map +1 -1
  101. package/dist/config.js +3 -0
  102. package/dist/config.js.map +1 -1
  103. package/dist/content/store.d.ts +18 -0
  104. package/dist/content/store.d.ts.map +1 -1
  105. package/dist/content/store.js +18 -0
  106. package/dist/content/store.js.map +1 -1
  107. package/dist/env.d.ts +12 -1
  108. package/dist/env.d.ts.map +1 -1
  109. package/dist/federation/mount.d.ts +4 -0
  110. package/dist/federation/mount.d.ts.map +1 -1
  111. package/dist/federation/mount.js +60 -15
  112. package/dist/federation/mount.js.map +1 -1
  113. package/dist/index.d.ts +5 -5
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +21 -4
  116. package/dist/index.js.map +1 -1
  117. package/dist/web/authors.d.ts +15 -1
  118. package/dist/web/authors.d.ts.map +1 -1
  119. package/dist/web/authors.js +9 -1
  120. package/dist/web/authors.js.map +1 -1
  121. package/dist/web/index.d.ts +4 -4
  122. package/dist/web/index.d.ts.map +1 -1
  123. package/dist/web/index.js +1 -1
  124. package/dist/web/index.js.map +1 -1
  125. package/dist/web/navigation.d.ts +235 -35
  126. package/dist/web/navigation.d.ts.map +1 -1
  127. package/dist/web/navigation.js +333 -57
  128. package/dist/web/navigation.js.map +1 -1
  129. package/dist/web/negotiate.d.ts +22 -0
  130. package/dist/web/negotiate.d.ts.map +1 -1
  131. package/dist/web/negotiate.js +25 -10
  132. package/dist/web/negotiate.js.map +1 -1
  133. package/dist/web/render.d.ts +16 -10
  134. package/dist/web/render.d.ts.map +1 -1
  135. package/dist/web/render.js +21 -14
  136. package/dist/web/render.js.map +1 -1
  137. package/dist/web/routes.d.ts.map +1 -1
  138. package/dist/web/routes.js +11 -2
  139. package/dist/web/routes.js.map +1 -1
  140. package/dist/web/themes.d.ts +21 -0
  141. package/dist/web/themes.d.ts.map +1 -1
  142. package/dist/web/themes.js +37 -0
  143. package/dist/web/themes.js.map +1 -1
  144. package/package.json +1 -1
  145. package/templates/site/content/_data/site.json +7 -0
  146. package/templates/site/content/pages/about.md +7 -0
  147. package/themes/default/README.md +215 -80
  148. package/themes/default/layouts/author.njk +3 -4
  149. package/themes/default/layouts/base.njk +38 -49
  150. package/themes/default/layouts/front-page.njk +1 -2
  151. package/themes/default/partials/bio.njk +20 -22
  152. package/themes/default/partials/comment-form.njk +31 -3
  153. package/themes/default/partials/menu.njk +34 -0
  154. package/themes/default/partials/search-form.njk +5 -0
  155. package/themes/default/static/style.css +54 -13
  156. package/themes/default/theme.json +5 -1
@@ -1,6 +1,6 @@
1
1
  import type { ResolvedConfig } from '../config.ts';
2
2
  import type { MailProviderName } from '../mail/provider.ts';
3
- import type { NavigationItem } from '../web/navigation.ts';
3
+ import type { NavigationMenus } from '../web/navigation.ts';
4
4
  import type { TaxonomyBases, TaxonomyRedirect } from '../web/taxonomy.ts';
5
5
  import type { AdminStore } from './store.ts';
6
6
  /**
@@ -199,14 +199,17 @@ export interface SiteSettings {
199
199
  */
200
200
  wordpressActivityPub: boolean;
201
201
  /**
202
- * The site menu: an ordered list of `{ label, url }` the theme renders in
203
- * the header and an Eleventy build reads out of `site.json`.
202
+ * Every menu the site holds, by name: `site.json`'s `menus`, each an ordered
203
+ * list of items a theme renders wherever it declares an area of that name
204
+ * and an Eleventy build reads out of the same file.
204
205
  *
205
- * The list is edited one `Label | URL` per line. A page may put itself on
206
- * the menu as well, with `navigation: true` in its front matter; those come
207
- * after these, so the menu a site typed out stays as it was typed.
206
+ * Not a field of the settings form, and deliberately: a menu is content a
207
+ * site arranges rather than a switch it sets, and which menus there are to
208
+ * edit comes from the active theme. The Navigation screen is what writes
209
+ * them (TASK-108); a settings page carries them through a save untouched,
210
+ * the way it carries the archive renames.
208
211
  */
209
- navigation: readonly NavigationItem[];
212
+ menus: NavigationMenus;
210
213
  /**
211
214
  * The taxonomy archives that have moved: one `{ taxonomy, from, to }` per
212
215
  * term the taxonomy screens renamed or merged away, so the URL it used to
@@ -221,10 +224,20 @@ export interface SiteSettings {
221
224
  /**
222
225
  * The settings the form on the settings screen carries.
223
226
  *
224
- * Every setting but the recorded archive renames, which the taxonomy screens
225
- * write; see {@link SiteSettings.taxonomyRedirects}.
227
+ * Every setting but the two that a screen of its own writes: the recorded
228
+ * archive renames, which the taxonomy screens write, and the menus, which the
229
+ * Navigation screen writes. See {@link CarriedSettings}.
226
230
  */
227
- export type SettingsField = Exclude<keyof SiteSettings, 'taxonomyRedirects'>;
231
+ export type SettingsField = Exclude<keyof SiteSettings, 'taxonomyRedirects' | 'menus'>;
232
+ /**
233
+ * The settings no settings form carries, as a save takes them from the file.
234
+ *
235
+ * Both are records of what another screen did rather than preferences typed
236
+ * into a box, so a save of the title reads them off `site.json` as it stands
237
+ * inside the write rather than off the form — which is what makes a menu
238
+ * edited while the settings page was open survive the save.
239
+ */
240
+ export type CarriedSettings = Partial<Pick<SiteSettings, 'taxonomyRedirects' | 'menus'>>;
228
241
  /**
229
242
  * What a site is worth before anybody has said otherwise.
230
243
  *
@@ -258,7 +271,6 @@ export declare const SETTINGS_FIELDS: {
258
271
  readonly contactEmail: 'contact_email';
259
272
  readonly relays: 'relays';
260
273
  readonly wordpressActivityPub: 'wordpress_activitypub';
261
- readonly navigation: 'navigation';
262
274
  };
263
275
  /** A submitted settings form, before it is known to be valid. */
264
276
  export type SettingsForm = Record<SettingsField, string>;
@@ -396,11 +408,13 @@ export declare function settingsProblems(form: SettingsForm, fields?: readonly S
396
408
  * A validated form as settings. Only call it on a form
397
409
  * {@link settingsProblems} found nothing wrong with.
398
410
  *
399
- * The recorded archive renames are carried in rather than read off the form,
400
- * because they are not on it: the taxonomy screens write them, and a save of
401
- * the other fields keeps whatever is stored.
411
+ * The archive renames and the menus are carried in rather than read off the
412
+ * form, because they are not on it: the taxonomy screens write the one and the
413
+ * Navigation screen the other, and a save of the fields that are on the form
414
+ * keeps whatever is stored. Passing the settings read inside the write is all
415
+ * a caller has to do, since they hold both.
402
416
  */
403
- export declare function settingsFromForm(form: SettingsForm, taxonomyRedirects?: readonly TaxonomyRedirect[]): SiteSettings;
417
+ export declare function settingsFromForm(form: SettingsForm, carried?: CarriedSettings): SiteSettings;
404
418
  /** The settings as the form shows them. */
405
419
  export declare function formFromSettings(settings: SiteSettings): SettingsForm;
406
420
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/admin/settings.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAOnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG1E,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,aAAa,oBAA6B,CAAC;AAExD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,QAA8C,CAAC;AAEhF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,QAAsC,CAAC;AAEjE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;;;OAUG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAC/B;;;;;OAKG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;;;;;;;OAQG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,YAAY,EAAE,gBAAgB,CAAC;IAC/B,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;OAUG;IACH,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B;;;;;;;;;;;OAWG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;;;;;OAOG;IACH,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IACtC;;;;;;;;OAQG;IACH,iBAAiB,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAChD;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,YAAY,EAAE,mBAAmB,CAAC,CAAC;AAE7E;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,YA2BnC,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,eAAe;oBACnB,OAAO;sBACL,SAAS;sBACT,UAAU;uBACT,UAAU;uBACV,UAAU;2BACN,gBAAgB;uBACpB,UAAU;wBACT,YAAY;qBACf,QAAQ;oBACT,OAAO;sBACL,UAAU;2BACL,eAAe;uBACnB,UAAU;qCACI,2BAA2B;8BAClC,kBAAkB;iCACf,qBAAqB;2BAC3B,eAAe;2BACf,eAAe;2BACf,gBAAgB;8BACb,mBAAmB;0BACvB,eAAe;2BACd,eAAe;qBACrB,QAAQ;mCACM,uBAAuB;yBACjC,YAAY;CACwB,CAAC;AAEnD,iEAAiE;AACjE,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAEzD,4EAA4E;AAC5E,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtE;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAEjE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CA4EhF;AAED,8EAA8E;AAC9E,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,YAAY,GAAG,aAAa,CAE/E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,YAAY,EACtB,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4CzB;AAED,iEAAiE;AACjE,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAOD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;CACxB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,YAAY,CAAC;CACjD,GAAG,OAAO,CAAC,YAAY,CAAC,CAUxB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiB9F;AA8CD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,eAAe,CAAC,EACzD,QAAQ,EAAE,YAAY,GACrB,MAAM,CAGR;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAsKD,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB,EAAE,SAAS,aAAa,EAErC,CAAC;AAErB;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,YAAY,EAClB,MAAM,GAAE,SAAS,aAAa,EAAyB,EACvD,OAAO,GAAE,eAAoB,GAC5B,gBAAgB,CASlB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,YAAY,EAClB,iBAAiB,GAAE,SAAS,gBAAgB,EAA4C,GACvF,YAAY,CAoCd;AAED,2CAA2C;AAC3C,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,CA4BrE;AA0DD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAOjD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAcrE"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/admin/settings.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { readFileIfPresentSync, updateFileAtomically, writeFileAtomicallySync, }
5
5
  import { MAIL_PROVIDERS } from '../mail/provider.js';
6
6
  import { SITE_DATA_FILE } from '../web/context.js';
7
7
  import { DEFAULT_NOTIFY_SERVER } from '../web/feeds.js';
8
- import { navigationItemsOf } from '../web/navigation.js';
8
+ import { DEFAULT_MENU_NAME, menuItemsFromText, menusOf } from '../web/navigation.js';
9
9
  import { DEFAULT_TAXONOMY_BASES, taxonomyBaseProblems, taxonomyRedirectsOf, } from '../web/taxonomy.js';
10
10
  import { readTheme, themeNameProblem } from '../web/themes.js';
11
11
  import { ADMIN_PREFIX } from './session.js';
@@ -67,7 +67,7 @@ export const DEFAULT_SITE_SETTINGS = {
67
67
  contactEmail: '',
68
68
  relays: [],
69
69
  wordpressActivityPub: false,
70
- navigation: [],
70
+ menus: {},
71
71
  taxonomyRedirects: [],
72
72
  };
73
73
  /** The form field each setting is submitted under. */
@@ -96,7 +96,6 @@ export const SETTINGS_FIELDS = {
96
96
  contactEmail: 'contact_email',
97
97
  relays: 'relays',
98
98
  wordpressActivityPub: 'wordpress_activitypub',
99
- navigation: 'navigation',
100
99
  };
101
100
  /**
102
101
  * A site's settings, as its `content/_data/site.json` says them right now.
@@ -188,9 +187,10 @@ export function settingsFromSiteJson(file) {
188
187
  ...(typeof file['wordpressActivityPub'] === 'boolean'
189
188
  ? { wordpressActivityPub: file['wordpressActivityPub'] }
190
189
  : {}),
191
- ...(Array.isArray(file['navigation'])
192
- ? { navigation: navigationItemsOf(file['navigation']) }
193
- : {}),
190
+ // Every menu the site holds, whether or not the theme in use renders it.
191
+ // The `navigation` key the one menu used to live under is not read at all:
192
+ // menus were renamed rather than migrated (TASK-107).
193
+ ...(file['menus'] === undefined ? {} : { menus: menusOf(file['menus']) }),
194
194
  // The renames a site has published redirects for: facts about its URLs
195
195
  // rather than preferences, which is why a content directory restored on
196
196
  // its own keeps answering the archive URLs it used to.
@@ -242,9 +242,21 @@ export function siteJsonFor(settings, existing = {}) {
242
242
  mailReplyTo: settings.mailReplyTo,
243
243
  contactEmail: settings.contactEmail,
244
244
  relays: [...settings.relays],
245
- navigation: settings.navigation.map((item) => ({ ...item })),
245
+ // Every menu the site holds, written whole. A settings page never has
246
+ // them off its own form — it reads them out of the file inside the write
247
+ // and hands them straight back — so the one screen that models them is the
248
+ // one that edits them (TASK-108).
249
+ menus: Object.fromEntries(Object.entries(settings.menus).map(([name, items]) => [
250
+ name,
251
+ items.map((item) => ({ ...item })),
252
+ ])),
246
253
  taxonomyRedirects: settings.taxonomyRedirects.map((entry) => ({ ...entry })),
247
254
  };
255
+ // The key the menu lived under before menus had names. A rename leaves
256
+ // nothing behind: a `navigation` array sitting beside `menus` in a file
257
+ // nothing reads it from is the kind of thing somebody edits for an hour
258
+ // before noticing.
259
+ delete file['navigation'];
248
260
  // `theme` is absent for a site on the packaged theme, on the same rule and
249
261
  // for the same reason as the two above: running what the package ships is
250
262
  // not a choice a site should have to write down, and a `theme` of `""` would
@@ -353,7 +365,7 @@ function settingsFromRows(rows) {
353
365
  ? {}
354
366
  : { postsPerPage: Number(stored['postsPerPage']) }),
355
367
  relays: relayList(stored['relays'] ?? ''),
356
- navigation: navigationList(stored['navigation'] ?? ''),
368
+ menus: { [DEFAULT_MENU_NAME]: menuItemsFromText(stored['navigation'] ?? '') },
357
369
  taxonomyRedirects: redirectList(stored['taxonomyRedirects'] ?? ''),
358
370
  });
359
371
  }
@@ -504,16 +516,6 @@ const FIELD_CHECKS = {
504
516
  // A checkbox is either submitted or not, so there is nothing a person could
505
517
  // get wrong about it.
506
518
  wordpressActivityPub: () => undefined,
507
- // A menu is checked line by line like the relays, and for the same reason:
508
- // one message on a textarea is more use pointing at the line to fix than
509
- // counting how many are wrong.
510
- navigation: (form) => {
511
- const bad = navigationLines(form.navigation).find((line) => navigationItem(line) === undefined);
512
- return bad === undefined
513
- ? undefined
514
- : `A menu item is "Label | URL", one per line, where the URL is a path ` +
515
- `like /about/ or an absolute http:// or https:// URL. "${bad}" is not one.`;
516
- },
517
519
  // The two archive bases are checked as a pair, because two of the rules —
518
520
  // that they differ, and that neither takes a path the site already answers
519
521
  // on — are about the pair rather than either one. They are on one page for
@@ -544,13 +546,16 @@ export function settingsProblems(form, fields = SETTINGS_FIELD_NAMES, context =
544
546
  * A validated form as settings. Only call it on a form
545
547
  * {@link settingsProblems} found nothing wrong with.
546
548
  *
547
- * The recorded archive renames are carried in rather than read off the form,
548
- * because they are not on it: the taxonomy screens write them, and a save of
549
- * the other fields keeps whatever is stored.
549
+ * The archive renames and the menus are carried in rather than read off the
550
+ * form, because they are not on it: the taxonomy screens write the one and the
551
+ * Navigation screen the other, and a save of the fields that are on the form
552
+ * keeps whatever is stored. Passing the settings read inside the write is all
553
+ * a caller has to do, since they hold both.
550
554
  */
551
- export function settingsFromForm(form, taxonomyRedirects = DEFAULT_SITE_SETTINGS.taxonomyRedirects) {
555
+ export function settingsFromForm(form, carried = {}) {
552
556
  return {
553
- taxonomyRedirects,
557
+ taxonomyRedirects: carried.taxonomyRedirects ?? DEFAULT_SITE_SETTINGS.taxonomyRedirects,
558
+ menus: carried.menus ?? DEFAULT_SITE_SETTINGS.menus,
554
559
  title: form.title.trim(),
555
560
  tagline: form.tagline.trim(),
556
561
  baseUrl: normalizeBaseUrl(form.baseUrl) ?? '',
@@ -582,7 +587,6 @@ export function settingsFromForm(form, taxonomyRedirects = DEFAULT_SITE_SETTINGS
582
587
  contactEmail: form.contactEmail.trim(),
583
588
  relays: relayList(form.relays),
584
589
  wordpressActivityPub: form.wordpressActivityPub !== '',
585
- navigation: navigationList(form.navigation),
586
590
  };
587
591
  }
588
592
  /** The settings as the form shows them. */
@@ -612,7 +616,6 @@ export function formFromSettings(settings) {
612
616
  contactEmail: settings.contactEmail,
613
617
  relays: settings.relays.join('\n'),
614
618
  wordpressActivityPub: settings.wordpressActivityPub ? '1' : '',
615
- navigation: navigationText(settings.navigation),
616
619
  };
617
620
  }
618
621
  /**
@@ -756,57 +759,4 @@ function parseSiteJson(source) {
756
759
  ? parsed
757
760
  : {};
758
761
  }
759
- /**
760
- * The non-empty lines of the navigation textarea, trimmed.
761
- *
762
- * Blank lines are not an error, exactly as they are not in the relay list: a
763
- * pasted menu leaves them, and a blank line asks for nothing.
764
- */
765
- function navigationLines(value) {
766
- return value
767
- .split('\n')
768
- .map((line) => line.trim())
769
- .filter((line) => line !== '');
770
- }
771
- /**
772
- * One `Label | URL` line as a menu item, or `undefined` when it is not one.
773
- *
774
- * The split is at the first bar, so a URL holding one — a query string, say —
775
- * survives and a label cannot hold one. The URL is either a site-root path or
776
- * an absolute http(s) URL: a bare `about/` would be resolved against whatever
777
- * page it was printed on, which is never what a menu means.
778
- */
779
- function navigationItem(line) {
780
- const bar = line.indexOf('|');
781
- if (bar === -1)
782
- return undefined;
783
- const label = line.slice(0, bar).trim();
784
- const url = line.slice(bar + 1).trim();
785
- if (label === '' || url === '')
786
- return undefined;
787
- if (url.startsWith('/'))
788
- return { label, url };
789
- return normalizeRelayInbox(url) === undefined ? undefined : { label, url };
790
- }
791
- /**
792
- * A navigation textarea as the ordered items it names.
793
- *
794
- * Exported nowhere: the same parsing turns the stored setting and the
795
- * submitted form into one list, and `site.json` is read by
796
- * {@link navigationItemsOf} instead, because the file holds objects rather
797
- * than lines.
798
- */
799
- function navigationList(value) {
800
- const items = [];
801
- for (const line of navigationLines(value)) {
802
- const item = navigationItem(line);
803
- if (item !== undefined)
804
- items.push(item);
805
- }
806
- return items;
807
- }
808
- /** The items as the textarea shows them, and as the settings table holds them. */
809
- function navigationText(items) {
810
- return items.map((item) => `${item.label} | ${item.url}`).join('\n');
811
- }
812
762
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/admin/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/admin/settings.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ export declare const ADMIN_TEMPLATES: {
37
37
  readonly documentEditor: 'pages/documents/editor.njk';
38
38
  readonly documentConflict: 'pages/documents/conflict.njk';
39
39
  readonly taxonomy: 'pages/documents/taxonomy.njk';
40
+ readonly navigation: 'pages/navigation/menus.njk';
40
41
  readonly media: 'pages/media/library.njk';
41
42
  readonly themes: 'pages/appearance/themes.njk';
42
43
  readonly comments: 'pages/comments/all.njk';
@@ -46,11 +47,12 @@ export declare const ADMIN_TEMPLATES: {
46
47
  readonly settingsPermalinks: 'pages/settings/permalinks.njk';
47
48
  readonly settingsDiscussion: 'pages/settings/discussion.njk';
48
49
  readonly settingsEmail: 'pages/settings/email.njk';
49
- readonly settingsFederation: 'pages/settings/federation.njk';
50
+ readonly toolsContentIndex: 'pages/tools/content-index.njk';
50
51
  readonly usersList: 'pages/users/list.njk';
51
52
  readonly usersNew: 'pages/users/new.njk';
52
53
  readonly usersEdit: 'pages/users/edit.njk';
53
54
  readonly federation: 'pages/federation/followers.njk';
55
+ readonly federationSettings: 'pages/federation/settings.njk';
54
56
  };
55
57
  /** How to build an {@link createAdminTemplateEnvironment}. */
56
58
  export interface CreateAdminTemplateEnvironmentOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/admin/templates.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAoB,MAAM,UAAU,CAAC;AAIzD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAgE,CAAC;AAElG;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;aAC1B,KAAK,EAAE,yBAAyB;aAChC,KAAK,EAAE,yBAAyB;aAChC,MAAM,EAAE,0BAA0B;aAClC,KAAK,EAAE,yBAAyB;aAChC,SAAS,EAAE,0BAA0B;aACrC,WAAW,EAAE,uBAAuB;aACpC,YAAY,EAAE,0BAA0B;aACxC,cAAc,EAAE,4BAA4B;aAC5C,gBAAgB,EAAE,8BAA8B;aAChD,QAAQ,EAAE,8BAA8B;aACxC,KAAK,EAAE,yBAAyB;aAChC,MAAM,EAAE,6BAA6B;aACrC,QAAQ,EAAE,wBAAwB;aAClC,QAAQ,EAAE,wBAAwB;aAClC,eAAe,EAAE,4BAA4B;aAC7C,eAAe,EAAE,4BAA4B;aAC7C,kBAAkB,EAAE,+BAA+B;aACnD,kBAAkB,EAAE,+BAA+B;aACnD,aAAa,EAAE,0BAA0B;aACzC,kBAAkB,EAAE,+BAA+B;aACnD,SAAS,EAAE,sBAAsB;aACjC,QAAQ,EAAE,qBAAqB;aAC/B,SAAS,EAAE,sBAAsB;aACjC,UAAU,EAAE,gCAAgC;CACpC,CAAC;AAEX,8DAA8D;AAC9D,MAAM,WAAW,qCAAqC;IACpD;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,+EAA+E;AAC/E,wBAAgB,8BAA8B,CAC5C,OAAO,GAAE,qCAA0C,GAClD,WAAW,CAmBb"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/admin/templates.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAoB,MAAM,UAAU,CAAC;AAIzD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAgE,CAAC;AAElG;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;aAC1B,KAAK,EAAE,yBAAyB;aAChC,KAAK,EAAE,yBAAyB;aAChC,MAAM,EAAE,0BAA0B;aAClC,KAAK,EAAE,yBAAyB;aAChC,SAAS,EAAE,0BAA0B;aACrC,WAAW,EAAE,uBAAuB;aACpC,YAAY,EAAE,0BAA0B;aACxC,cAAc,EAAE,4BAA4B;aAC5C,gBAAgB,EAAE,8BAA8B;aAChD,QAAQ,EAAE,8BAA8B;aACxC,UAAU,EAAE,4BAA4B;aACxC,KAAK,EAAE,yBAAyB;aAChC,MAAM,EAAE,6BAA6B;aACrC,QAAQ,EAAE,wBAAwB;aAClC,QAAQ,EAAE,wBAAwB;aAClC,eAAe,EAAE,4BAA4B;aAC7C,eAAe,EAAE,4BAA4B;aAC7C,kBAAkB,EAAE,+BAA+B;aACnD,kBAAkB,EAAE,+BAA+B;aACnD,aAAa,EAAE,0BAA0B;aACzC,iBAAiB,EAAE,+BAA+B;aAClD,SAAS,EAAE,sBAAsB;aACjC,QAAQ,EAAE,qBAAqB;aAC/B,SAAS,EAAE,sBAAsB;aACjC,UAAU,EAAE,gCAAgC;aAC5C,kBAAkB,EAAE,+BAA+B;CAC3C,CAAC;AAEX,8DAA8D;AAC9D,MAAM,WAAW,qCAAqC;IACpD;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,+EAA+E;AAC/E,wBAAgB,8BAA8B,CAC5C,OAAO,GAAE,qCAA0C,GAClD,WAAW,CAmBb"}
@@ -39,6 +39,7 @@ export const ADMIN_TEMPLATES = {
39
39
  documentEditor: 'pages/documents/editor.njk',
40
40
  documentConflict: 'pages/documents/conflict.njk',
41
41
  taxonomy: 'pages/documents/taxonomy.njk',
42
+ navigation: 'pages/navigation/menus.njk',
42
43
  media: 'pages/media/library.njk',
43
44
  themes: 'pages/appearance/themes.njk',
44
45
  comments: 'pages/comments/all.njk',
@@ -48,11 +49,12 @@ export const ADMIN_TEMPLATES = {
48
49
  settingsPermalinks: 'pages/settings/permalinks.njk',
49
50
  settingsDiscussion: 'pages/settings/discussion.njk',
50
51
  settingsEmail: 'pages/settings/email.njk',
51
- settingsFederation: 'pages/settings/federation.njk',
52
+ toolsContentIndex: 'pages/tools/content-index.njk',
52
53
  usersList: 'pages/users/list.njk',
53
54
  usersNew: 'pages/users/new.njk',
54
55
  usersEdit: 'pages/users/edit.njk',
55
56
  federation: 'pages/federation/followers.njk',
57
+ federationSettings: 'pages/federation/settings.njk',
56
58
  };
57
59
  /** A Nunjucks environment over {@link PACKAGED_ADMIN_DIR} and nothing else. */
58
60
  export function createAdminTemplateEnvironment(options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/admin/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAW,aAAa,CAAC,IAAI,GAAG,CAAC,cAAc,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAElG;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,yBAAyB;IAChC,KAAK,EAAE,yBAAyB;IAChC,MAAM,EAAE,0BAA0B;IAClC,KAAK,EAAE,yBAAyB;IAChC,SAAS,EAAE,0BAA0B;IACrC,WAAW,EAAE,uBAAuB;IACpC,YAAY,EAAE,0BAA0B;IACxC,cAAc,EAAE,4BAA4B;IAC5C,gBAAgB,EAAE,8BAA8B;IAChD,QAAQ,EAAE,8BAA8B;IACxC,KAAK,EAAE,yBAAyB;IAChC,MAAM,EAAE,6BAA6B;IACrC,QAAQ,EAAE,wBAAwB;IAClC,QAAQ,EAAE,wBAAwB;IAClC,eAAe,EAAE,4BAA4B;IAC7C,eAAe,EAAE,4BAA4B;IAC7C,kBAAkB,EAAE,+BAA+B;IACnD,kBAAkB,EAAE,+BAA+B;IACnD,aAAa,EAAE,0BAA0B;IACzC,kBAAkB,EAAE,+BAA+B;IACnD,SAAS,EAAE,sBAAsB;IACjC,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE,sBAAsB;IACjC,UAAU,EAAE,gCAAgC;CACpC,CAAC;AAYX,+EAA+E;AAC/E,MAAM,UAAU,8BAA8B,CAC5C,OAAO,GAA0C,EAAE;IAEnD,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,CAAC,kBAAkB,CAAC,EAAE;QACxD,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,IAAI;KAClC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE;QAC1C,UAAU,EAAE,IAAI;QAChB,gBAAgB,EAAE,KAAK;QACvB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,yEAAyE;IACzE,sEAAsE;IACtE,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,KAAc,EAAE,MAAM,GAAY,UAAU,EAAE,EAAE,CAC7E,UAAU,CAAC,KAAK,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CACpE,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/admin/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAW,aAAa,CAAC,IAAI,GAAG,CAAC,cAAc,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAElG;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,yBAAyB;IAChC,KAAK,EAAE,yBAAyB;IAChC,MAAM,EAAE,0BAA0B;IAClC,KAAK,EAAE,yBAAyB;IAChC,SAAS,EAAE,0BAA0B;IACrC,WAAW,EAAE,uBAAuB;IACpC,YAAY,EAAE,0BAA0B;IACxC,cAAc,EAAE,4BAA4B;IAC5C,gBAAgB,EAAE,8BAA8B;IAChD,QAAQ,EAAE,8BAA8B;IACxC,UAAU,EAAE,4BAA4B;IACxC,KAAK,EAAE,yBAAyB;IAChC,MAAM,EAAE,6BAA6B;IACrC,QAAQ,EAAE,wBAAwB;IAClC,QAAQ,EAAE,wBAAwB;IAClC,eAAe,EAAE,4BAA4B;IAC7C,eAAe,EAAE,4BAA4B;IAC7C,kBAAkB,EAAE,+BAA+B;IACnD,kBAAkB,EAAE,+BAA+B;IACnD,aAAa,EAAE,0BAA0B;IACzC,iBAAiB,EAAE,+BAA+B;IAClD,SAAS,EAAE,sBAAsB;IACjC,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE,sBAAsB;IACjC,UAAU,EAAE,gCAAgC;IAC5C,kBAAkB,EAAE,+BAA+B;CAC3C,CAAC;AAYX,+EAA+E;AAC/E,MAAM,UAAU,8BAA8B,CAC5C,OAAO,GAA0C,EAAE;IAEnD,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,CAAC,kBAAkB,CAAC,EAAE;QACxD,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,IAAI;KAClC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE;QAC1C,UAAU,EAAE,IAAI;QAChB,gBAAgB,EAAE,KAAK;QACvB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,yEAAyE;IACzE,sEAAsE;IACtE,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,KAAc,EAAE,MAAM,GAAY,UAAU,EAAE,EAAE,CAC7E,UAAU,CAAC,KAAK,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CACpE,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Tools > Content index: reading every file again, on a site that is serving.
3
+ *
4
+ * `geekity rebuild` deletes `data/geekity.db` and boots a fresh CMS, so it
5
+ * refuses to run while a server holds the file — and in a container the server
6
+ * is PID 1, which makes the only route stopping the container, running a
7
+ * one-off one, and starting it again. This is the same repair without the
8
+ * downtime: nothing is deleted and no connection is swapped, so the services
9
+ * that captured the store objects at boot — the renderer, delivery, the
10
+ * scheduler, comments, webmentions, the relays — go on working against the
11
+ * same objects while the rows underneath them are replaced.
12
+ *
13
+ * It is also kinder than the command. Because nothing is deleted it keeps the
14
+ * sessions, so the admin who pressed the button is still signed in when the
15
+ * redirect lands; it keeps the delivery log and the relay handshakes; and it
16
+ * keeps the scheduler's watermark, so a post that came due during the rebuild
17
+ * is still announced. The command stays as it is for the one case an admin
18
+ * screen cannot be the door for: a database this version refuses to open,
19
+ * where there is no running server to press a button in.
20
+ */
21
+ import type { Hono } from 'hono';
22
+ import type { ContentStore } from '../content/store.ts';
23
+ import type { SyncResult } from '../content/sync.ts';
24
+ import type { GeekityEnv } from '../env.ts';
25
+ import type { AdminRender } from './documents.ts';
26
+ import type { AdminStore } from './store.ts';
27
+ /**
28
+ * Where the Content index screen lives.
29
+ *
30
+ * `/admin/tools` itself rather than `/admin/tools/content-index`, the way
31
+ * General is `/admin/settings` itself: a section's heading lands on its first
32
+ * child, and this is the first one.
33
+ */
34
+ export declare const TOOLS_PATH = "/admin/tools";
35
+ /** Where the Rebuild button posts. */
36
+ export declare const REBUILD_INDEX_PATH = "/admin/tools/rebuild-index";
37
+ /** The navigation section the screen marks as current. */
38
+ export declare const TOOLS_SECTION = "tools";
39
+ /** The child of that section it is. */
40
+ export declare const CONTENT_INDEX_CHILD = "index";
41
+ /** The fields the form on the screen submits. */
42
+ export declare const TOOLS_FIELDS: {
43
+ /** Set once the admin has been shown what a rebuild costs while it runs. */
44
+ readonly confirm: 'confirm';
45
+ };
46
+ /** What one in-place rebuild put back. */
47
+ export interface ContentIndexRebuild {
48
+ /** What the scan of `content/` did, exactly as `cms.sync()` reports it. */
49
+ scan: SyncResult;
50
+ /** How many followers the federation files held. */
51
+ followers: number;
52
+ /** How many inbox activities the log held. */
53
+ activities: number;
54
+ /** How many comments the comment files held. */
55
+ comments: number;
56
+ }
57
+ /** What {@link rebuildContentIndex} needs. */
58
+ export interface RebuildContentIndexOptions {
59
+ /** The index to empty and fill again. */
60
+ store: ContentStore;
61
+ /** The database the federation and comment indexes live in. */
62
+ admin: AdminStore;
63
+ /** The content directory every one of them is read from. */
64
+ contentDir: string;
65
+ /** The full scan, which is `cms.sync()`: see {@link GeekityEnv} `rescan`. */
66
+ rescan: () => Promise<SyncResult>;
67
+ }
68
+ /**
69
+ * Read `content/` back into the index, in place, on the live connections.
70
+ *
71
+ * The three rebuilds are the three that already run on every boot, in the
72
+ * order boot runs them, so a rebuilt index and a booted one are the same
73
+ * index. The only thing here that boot does not do is the clear — boot is
74
+ * cold — and the clear is what makes the scan read every file: a row whose
75
+ * hash matches its file is a row the scan leaves alone, which is exactly the
76
+ * case an out-of-band edit or a damaged index leaves behind.
77
+ *
78
+ * The clear and the scan are deliberately **not** one transaction. One
79
+ * connection serves every request, so a write transaction held open across the
80
+ * scan would not isolate the rebuild from anybody else — it would pull their
81
+ * writes into it and roll them back with it if the scan threw. The cost is a
82
+ * window, between the clear and the end of the scan, in which the site answers
83
+ * 404 for documents whose files are perfectly fine; the screen says so before
84
+ * the button is pressed.
85
+ *
86
+ * It federates nothing. Every change the scan emits carries `origin: 'scan'`,
87
+ * which delivery, the webmentions and the feed notifier all ignore — the same
88
+ * reason a boot scan is silent.
89
+ */
90
+ export declare function rebuildContentIndex(options: RebuildContentIndexOptions): Promise<ContentIndexRebuild>;
91
+ /** What {@link mountToolsScreen} needs from the admin around it. */
92
+ export interface MountToolsOptions {
93
+ /** The admin's renderer, which injects the chrome, the CSRF token and the flash. */
94
+ render: AdminRender;
95
+ }
96
+ /**
97
+ * Register Tools > Content index: what the index holds, and the button that
98
+ * reads the files back into it.
99
+ *
100
+ * The rebuild runs inside the POST, as the taxonomy rewrite does, and says
101
+ * what it did on the flash. There is no progress bar and nothing to poll:
102
+ * `node:sqlite` is synchronous, so a rebuild moved off the request would block
103
+ * the same event loop from somewhere nobody can see, and progress would need
104
+ * state the database is not allowed to keep (decision-9). A site whose scan
105
+ * takes long enough for that to matter is one that should be told, which is
106
+ * what the screen does.
107
+ */
108
+ export declare function mountToolsScreen(app: Hono<GeekityEnv>, options: MountToolsOptions): void;
109
+ /** What a finished rebuild says on the flash. */
110
+ export declare function rebuildMessage(report: ContentIndexRebuild): string;
111
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/admin/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,MAAM,CAAC;AAG1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,iBAA0B,CAAC;AAElD,sCAAsC;AACtC,eAAO,MAAM,kBAAkB,+BAAwC,CAAC;AAExE,0DAA0D;AAC1D,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC,uCAAuC;AACvC,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAE3C,iDAAiD;AACjD,eAAO,MAAM,YAAY;IACvB,4EAA4E;aAC5E,OAAO,EAAE,SAAS;CACV,CAAC;AAEX,0CAA0C;AAC1C,MAAM,WAAW,mBAAmB;IAClC,2EAA2E;IAC3E,IAAI,EAAE,UAAU,CAAC;IACjB,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,8CAA8C;AAC9C,MAAM,WAAW,0BAA0B;IACzC,yCAAyC;IACzC,KAAK,EAAE,YAAY,CAAC;IACpB,+DAA+D;IAC/D,KAAK,EAAE,UAAU,CAAC;IAClB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,MAAM,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAe9B;AAED,oEAAoE;AACpE,MAAM,WAAW,iBAAiB;IAChC,oFAAoF;IACpF,MAAM,EAAE,WAAW,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CA6ExF;AAED,iDAAiD;AACjD,wBAAgB,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAYlE"}