@wizzlethorpe/vaults 0.13.5 → 0.15.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.
- package/README.md +2 -2
- package/dist/asset-refs.js +282 -0
- package/dist/asset-refs.js.map +1 -0
- package/dist/auth.js.map +1 -1
- package/dist/build.js +393 -544
- package/dist/build.js.map +1 -1
- package/dist/commands/build.js +0 -4
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/preview.js +0 -4
- package/dist/commands/preview.js.map +1 -1
- package/dist/commands/push.js +4 -9
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/role.js +55 -14
- package/dist/commands/role.js.map +1 -1
- package/dist/config.js +25 -5
- package/dist/config.js.map +1 -1
- package/dist/escape.js +20 -0
- package/dist/escape.js.map +1 -1
- package/dist/foundry-adventure.js +86 -0
- package/dist/foundry-adventure.js.map +1 -0
- package/dist/foundry-defaults.js +65 -0
- package/dist/foundry-defaults.js.map +1 -0
- package/dist/foundry-grafts.js +610 -0
- package/dist/foundry-grafts.js.map +1 -0
- package/dist/foundry-html.js +196 -0
- package/dist/foundry-html.js.map +1 -0
- package/dist/foundry-importer.bundle.js +1192 -322
- package/dist/foundry-importer.js +2 -7
- package/dist/foundry-importer.js.map +1 -1
- package/dist/foundry-meta.js +56 -0
- package/dist/foundry-meta.js.map +1 -0
- package/dist/foundry-module-journal.js +133 -0
- package/dist/foundry-module-journal.js.map +1 -0
- package/dist/foundry-module-render.js +75 -0
- package/dist/foundry-module-render.js.map +1 -0
- package/dist/foundry-module.js +1082 -0
- package/dist/foundry-module.js.map +1 -0
- package/dist/foundry-types.js +28 -0
- package/dist/foundry-types.js.map +1 -0
- package/dist/foundry-version.js +30 -0
- package/dist/foundry-version.js.map +1 -0
- package/dist/frontmatter-defaults.js +68 -0
- package/dist/frontmatter-defaults.js.map +1 -0
- package/dist/index.js +5 -9
- package/dist/index.js.map +1 -1
- package/dist/manifest.js +115 -0
- package/dist/manifest.js.map +1 -0
- package/dist/migrate/0.15-foundry-patch-keys.js +51 -0
- package/dist/migrate/0.15-foundry-patch-keys.js.map +1 -0
- package/dist/migrate/0.15-foundry-pinned-id.js +68 -0
- package/dist/migrate/0.15-foundry-pinned-id.js.map +1 -0
- package/dist/migrate/files.js +66 -0
- package/dist/migrate/files.js.map +1 -0
- package/dist/migrate/registry.js +4 -0
- package/dist/migrate/registry.js.map +1 -1
- package/dist/migrate/run.js +36 -2
- package/dist/migrate/run.js.map +1 -1
- package/dist/render/auth-template.js +331 -42
- package/dist/render/auth-template.js.map +1 -1
- package/dist/render/bases.js +22 -38
- package/dist/render/bases.js.map +1 -1
- package/dist/render/cover.js +23 -1
- package/dist/render/cover.js.map +1 -1
- package/dist/render/handlers/assets.js +5 -34
- package/dist/render/handlers/assets.js.map +1 -1
- package/dist/render/handlers/builtin/battlemap.js +4 -1
- package/dist/render/handlers/builtin/battlemap.js.map +1 -1
- package/dist/render/handlers/builtin/download.js +90 -0
- package/dist/render/handlers/builtin/download.js.map +1 -0
- package/dist/render/handlers/builtin/fm-code.js +2 -2
- package/dist/render/handlers/builtin/fm-code.js.map +1 -1
- package/dist/render/handlers/builtin/foundry-manifest.js +158 -0
- package/dist/render/handlers/builtin/foundry-manifest.js.map +1 -0
- package/dist/render/handlers/builtin/fvtt-link.js +39 -0
- package/dist/render/handlers/builtin/fvtt-link.js.map +1 -0
- package/dist/render/handlers/builtin/index.js +4 -1
- package/dist/render/handlers/builtin/index.js.map +1 -1
- package/dist/render/handlers/builtin/statblock.js +0 -4
- package/dist/render/handlers/builtin/statblock.js.map +1 -1
- package/dist/render/handlers/types.js.map +1 -1
- package/dist/render/pipeline.js +4 -1
- package/dist/render/pipeline.js.map +1 -1
- package/dist/render/slug.js +0 -5
- package/dist/render/slug.js.map +1 -1
- package/dist/settings.js +156 -21
- package/dist/settings.js.map +1 -1
- package/dist/zip.js +78 -0
- package/dist/zip.js.map +1 -0
- package/package.json +4 -3
package/dist/settings.js
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import { readFile, writeFile } from "node:fs/promises";
|
|
2
|
+
import { dump as dumpYaml } from "js-yaml";
|
|
2
3
|
import { join } from "node:path";
|
|
3
4
|
import matter from "gray-matter";
|
|
5
|
+
export const FOUNDRY_DEFAULTS = {
|
|
6
|
+
package: "compendium",
|
|
7
|
+
player_role: "",
|
|
8
|
+
core_version: "",
|
|
9
|
+
system: "dnd5e",
|
|
10
|
+
module: {},
|
|
11
|
+
};
|
|
12
|
+
const FOUNDRY_PACKAGES = ["none", "compendium", "adventure"];
|
|
4
13
|
const SCHEMA = {
|
|
5
14
|
vault_name: {
|
|
6
15
|
default: "Vault",
|
|
7
16
|
type: "string",
|
|
8
|
-
description: "Display name for the wiki
|
|
17
|
+
description: "Display name for the wiki. Shown in the header and in page titles.",
|
|
9
18
|
},
|
|
10
19
|
image_quality: {
|
|
11
20
|
default: 85,
|
|
@@ -17,20 +26,28 @@ const SCHEMA = {
|
|
|
17
26
|
type: "number",
|
|
18
27
|
description: "Hard cap (in bytes) on a single file. Larger files are skipped.",
|
|
19
28
|
},
|
|
29
|
+
default_frontmatter: {
|
|
30
|
+
// Where a vault's default role comes from; there is no separate setting.
|
|
31
|
+
default: [{ match: "**", data: { role: "public" } }],
|
|
32
|
+
type: "rules",
|
|
33
|
+
description: "Frontmatter applied to pages matching a glob, as an ordered list of { match, data }. "
|
|
34
|
+
+ "Later rules merge over earlier ones, and a page's own frontmatter beats all of them. "
|
|
35
|
+
+ "Use it to set a baseline without editing every file, such as a role for the whole vault.",
|
|
36
|
+
},
|
|
20
37
|
ignore: {
|
|
21
38
|
default: [],
|
|
22
39
|
type: "string[]",
|
|
23
|
-
description: "Glob patterns of files to skip
|
|
40
|
+
description: "Glob patterns of files to skip, e.g. 'Templates/**' or '*.draft.md'. Wildcards cross hidden segments, so 'tools/**' also covers 'tools/.venv/**'.",
|
|
24
41
|
},
|
|
25
42
|
inline_title: {
|
|
26
43
|
default: true,
|
|
27
44
|
type: "boolean",
|
|
28
|
-
description: "Inject the page title as an <h1
|
|
45
|
+
description: "Inject the page title as an <h1>. Set false if your notes already start with their own '# Title'.",
|
|
29
46
|
},
|
|
30
47
|
default_image_width: {
|
|
31
48
|
default: "300px",
|
|
32
49
|
type: "string",
|
|
33
|
-
description: "CSS width
|
|
50
|
+
description: "CSS width for images embedded without a '|N' size hint (300px, 50vw, 100%). Empty leaves them at natural size.",
|
|
34
51
|
},
|
|
35
52
|
center_images: {
|
|
36
53
|
default: true,
|
|
@@ -40,62 +57,72 @@ const SCHEMA = {
|
|
|
40
57
|
preview_mode: {
|
|
41
58
|
default: "normal",
|
|
42
59
|
type: "string",
|
|
43
|
-
description: "
|
|
60
|
+
description: "Link previews on desktop: 'normal' hovers a preview and navigates on click, 'sticky' pins the preview open on click instead, 'none' disables them.",
|
|
44
61
|
},
|
|
45
62
|
preview_mode_mobile: {
|
|
46
63
|
default: "sticky",
|
|
47
64
|
type: "string",
|
|
48
|
-
description: "
|
|
49
|
-
},
|
|
50
|
-
default_role: {
|
|
51
|
-
default: "",
|
|
52
|
-
type: "string",
|
|
53
|
-
description: "Role assigned to pages with no 'role:' frontmatter. Empty string means the lowest-tier role (typically 'public'). Set to e.g. 'dm' for a private-by-default vault. Must be one of your configured roles.",
|
|
65
|
+
description: "Link previews on touch, where there is no hover: 'sticky' shows a preview on tap with a 'Go to page' link, 'none' disables them. 'normal' behaves like 'none' here.",
|
|
54
66
|
},
|
|
55
67
|
accent_color: {
|
|
56
68
|
default: "",
|
|
57
69
|
type: "string",
|
|
58
|
-
description: "
|
|
70
|
+
description: "Accent color for links, headings and highlights. Any CSS color. Empty uses the built-in scarlet.",
|
|
59
71
|
},
|
|
60
72
|
bg_color: {
|
|
61
73
|
default: "",
|
|
62
74
|
type: "string",
|
|
63
|
-
description: "
|
|
75
|
+
description: "Background color for the light palette. Any CSS color. Empty uses the built-in parchment.",
|
|
64
76
|
},
|
|
65
77
|
accent_color_dark: {
|
|
66
78
|
default: "",
|
|
67
79
|
type: "string",
|
|
68
|
-
description: "
|
|
80
|
+
description: "Accent color for the dark palette. Empty uses the built-in brighter scarlet.",
|
|
69
81
|
},
|
|
70
82
|
bg_color_dark: {
|
|
71
83
|
default: "",
|
|
72
84
|
type: "string",
|
|
73
|
-
description: "
|
|
85
|
+
description: "Background color for the dark palette. Empty uses the built-in deep warm dark.",
|
|
74
86
|
},
|
|
75
87
|
theme: {
|
|
76
88
|
default: "auto",
|
|
77
89
|
type: "string",
|
|
78
|
-
description: "Default
|
|
90
|
+
description: "Default theme: 'auto' follows the visitor's OS setting, or 'light' or 'dark'. Visitors can flip it from the sidebar and their choice persists.",
|
|
79
91
|
},
|
|
80
92
|
favicon: {
|
|
81
93
|
default: "",
|
|
82
94
|
type: "string",
|
|
83
|
-
description: "Vault-relative path to
|
|
95
|
+
description: "Vault-relative path to a favicon image (png/jpg/svg/webp). Empty generates one from the accent color.",
|
|
84
96
|
},
|
|
85
97
|
auto_image: {
|
|
86
98
|
default: true,
|
|
87
99
|
type: "boolean",
|
|
88
|
-
description: "
|
|
100
|
+
description: "Fall back to a page's first embedded image when it has no 'image:' frontmatter. Used for social cards, Bases card covers, and Foundry art.",
|
|
89
101
|
},
|
|
90
102
|
include_unknown_files: {
|
|
91
103
|
default: false,
|
|
92
104
|
type: "boolean",
|
|
93
|
-
description: "Ship files with unrecognized extensions
|
|
105
|
+
description: "Ship files with unrecognized extensions. Default false skips them with a warning, so a stray file cannot bypass role gating. Recognized media (audio, video, pdf, epub) is reference-gated either way.",
|
|
106
|
+
},
|
|
107
|
+
foundry: {
|
|
108
|
+
default: FOUNDRY_DEFAULTS,
|
|
109
|
+
type: "object",
|
|
110
|
+
description: "Foundry VTT integration. "
|
|
111
|
+
+ "'package': 'adventure' ships the vault as one Adventure document you import once, 'compendium' (the default) as browsable packs, one per document type, 'none' ships nothing. "
|
|
112
|
+
+ "'player_role': the highest role players may read. Pages at or below it arrive player-visible; empty (the default) means none are. "
|
|
113
|
+
+ "'system': the game system your Actor and Item content targets, e.g. dnd5e. "
|
|
114
|
+
+ "'core_version': the full quoted Foundry version your exported Scene / Actor JSON came from, e.g. '14.359'. A bare '14' sorts before every release in that generation and costs a Scene its levels. "
|
|
115
|
+
+ "'module': extra keys merged into the module.json the vault serves, such as 'authors'."
|
|
116
|
+
},
|
|
117
|
+
site_url: {
|
|
118
|
+
default: "",
|
|
119
|
+
type: "string",
|
|
120
|
+
description: "Public base URL this vault is served from, e.g. 'https://notes.example.com'. Set it and the build writes sitemap.xml and robots.txt; leave it empty and neither is written. Only default-role pages are listed, so a sitemap cannot advertise gated ones.",
|
|
94
121
|
},
|
|
95
122
|
footer: {
|
|
96
123
|
default: "Generated with [Wizzlethorpe Vaults](https://vaults.wizzlethorpe.com).",
|
|
97
124
|
type: "string",
|
|
98
|
-
description: "Markdown
|
|
125
|
+
description: "Markdown rendered in a <footer> on every page. Inline markdown works. Empty hides the footer.",
|
|
99
126
|
},
|
|
100
127
|
};
|
|
101
128
|
export { SETTINGS_FILE } from "./paths.js";
|
|
@@ -126,8 +153,13 @@ export async function loadSettings(vaultPath) {
|
|
|
126
153
|
warnings.push(`settings.md: '${key}' should be a ${def.type}, got ${describeType(v)}. Using default.`);
|
|
127
154
|
continue;
|
|
128
155
|
}
|
|
156
|
+
if (def.choices && !def.choices.includes(v)) {
|
|
157
|
+
warnings.push(`settings.md: '${key}' should be one of ${def.choices.join(", ")}, got '${String(v)}'. Using default.`);
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
129
160
|
values[key] = v;
|
|
130
161
|
}
|
|
162
|
+
normalizeFoundry(values, warnings);
|
|
131
163
|
for (const key of Object.keys(fm)) {
|
|
132
164
|
if (!(key in SCHEMA)) {
|
|
133
165
|
warnings.push(`settings.md: unknown setting '${key}' will be removed on next sync.`);
|
|
@@ -146,9 +178,86 @@ export async function writeSettings(vaultPath, values) {
|
|
|
146
178
|
function defaults() {
|
|
147
179
|
return Object.fromEntries(Object.entries(SCHEMA).map(([k, def]) => [k, def.default]));
|
|
148
180
|
}
|
|
181
|
+
function isPlainObject(v) {
|
|
182
|
+
return v !== null && typeof v === "object" && !Array.isArray(v);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Check and fill in the `foundry` block.
|
|
186
|
+
*
|
|
187
|
+
* The generic type check only asks whether it is an object, and every key
|
|
188
|
+
* inside it means something: an unrecognised `package` would silently pick a
|
|
189
|
+
* delivery shape the author did not ask for, with links baked to match, and a
|
|
190
|
+
* misspelled subkey would read as an unset default rather than as a mistake.
|
|
191
|
+
* Missing keys take their defaults, so a vault only states what it changes.
|
|
192
|
+
*/
|
|
193
|
+
function normalizeFoundry(values, warnings) {
|
|
194
|
+
const raw = (values.foundry ?? {});
|
|
195
|
+
for (const key of Object.keys(raw)) {
|
|
196
|
+
if (!(key in FOUNDRY_DEFAULTS)) {
|
|
197
|
+
warnings.push(`settings.md: unknown key 'foundry.${key}'. Known: ${Object.keys(FOUNDRY_DEFAULTS).join(", ")}.`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
const pkg = raw["package"];
|
|
201
|
+
if (pkg !== undefined && !FOUNDRY_PACKAGES.includes(pkg)) {
|
|
202
|
+
warnings.push(`settings.md: 'foundry.package' should be one of ${FOUNDRY_PACKAGES.join(", ")}, `
|
|
203
|
+
+ `got '${String(pkg)}'. Using '${FOUNDRY_DEFAULTS.package}'.`);
|
|
204
|
+
}
|
|
205
|
+
const role = raw["player_role"];
|
|
206
|
+
if (role !== undefined && typeof role !== "string") {
|
|
207
|
+
warnings.push(`settings.md: 'foundry.player_role' should be a role name, got ${describeType(role)}.`);
|
|
208
|
+
}
|
|
209
|
+
const core = raw["core_version"];
|
|
210
|
+
if (core !== undefined && typeof core !== "string" && typeof core !== "number") {
|
|
211
|
+
warnings.push(`settings.md: 'foundry.core_version' should be a Foundry version like 14.359, got ${describeType(core)}.`);
|
|
212
|
+
}
|
|
213
|
+
else if (typeof core === "number") {
|
|
214
|
+
// YAML reads an unquoted 14.350 as the number 14.35, which is a different
|
|
215
|
+
// version, and 14 as a generation. Quoting is the only way to say either
|
|
216
|
+
// one exactly.
|
|
217
|
+
warnings.push(`settings.md: 'foundry.core_version' is unquoted, so YAML read it as the number ${core}.`
|
|
218
|
+
+ ` Quote it, as '14.359': unquoted, a trailing zero is lost and a bare generation is ambiguous.`);
|
|
219
|
+
}
|
|
220
|
+
else if (typeof core === "string" && /^\d+$/.test(core.trim())) {
|
|
221
|
+
// A bare generation sorts before every patch-level migration inside it, so
|
|
222
|
+
// Foundry treats the data as older than anything released that generation
|
|
223
|
+
// and runs migrations written for the generation before. `14` is how a
|
|
224
|
+
// Scene loses its levels: `migrateLevels` is registered at 14.353 and
|
|
225
|
+
// rebuilds `levels` from a v13 root background that a v14 export does not
|
|
226
|
+
// have.
|
|
227
|
+
warnings.push(`settings.md: 'foundry.core_version' is '${String(core)}', a generation rather than a version.`
|
|
228
|
+
+ ` Foundry sorts that before every release in it and runs migrations your data is already past,`
|
|
229
|
+
+ ` which costs a Scene its levels. Use the full version you exported from, e.g. 14.359.`);
|
|
230
|
+
}
|
|
231
|
+
const sys = raw["system"];
|
|
232
|
+
if (sys !== undefined && typeof sys !== "string") {
|
|
233
|
+
warnings.push(`settings.md: 'foundry.system' should be a system id like dnd5e, got ${describeType(sys)}.`);
|
|
234
|
+
}
|
|
235
|
+
const module = raw["module"];
|
|
236
|
+
if (module !== undefined && !isPlainObject(module)) {
|
|
237
|
+
warnings.push(`settings.md: 'foundry.module' should be a manifest object, got ${describeType(module)}.`);
|
|
238
|
+
}
|
|
239
|
+
values.foundry = {
|
|
240
|
+
package: FOUNDRY_PACKAGES.includes(pkg)
|
|
241
|
+
? pkg : FOUNDRY_DEFAULTS.package,
|
|
242
|
+
player_role: typeof role === "string" ? role : FOUNDRY_DEFAULTS.player_role,
|
|
243
|
+
system: typeof sys === "string" && sys ? sys : FOUNDRY_DEFAULTS.system,
|
|
244
|
+
core_version: typeof core === "string" ? core
|
|
245
|
+
: typeof core === "number" ? String(core) : FOUNDRY_DEFAULTS.core_version,
|
|
246
|
+
module: isPlainObject(module) ? module : {},
|
|
247
|
+
};
|
|
248
|
+
}
|
|
149
249
|
function matchesType(v, t) {
|
|
150
250
|
if (t === "string[]")
|
|
151
251
|
return Array.isArray(v) && v.every((item) => typeof item === "string");
|
|
252
|
+
if (t === "object")
|
|
253
|
+
return isPlainObject(v);
|
|
254
|
+
if (t === "rules") {
|
|
255
|
+
return Array.isArray(v) && v.every((item) => isPlainObject(item)
|
|
256
|
+
&& typeof item["match"] === "string"
|
|
257
|
+
// A plain object: `typeof` also admits null and arrays, which would pass
|
|
258
|
+
// validation here and then supply nothing (or index keys) downstream.
|
|
259
|
+
&& isPlainObject(item["data"]));
|
|
260
|
+
}
|
|
152
261
|
return typeof v === t;
|
|
153
262
|
}
|
|
154
263
|
function describeType(v) {
|
|
@@ -161,7 +270,33 @@ function renderSettingsFile(values) {
|
|
|
161
270
|
for (const [key, def] of Object.entries(SCHEMA)) {
|
|
162
271
|
lines.push(`# ${def.description}`);
|
|
163
272
|
const value = values[key];
|
|
164
|
-
if (def.type === "
|
|
273
|
+
if (def.type === "object") {
|
|
274
|
+
const obj = (value ?? {});
|
|
275
|
+
if (Object.keys(obj).length === 0) {
|
|
276
|
+
lines.push(`${key}: {}`);
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
lines.push(`${key}:`);
|
|
280
|
+
for (const line of dumpYaml(obj).trimEnd().split("\n"))
|
|
281
|
+
lines.push(` ${line}`);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
else if (def.type === "rules") {
|
|
285
|
+
const rules = (value ?? []);
|
|
286
|
+
if (rules.length === 0) {
|
|
287
|
+
lines.push(`${key}: []`);
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
// Round-tripped through the YAML dumper rather than hand-formatted:
|
|
291
|
+
// the value is arbitrarily nested frontmatter, and a bespoke printer
|
|
292
|
+
// for it would be a second YAML implementation waiting to disagree
|
|
293
|
+
// with the one that parsed it.
|
|
294
|
+
lines.push(`${key}:`);
|
|
295
|
+
for (const line of dumpYaml(rules).trimEnd().split("\n"))
|
|
296
|
+
lines.push(` ${line}`);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
else if (def.type === "string[]") {
|
|
165
300
|
const arr = (value ?? []);
|
|
166
301
|
if (arr.length === 0) {
|
|
167
302
|
lines.push(`${key}: []`);
|
package/dist/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
|
package/dist/zip.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// A minimal zip writer, for the module a vault ships: two small JSON files,
|
|
2
|
+
// stored uncompressed. The `zip` binary is absent on Windows and many CI
|
|
3
|
+
// images, which is why this exists.
|
|
4
|
+
// Added in Node 22.2.0, which is why package.json asks for it exactly.
|
|
5
|
+
import { crc32 } from "node:zlib";
|
|
6
|
+
// MS-DOS time, which is what the format stores. A fixed timestamp keeps the
|
|
7
|
+
// archive byte-identical between builds of identical content, so a reader is
|
|
8
|
+
// not told there is a new version because the clock moved.
|
|
9
|
+
const DOS_TIME = 0;
|
|
10
|
+
const DOS_DATE = 0x21; // 1980-01-01
|
|
11
|
+
// Bit 11 says the filename is UTF-8. Without it a reader decodes the name as
|
|
12
|
+
// CP437, so anything outside ASCII extracts under a mangled name — and the
|
|
13
|
+
// archive still looks fine until someone's vault is called something with an
|
|
14
|
+
// accent in it.
|
|
15
|
+
const UTF8_NAMES = 0x0800;
|
|
16
|
+
function localHeader(entry, crc) {
|
|
17
|
+
const name = Buffer.from(entry.name, "utf8");
|
|
18
|
+
const head = Buffer.alloc(30);
|
|
19
|
+
head.writeUInt32LE(0x04034b50, 0); // local file header
|
|
20
|
+
head.writeUInt16LE(20, 4); // version needed
|
|
21
|
+
head.writeUInt16LE(UTF8_NAMES, 6);
|
|
22
|
+
head.writeUInt16LE(0, 8); // method: stored
|
|
23
|
+
head.writeUInt16LE(DOS_TIME, 10);
|
|
24
|
+
head.writeUInt16LE(DOS_DATE, 12);
|
|
25
|
+
head.writeUInt32LE(crc, 14);
|
|
26
|
+
head.writeUInt32LE(entry.data.length, 18);
|
|
27
|
+
head.writeUInt32LE(entry.data.length, 22);
|
|
28
|
+
head.writeUInt16LE(name.length, 26);
|
|
29
|
+
head.writeUInt16LE(0, 28); // extra length
|
|
30
|
+
return Buffer.concat([head, name]);
|
|
31
|
+
}
|
|
32
|
+
function centralHeader(entry, crc, offset) {
|
|
33
|
+
const name = Buffer.from(entry.name, "utf8");
|
|
34
|
+
const head = Buffer.alloc(46);
|
|
35
|
+
head.writeUInt32LE(0x02014b50, 0); // central directory header
|
|
36
|
+
head.writeUInt16LE(20, 4); // version made by
|
|
37
|
+
head.writeUInt16LE(20, 6); // version needed
|
|
38
|
+
head.writeUInt16LE(UTF8_NAMES, 8);
|
|
39
|
+
head.writeUInt16LE(0, 10); // method: stored
|
|
40
|
+
head.writeUInt16LE(DOS_TIME, 12);
|
|
41
|
+
head.writeUInt16LE(DOS_DATE, 14);
|
|
42
|
+
head.writeUInt32LE(crc, 16);
|
|
43
|
+
head.writeUInt32LE(entry.data.length, 20);
|
|
44
|
+
head.writeUInt32LE(entry.data.length, 24);
|
|
45
|
+
head.writeUInt16LE(name.length, 28);
|
|
46
|
+
head.writeUInt16LE(0, 30); // extra
|
|
47
|
+
head.writeUInt16LE(0, 32); // comment
|
|
48
|
+
head.writeUInt16LE(0, 34); // disk number
|
|
49
|
+
head.writeUInt16LE(0, 36); // internal attrs
|
|
50
|
+
head.writeUInt32LE(0o644 << 16, 38); // external attrs
|
|
51
|
+
head.writeUInt32LE(offset, 42);
|
|
52
|
+
return Buffer.concat([head, name]);
|
|
53
|
+
}
|
|
54
|
+
/** Build a zip archive holding the given entries, stored uncompressed. */
|
|
55
|
+
export function zip(entries) {
|
|
56
|
+
const local = [];
|
|
57
|
+
const central = [];
|
|
58
|
+
let offset = 0;
|
|
59
|
+
for (const entry of entries) {
|
|
60
|
+
const crc = crc32(entry.data) >>> 0;
|
|
61
|
+
const header = localHeader(entry, crc);
|
|
62
|
+
local.push(header, entry.data);
|
|
63
|
+
central.push(centralHeader(entry, crc, offset));
|
|
64
|
+
offset += header.length + entry.data.length;
|
|
65
|
+
}
|
|
66
|
+
const directory = Buffer.concat(central);
|
|
67
|
+
const end = Buffer.alloc(22);
|
|
68
|
+
end.writeUInt32LE(0x06054b50, 0); // end of central directory
|
|
69
|
+
end.writeUInt16LE(0, 4); // disk
|
|
70
|
+
end.writeUInt16LE(0, 6); // disk with directory
|
|
71
|
+
end.writeUInt16LE(entries.length, 8);
|
|
72
|
+
end.writeUInt16LE(entries.length, 10);
|
|
73
|
+
end.writeUInt32LE(directory.length, 12);
|
|
74
|
+
end.writeUInt32LE(offset, 16);
|
|
75
|
+
end.writeUInt16LE(0, 20); // comment length
|
|
76
|
+
return Buffer.concat([...local, directory, end]);
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=zip.js.map
|
package/dist/zip.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip.js","sourceRoot":"","sources":["../src/zip.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wizzlethorpe/vaults",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "Sync an Obsidian vault to a Cloudflare-hosted wiki with role-based access. Renders locally, deploys to Cloudflare Pages.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"obsidian",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"author": "wizzlethorpe",
|
|
22
22
|
"type": "module",
|
|
23
23
|
"engines": {
|
|
24
|
-
"node": ">=22"
|
|
24
|
+
"node": ">=22.2.0"
|
|
25
25
|
},
|
|
26
26
|
"bin": {
|
|
27
27
|
"vaults": "dist/index.js"
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"gray-matter": "^4.0.3",
|
|
38
38
|
"js-yaml": "^4.1.1",
|
|
39
39
|
"katex": "^0.18.1",
|
|
40
|
+
"marked": "^12.0.0",
|
|
40
41
|
"mdast-util-find-and-replace": "^3.0.1",
|
|
41
42
|
"picomatch": "^4.0.2",
|
|
42
43
|
"rehype-katex": "^7.0.1",
|
|
@@ -64,7 +65,7 @@
|
|
|
64
65
|
"typescript": "^5.9.3"
|
|
65
66
|
},
|
|
66
67
|
"scripts": {
|
|
67
|
-
"build": "tsc
|
|
68
|
+
"build": "tsc",
|
|
68
69
|
"start": "node dist/index.js",
|
|
69
70
|
"test": "node --import tsx --test test/*.test.ts",
|
|
70
71
|
"typecheck:test": "tsc -p tsconfig.test.json --noEmit"
|