@wizzlethorpe/vaults 0.7.0 → 0.7.1

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 (88) hide show
  1. package/README.md +8 -7
  2. package/dist/build.js +425 -123
  3. package/dist/build.js.map +1 -1
  4. package/dist/commands/build.js +2 -1
  5. package/dist/commands/build.js.map +1 -1
  6. package/dist/commands/password.js +1 -1
  7. package/dist/commands/password.js.map +1 -1
  8. package/dist/commands/patreon.js +24 -20
  9. package/dist/commands/patreon.js.map +1 -1
  10. package/dist/commands/preview.js +5 -4
  11. package/dist/commands/preview.js.map +1 -1
  12. package/dist/commands/push.js +7 -8
  13. package/dist/commands/push.js.map +1 -1
  14. package/dist/config.js +21 -10
  15. package/dist/config.js.map +1 -1
  16. package/dist/escape.js +29 -0
  17. package/dist/escape.js.map +1 -0
  18. package/dist/favicon.js +3 -36
  19. package/dist/favicon.js.map +1 -1
  20. package/dist/foundry-importer.js +61 -0
  21. package/dist/foundry-importer.js.map +1 -0
  22. package/dist/images.js +0 -30
  23. package/dist/images.js.map +1 -1
  24. package/dist/index.js +3 -2
  25. package/dist/index.js.map +1 -1
  26. package/dist/migrate/0.6-legacy-auth-settings.js +3 -5
  27. package/dist/migrate/0.6-legacy-auth-settings.js.map +1 -1
  28. package/dist/migrate/0.7-vaults-dir.js +4 -0
  29. package/dist/migrate/0.7-vaults-dir.js.map +1 -1
  30. package/dist/migrate/registry.js +1 -7
  31. package/dist/migrate/registry.js.map +1 -1
  32. package/dist/paths.js +21 -6
  33. package/dist/paths.js.map +1 -1
  34. package/dist/render/auth-template.js +21 -142
  35. package/dist/render/auth-template.js.map +1 -1
  36. package/dist/render/bases.js +56 -44
  37. package/dist/render/bases.js.map +1 -1
  38. package/dist/render/callouts.js +29 -10
  39. package/dist/render/callouts.js.map +1 -1
  40. package/dist/render/embed.js +124 -26
  41. package/dist/render/embed.js.map +1 -1
  42. package/dist/render/extensions.js +68 -0
  43. package/dist/render/extensions.js.map +1 -0
  44. package/dist/render/external-links.js +32 -0
  45. package/dist/render/external-links.js.map +1 -0
  46. package/dist/render/frontmatter.js +17 -0
  47. package/dist/render/frontmatter.js.map +1 -0
  48. package/dist/render/handlers/assets.js +48 -15
  49. package/dist/render/handlers/assets.js.map +1 -1
  50. package/dist/render/handlers/builtin/battlemap.js +199 -0
  51. package/dist/render/handlers/builtin/battlemap.js.map +1 -0
  52. package/dist/render/handlers/builtin/dice.js +1 -1
  53. package/dist/render/handlers/builtin/dice.js.map +1 -1
  54. package/dist/render/handlers/builtin/fm-code.js +50 -0
  55. package/dist/render/handlers/builtin/fm-code.js.map +1 -0
  56. package/dist/render/handlers/builtin/fm.js +6 -12
  57. package/dist/render/handlers/builtin/fm.js.map +1 -1
  58. package/dist/render/handlers/builtin/index.js +5 -1
  59. package/dist/render/handlers/builtin/index.js.map +1 -1
  60. package/dist/render/handlers/builtin/inline-format.js +26 -0
  61. package/dist/render/handlers/builtin/inline-format.js.map +1 -0
  62. package/dist/render/handlers/builtin/statblock.js +158 -18
  63. package/dist/render/handlers/builtin/statblock.js.map +1 -1
  64. package/dist/render/handlers/dispatch.js +15 -20
  65. package/dist/render/handlers/dispatch.js.map +1 -1
  66. package/dist/render/handlers/types.js +41 -21
  67. package/dist/render/handlers/types.js.map +1 -1
  68. package/dist/render/image-srcs.js +42 -0
  69. package/dist/render/image-srcs.js.map +1 -0
  70. package/dist/render/layout.js +60 -9
  71. package/dist/render/layout.js.map +1 -1
  72. package/dist/render/pipeline.js +23 -10
  73. package/dist/render/pipeline.js.map +1 -1
  74. package/dist/render/preview.js +53 -18
  75. package/dist/render/preview.js.map +1 -1
  76. package/dist/render/slug.js +5 -0
  77. package/dist/render/slug.js.map +1 -1
  78. package/dist/render/styles.js +94 -14
  79. package/dist/render/styles.js.map +1 -1
  80. package/dist/render/wikilink.js +15 -4
  81. package/dist/render/wikilink.js.map +1 -1
  82. package/dist/scan.js +1 -1
  83. package/dist/scan.js.map +1 -1
  84. package/dist/settings.js +16 -1
  85. package/dist/settings.js.map +1 -1
  86. package/dist/version.js +36 -0
  87. package/dist/version.js.map +1 -0
  88. package/package.json +2 -1
package/README.md CHANGED
@@ -42,7 +42,7 @@ Cloudflare Pages ← per-user, your account
42
42
  └── functions/_middleware.js ← auth gate (cookie/bearer based)
43
43
  ```
44
44
 
45
- - **Per-tier deploys.** A page tagged `role: dm` in its frontmatter only ships to the dm variant. Public visitors *cannot* fetch it; the file structurally doesn't exist in their variant.
45
+ - **Per-tier deploys.** A page tagged `role: dm` in its frontmatter only includes to the dm variant. Public visitors *cannot* fetch it; the file structurally doesn't exist in their variant.
46
46
  - **Inline gating with callouts.** Drop a `> [!dm]` callout in an otherwise public page; the entire block is stripped from the public deploy. Same for any other configured role.
47
47
  - **Images and media are gated too.** Only images, audio, video, PDFs, and EPUBs embedded by visible pages are copied into a given variant. Unknown extensions are skipped by default (toggle `include_unknown_files`).
48
48
  - **Incremental sync.** External clients (the [Foundry VTT module](https://github.com/wizzlethorpe/vaults)) probe `/_manifest.json` to discover the deploy's name, auth requirements, and role order, then pull `/_batch` (text) and `/_batch-images` (binary) for changed content. Manifest hashes fold in per-page frontmatter, so a role flip or title rename triggers a sync without a body diff.
@@ -111,7 +111,7 @@ ignore:
111
111
  ---
112
112
  ```
113
113
 
114
- Open it in Obsidian; the frontmatter shows up as a Properties form. Unknown keys are warned about and stripped on next push, so the file stays canonical. Auth config (roles, passwords, Patreon credentials) is **not** in `settings.md`; it lives in `.vaultrc.json` and is managed by the CLI.
114
+ Open it in Obsidian; the frontmatter shows up as a Properties form. Unknown keys are warned about and stripped on next push, so the file stays canonical. Auth config (roles, passwords, OAuth credentials) is **not** in `settings.md`; it lives in `.vaults/config.json` (with secrets in `.vaults/.env`) and is managed by the CLI.
115
115
 
116
116
  ## Page frontmatter
117
117
 
@@ -125,9 +125,10 @@ aliases: # extra names that resolve to this page from w
125
125
  - Pale Mountains
126
126
  - The Pale Mountains
127
127
  image: assets/banner.webp # optional cover image (OG / Twitter / Bases / Foundry)
128
- foundry_base: Compendium.dnd5e.monsters.Actor.bandit # optional Foundry doc to clone
129
- foundry: # optional doc overrides
130
- system.attributes.hp.value: 22
128
+ foundry: # optional Foundry instantiation
129
+ base: Compendium.dnd5e.monsters.Actor.bandit # template UUID, OR Type[:subtype] for blank doc
130
+ data: # deep-merge overlay
131
+ system.attributes.hp.value: 22
131
132
  ---
132
133
  ```
133
134
 
@@ -158,7 +159,7 @@ export const handler = {
158
159
 
159
160
  ### Browser-side assets
160
161
 
161
- If your handler needs to ship browser-side JavaScript or CSS, declare them with the `assets` field. Paths are relative to the handler file. Every declared asset across all handlers is concatenated into one `_handlers.js` and one `_handlers.css` at the deploy root, deduped by absolute path so a shared utility file is only included once.
162
+ If your handler needs to include browser-side JavaScript or CSS, declare them with the `assets` field. Paths are relative to the handler file. Every declared asset across all handlers is concatenated into one `_handlers.js` and one `_handlers.css` at the deploy root, deduped by absolute path so a shared utility file is only included once.
162
163
 
163
164
  ```js
164
165
  // .vaults/handlers/widget.mjs
@@ -195,7 +196,7 @@ User handlers can override built-ins of the same name. Trust model: handlers run
195
196
 
196
197
  ## Auth
197
198
 
198
- Multi-role deploys ship with a small Cloudflare Pages Function (`_middleware.js`) that:
199
+ Multi-role deploys include with a small Cloudflare Pages Function (`_middleware.js`) that:
199
200
 
200
201
  - **Gates per-role variants** via a signed cookie (`SameSite=None; Secure; Partitioned`).
201
202
  - **Issues bearer tokens** through an OAuth-style `/connect` flow used by the [Foundry module](https://github.com/wizzlethorpe/vaults).