@wizzlethorpe/vaults 0.1.0 → 0.4.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 +3 -3
- package/dist/auth.js +1 -1
- package/dist/auth.js.map +1 -1
- package/dist/build.js +108 -28
- package/dist/build.js.map +1 -1
- package/dist/commands/init.js +4 -4
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/preview.js +2 -2
- package/dist/commands/preview.js.map +1 -1
- package/dist/commands/push.js +7 -7
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/role.js +3 -3
- package/dist/commands/role.js.map +1 -1
- package/dist/favicon.js +1 -1
- package/dist/obsidian.js +1 -1
- package/dist/render/auth-template.js +20 -20
- package/dist/render/bases.js +807 -0
- package/dist/render/bases.js.map +1 -0
- package/dist/render/callouts.js +2 -2
- package/dist/render/callouts.js.map +1 -1
- package/dist/render/embed.js +14 -4
- package/dist/render/embed.js.map +1 -1
- package/dist/render/layout.js +86 -8
- package/dist/render/layout.js.map +1 -1
- package/dist/render/pipeline.js +19 -1
- package/dist/render/pipeline.js.map +1 -1
- package/dist/render/preview.js +1 -1
- package/dist/render/preview.js.map +1 -1
- package/dist/render/styles.js +198 -34
- package/dist/render/styles.js.map +1 -1
- package/dist/render/wikilink.js +1 -1
- package/dist/render/wikilink.js.map +1 -1
- package/dist/settings.js +1 -6
- package/dist/settings.js.map +1 -1
- package/package.json +9 -4
package/dist/render/styles.js
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
// Theme + layout styles for the rendered wiki. Self-contained, no build step.
|
|
2
|
-
//
|
|
2
|
+
// Single light theme: parchment + scarlet.
|
|
3
3
|
/**
|
|
4
|
-
* Per-vault accent
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Per-vault accent override. When `accent_color` is set in settings.md,
|
|
5
|
+
* append this block after DEFAULT_CSS so it wins. The derived shades
|
|
6
|
+
* (--accent-soft, --wikilink-bg) are recomputed via color-mix so they
|
|
7
|
+
* stay coherent with whatever color the user picked.
|
|
8
8
|
*/
|
|
9
9
|
export function renderThemeOverride(opts) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if (opts.darkAccent) {
|
|
14
|
-
blocks.push(`@media (prefers-color-scheme: dark) {\n${accentBlock(":root", opts.darkAccent)}\n}`);
|
|
15
|
-
}
|
|
16
|
-
return blocks.length === 0 ? "" : "\n\n/* User accent overrides (settings.md) */\n" + blocks.join("\n");
|
|
10
|
+
if (!opts.lightAccent)
|
|
11
|
+
return "";
|
|
12
|
+
return "\n\n/* User accent override (settings.md) */\n" + accentBlock(":root", opts.lightAccent);
|
|
17
13
|
}
|
|
18
14
|
function accentBlock(selector, color) {
|
|
19
15
|
return `${selector} {
|
|
@@ -31,14 +27,6 @@ export const DEFAULT_CSS = `:root {
|
|
|
31
27
|
--max-width: 56rem;
|
|
32
28
|
font-family: 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
|
|
33
29
|
}
|
|
34
|
-
@media (prefers-color-scheme: dark) {
|
|
35
|
-
:root {
|
|
36
|
-
--bg: #181a1a; --fg: #e6e3dc; --muted: #8a908c;
|
|
37
|
-
--accent: #2ecc71; --accent-soft: #58e08c; --accent-fg: #0d1411;
|
|
38
|
-
--rule: #2a2e2c;
|
|
39
|
-
--wikilink-bg: rgba(46,204,113,0.12); --wikilink-bg-hover: rgba(46,204,113,0.22);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
30
|
* { box-sizing: border-box; }
|
|
43
31
|
body { margin: 0; background: var(--bg); color: var(--fg); line-height: 1.6; }
|
|
44
32
|
a { color: var(--accent); text-decoration: none; }
|
|
@@ -53,7 +41,7 @@ article a.internal:hover { background: var(--wikilink-bg-hover); text-decoration
|
|
|
53
41
|
article a.internal.new, article a.internal.is-unresolved { opacity: 0.7; font-style: italic; }
|
|
54
42
|
|
|
55
43
|
/* Brand sits at the top of the left sidebar in place of the old top nav.
|
|
56
|
-
The sidebar's flex gap handles spacing
|
|
44
|
+
The sidebar's flex gap handles spacing; no extra margin or rule needed. */
|
|
57
45
|
.sidebar > .brand {
|
|
58
46
|
display: block; padding: 0 0.5rem;
|
|
59
47
|
font-weight: 700; font-size: 1.05rem; letter-spacing: 0.04em;
|
|
@@ -76,10 +64,54 @@ main { padding: 2rem 0 4rem; min-width: 0; }
|
|
|
76
64
|
}
|
|
77
65
|
|
|
78
66
|
@media (max-width: 1100px) {
|
|
79
|
-
.app-grid { grid-template-columns: 1fr; gap: 0; }
|
|
80
|
-
.sidebar { border: none; padding: 0.
|
|
81
|
-
.rightbar {
|
|
82
|
-
main { padding: 0.
|
|
67
|
+
.app-grid { grid-template-columns: 1fr; gap: 0; padding: 0.75rem; max-width: 100%; }
|
|
68
|
+
.sidebar { border: none; padding: 0.5rem 0 0; }
|
|
69
|
+
.rightbar { display: none; }
|
|
70
|
+
main { padding: 0.5rem 0 2.5rem; }
|
|
71
|
+
article h1 { font-size: 2rem; }
|
|
72
|
+
article h2 { font-size: 1.4rem; }
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* Explorer: collapsible <details> wrapper. On desktop the toggle is hidden
|
|
76
|
+
(the Explorer is always shown). On mobile it acts as a real disclosure
|
|
77
|
+
widget so the long sitemap doesn't push the article off-screen. The
|
|
78
|
+
default state is closed; an inline script in the layout opens it on
|
|
79
|
+
desktop after first paint. */
|
|
80
|
+
.sidebar > details.explorer { margin: 0; }
|
|
81
|
+
.sidebar > details.explorer > summary {
|
|
82
|
+
list-style: none;
|
|
83
|
+
cursor: pointer;
|
|
84
|
+
user-select: none;
|
|
85
|
+
display: flex;
|
|
86
|
+
align-items: center;
|
|
87
|
+
gap: 0.5rem;
|
|
88
|
+
padding: 0.4rem 0.5rem;
|
|
89
|
+
margin: 0 0 0.5rem;
|
|
90
|
+
font-size: 0.75rem;
|
|
91
|
+
text-transform: uppercase;
|
|
92
|
+
letter-spacing: 0.08em;
|
|
93
|
+
color: var(--muted);
|
|
94
|
+
font-weight: 600;
|
|
95
|
+
border-radius: 3px;
|
|
96
|
+
}
|
|
97
|
+
.sidebar > details.explorer > summary::-webkit-details-marker { display: none; }
|
|
98
|
+
.sidebar > details.explorer > summary::before {
|
|
99
|
+
content: ''; display: inline-block;
|
|
100
|
+
width: 5px; height: 5px;
|
|
101
|
+
border-right: 1.5px solid currentColor;
|
|
102
|
+
border-bottom: 1.5px solid currentColor;
|
|
103
|
+
transform: rotate(-45deg);
|
|
104
|
+
transition: transform 0.15s ease;
|
|
105
|
+
opacity: 0.7;
|
|
106
|
+
}
|
|
107
|
+
.sidebar > details.explorer[open] > summary::before { transform: rotate(45deg); }
|
|
108
|
+
.sidebar > details.explorer > summary:hover { color: var(--accent); }
|
|
109
|
+
@media (min-width: 1101px) {
|
|
110
|
+
/* On desktop, force the Explorer to behave as if always open: hide the
|
|
111
|
+
toggle affordance, and reveal the sitemap regardless of [open] state. */
|
|
112
|
+
.sidebar > details.explorer > summary { cursor: default; pointer-events: none; }
|
|
113
|
+
.sidebar > details.explorer > summary::before { display: none; }
|
|
114
|
+
.sidebar > details.explorer > .sitemap-list { display: block; }
|
|
83
115
|
}
|
|
84
116
|
|
|
85
117
|
.search-box { position: relative; }
|
|
@@ -100,7 +132,7 @@ main { padding: 2rem 0 4rem; min-width: 0; }
|
|
|
100
132
|
.search-result-folder { font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.05em; margin-top: 0.15rem; }
|
|
101
133
|
.search-empty { padding: 0.75rem; color: var(--muted); font-style: italic; font-size: 0.85rem; }
|
|
102
134
|
|
|
103
|
-
/* Auth box
|
|
135
|
+
/* Auth box; sits under the search box; populated by JS from a non-HttpOnly
|
|
104
136
|
display cookie set by the Function on login. */
|
|
105
137
|
.auth-box {
|
|
106
138
|
font-size: 0.78rem; color: var(--muted);
|
|
@@ -131,7 +163,7 @@ main { padding: 2rem 0 4rem; min-width: 0; }
|
|
|
131
163
|
}
|
|
132
164
|
.toc-summary:hover { color: var(--accent); }
|
|
133
165
|
.toc-summary::-webkit-details-marker { display: none; }
|
|
134
|
-
/* CSS-drawn chevron
|
|
166
|
+
/* CSS-drawn chevron; same shape as the sitemap-folder toggles. Rotates
|
|
135
167
|
when [open] so the affordance reads as "click to collapse / expand". */
|
|
136
168
|
.toc-summary::before {
|
|
137
169
|
content: ''; display: inline-block;
|
|
@@ -150,7 +182,7 @@ main { padding: 2rem 0 4rem; min-width: 0; }
|
|
|
150
182
|
.toc-d3 a { padding-left: 1.25rem; font-size: 0.85rem; }
|
|
151
183
|
.toc-d4 a { padding-left: 2rem; font-size: 0.8rem; }
|
|
152
184
|
|
|
153
|
-
/* Backlinks panel
|
|
185
|
+
/* Backlinks panel; same visual rhythm as the TOC. */
|
|
154
186
|
.rightbar .backlinks { margin-top: 1.75rem; }
|
|
155
187
|
.rightbar .backlinks h4 {
|
|
156
188
|
margin: 0 0 0.5rem; font-size: 0.75rem;
|
|
@@ -185,7 +217,7 @@ article h2 { margin-top: 2rem; border-bottom: 1px solid var(--rule); padding-bot
|
|
|
185
217
|
article hr { border: 0; border-top: 1px solid var(--rule); margin: 2rem 0; }
|
|
186
218
|
article img { max-width: 100%; border-radius: 4px; }
|
|
187
219
|
|
|
188
|
-
/* Tables
|
|
220
|
+
/* Tables; readable defaults so cell content doesn't run together. */
|
|
189
221
|
article table {
|
|
190
222
|
border-collapse: collapse;
|
|
191
223
|
margin: 1.25rem 0;
|
|
@@ -203,7 +235,7 @@ article thead th {
|
|
|
203
235
|
}
|
|
204
236
|
article tbody tr:last-child > td { border-bottom: none; }
|
|
205
237
|
article td > img:first-child:last-child {
|
|
206
|
-
/* Solo image in a cell (e.g. portrait + bio layouts)
|
|
238
|
+
/* Solo image in a cell (e.g. portrait + bio layouts); keep it from sprawling. */
|
|
207
239
|
max-width: 12rem;
|
|
208
240
|
}
|
|
209
241
|
/* Default size for ![[image]] embeds without an explicit |N hint. The
|
|
@@ -217,7 +249,7 @@ article img.default-width { width: var(--default-img-width, 50vw); max-width: 10
|
|
|
217
249
|
body.center-images article p > img:only-child { display: block; margin-left: auto; margin-right: auto; }
|
|
218
250
|
body.center-images article p:has(> img:only-child) { text-align: center; }
|
|
219
251
|
|
|
220
|
-
/* Lightbox
|
|
252
|
+
/* Lightbox; click an image in the article body to view it full-size. */
|
|
221
253
|
article img { cursor: zoom-in; }
|
|
222
254
|
.lightbox-overlay {
|
|
223
255
|
position: fixed; inset: 0; z-index: 1000;
|
|
@@ -283,7 +315,7 @@ article blockquote { margin: 1rem 0; padding: 0.5rem 1rem; border-left: 3px soli
|
|
|
283
315
|
.sidebar .sitemap-folder > details > summary:hover > .folder-toggle {
|
|
284
316
|
background: var(--wikilink-bg);
|
|
285
317
|
}
|
|
286
|
-
/* CSS-drawn chevron
|
|
318
|
+
/* CSS-drawn chevron; crisper and more compact than any Unicode glyph. */
|
|
287
319
|
.sidebar .sitemap-folder > details > summary > .folder-toggle::before {
|
|
288
320
|
content: '';
|
|
289
321
|
position: absolute;
|
|
@@ -319,15 +351,147 @@ article blockquote { margin: 1rem 0; padding: 0.5rem 1rem; border-left: 3px soli
|
|
|
319
351
|
text-decoration: none;
|
|
320
352
|
}
|
|
321
353
|
|
|
322
|
-
/* Children of a folder indent uniformly
|
|
354
|
+
/* Children of a folder indent uniformly; chevron position is preserved
|
|
323
355
|
relative to the nested ul so descendants form a clean tree. */
|
|
324
356
|
.sidebar .sitemap-folder > details > .sitemap-list {
|
|
325
357
|
padding-left: 0.75rem;
|
|
326
358
|
}
|
|
327
359
|
|
|
328
|
-
/* 404 page
|
|
360
|
+
/* 404 page; leans on the standard article layout but bumps the lead text. */
|
|
329
361
|
.lead-404 { font-size: 1.05rem; color: var(--muted); margin-top: 0.5rem; }
|
|
330
362
|
|
|
363
|
+
/* Obsidian Bases tables */
|
|
364
|
+
.bases-block {
|
|
365
|
+
margin: 1rem 0;
|
|
366
|
+
border: 1px solid var(--rule);
|
|
367
|
+
border-radius: 6px;
|
|
368
|
+
background: color-mix(in srgb, var(--muted) 4%, transparent);
|
|
369
|
+
}
|
|
370
|
+
.bases-caption {
|
|
371
|
+
padding: 0.55rem 0.85rem;
|
|
372
|
+
font-weight: 700;
|
|
373
|
+
font-size: 0.95rem;
|
|
374
|
+
border-bottom: 1px solid var(--rule);
|
|
375
|
+
}
|
|
376
|
+
.bases-toolbar {
|
|
377
|
+
display: flex;
|
|
378
|
+
align-items: center;
|
|
379
|
+
gap: 0.75rem;
|
|
380
|
+
padding: 0.5rem 0.85rem;
|
|
381
|
+
border-bottom: 1px solid var(--rule);
|
|
382
|
+
}
|
|
383
|
+
.bases-filter {
|
|
384
|
+
flex: 1;
|
|
385
|
+
padding: 0.4rem 0.65rem;
|
|
386
|
+
font: inherit; font-size: 0.85rem;
|
|
387
|
+
background: var(--bg);
|
|
388
|
+
color: var(--fg);
|
|
389
|
+
border: 1px solid var(--rule);
|
|
390
|
+
border-radius: 4px;
|
|
391
|
+
}
|
|
392
|
+
.bases-filter:focus {
|
|
393
|
+
outline: none;
|
|
394
|
+
border-color: var(--accent);
|
|
395
|
+
box-shadow: 0 0 0 2px var(--wikilink-bg);
|
|
396
|
+
}
|
|
397
|
+
.bases-count { font-size: 0.8rem; color: var(--muted); white-space: nowrap; }
|
|
398
|
+
.bases-scroll { overflow-x: auto; }
|
|
399
|
+
.bases-table {
|
|
400
|
+
width: 100%;
|
|
401
|
+
border-collapse: collapse;
|
|
402
|
+
font-size: 0.9rem;
|
|
403
|
+
margin: 0;
|
|
404
|
+
}
|
|
405
|
+
.bases-table thead th {
|
|
406
|
+
text-align: left;
|
|
407
|
+
padding: 0.5rem 0.85rem;
|
|
408
|
+
font-weight: 600;
|
|
409
|
+
background: color-mix(in srgb, var(--muted) 8%, transparent);
|
|
410
|
+
border-bottom: 1px solid var(--rule);
|
|
411
|
+
cursor: pointer;
|
|
412
|
+
user-select: none;
|
|
413
|
+
white-space: nowrap;
|
|
414
|
+
}
|
|
415
|
+
.bases-table thead th:hover { color: var(--accent); }
|
|
416
|
+
.bases-table thead th[aria-sort="ascending"]::after { content: " ▲"; font-size: 0.7em; opacity: 0.7; }
|
|
417
|
+
.bases-table thead th[aria-sort="descending"]::after { content: " ▼"; font-size: 0.7em; opacity: 0.7; }
|
|
418
|
+
.bases-table tbody td {
|
|
419
|
+
padding: 0.45rem 0.85rem;
|
|
420
|
+
border-bottom: 1px solid var(--rule);
|
|
421
|
+
vertical-align: top;
|
|
422
|
+
}
|
|
423
|
+
.bases-table tbody tr:last-child td { border-bottom: none; }
|
|
424
|
+
.bases-table tbody tr[hidden] { display: none; }
|
|
425
|
+
.bases-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--muted) 4%, transparent); }
|
|
426
|
+
.bases-error {
|
|
427
|
+
padding: 0.75rem 0.85rem;
|
|
428
|
+
color: #b94a3a;
|
|
429
|
+
font-size: 0.9rem;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
/* Cards view */
|
|
433
|
+
.bases-cards {
|
|
434
|
+
display: grid;
|
|
435
|
+
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
|
|
436
|
+
gap: 1rem;
|
|
437
|
+
padding: 0.75rem;
|
|
438
|
+
}
|
|
439
|
+
.bases-card {
|
|
440
|
+
display: flex;
|
|
441
|
+
flex-direction: column;
|
|
442
|
+
border: 1px solid var(--rule);
|
|
443
|
+
border-radius: 6px;
|
|
444
|
+
background: var(--bg);
|
|
445
|
+
text-decoration: none;
|
|
446
|
+
color: inherit;
|
|
447
|
+
overflow: hidden;
|
|
448
|
+
transition: border-color 0.15s, transform 0.15s;
|
|
449
|
+
}
|
|
450
|
+
.bases-card:hover {
|
|
451
|
+
border-color: var(--accent);
|
|
452
|
+
transform: translateY(-2px);
|
|
453
|
+
}
|
|
454
|
+
.bases-card-cover {
|
|
455
|
+
width: 100%;
|
|
456
|
+
aspect-ratio: 1 / 1;
|
|
457
|
+
background-color: color-mix(in srgb, var(--muted) 8%, transparent);
|
|
458
|
+
}
|
|
459
|
+
.bases-card-body {
|
|
460
|
+
padding: 0.6rem 0.75rem;
|
|
461
|
+
display: flex;
|
|
462
|
+
flex-direction: column;
|
|
463
|
+
gap: 0.2rem;
|
|
464
|
+
}
|
|
465
|
+
.bases-card-title {
|
|
466
|
+
font-weight: 600;
|
|
467
|
+
font-size: 0.95rem;
|
|
468
|
+
line-height: 1.3;
|
|
469
|
+
}
|
|
470
|
+
.bases-card-meta {
|
|
471
|
+
font-size: 0.8rem;
|
|
472
|
+
color: var(--muted);
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
/* List view */
|
|
476
|
+
.bases-list {
|
|
477
|
+
list-style: none;
|
|
478
|
+
padding: 0.25rem 0;
|
|
479
|
+
margin: 0;
|
|
480
|
+
}
|
|
481
|
+
.bases-list > li {
|
|
482
|
+
padding: 0.4rem 0.85rem;
|
|
483
|
+
border-bottom: 1px solid var(--rule);
|
|
484
|
+
display: flex;
|
|
485
|
+
align-items: baseline;
|
|
486
|
+
gap: 0.6rem;
|
|
487
|
+
}
|
|
488
|
+
.bases-list > li:last-child { border-bottom: none; }
|
|
489
|
+
.bases-list-meta {
|
|
490
|
+
font-size: 0.85rem;
|
|
491
|
+
color: var(--muted);
|
|
492
|
+
}
|
|
493
|
+
.bases-list-sep { opacity: 0.5; }
|
|
494
|
+
|
|
331
495
|
/* Auto-generated folder index pages */
|
|
332
496
|
.folder-count { color: var(--muted); margin-bottom: 1.5rem; font-size: 0.9rem; }
|
|
333
497
|
.folder-listing { list-style: none; padding: 0; margin: 0; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/render/styles.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/render/styles.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2CAA2C;AAE3C;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAC/D,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,gDAAgD,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,KAAa;IAClD,OAAO,GAAG,QAAQ;cACN,KAAK;sCACmB,KAAK;sCACL,KAAK;4CACC,KAAK;EAC/C,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4gB1B,CAAC"}
|
package/dist/render/wikilink.js
CHANGED
|
@@ -20,7 +20,7 @@ export function wikiLinkPlugin(opts) {
|
|
|
20
20
|
// generated folder index)
|
|
21
21
|
// 4. Last path segment slug (so [[Scenarios/The Open Door]]
|
|
22
22
|
// still resolves when the file actually lives elsewhere
|
|
23
|
-
// under that basename
|
|
23
|
+
// under that basename. Obsidian treats the slash form as
|
|
24
24
|
// a path; we're more lenient).
|
|
25
25
|
const lastSegment = name.includes("/") ? name.split("/").pop() : "";
|
|
26
26
|
const page = opts.context.pages.get(slug)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wikilink.js","sourceRoot":"","sources":["../../src/render/wikilink.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,4EAA4E;AAC5E,kEAAkE;AAClE,MAAM,WAAW,GAAG,iFAAiF,CAAC;AAEtG,MAAM,UAAU,cAAc,CAAC,IAM9B;IACC,OAAO,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;QACpB,cAAc,CAAC,IAAI,EAAE;YACnB;gBACE,WAAW;gBACX,CAAC,MAAc,EAAE,OAAe,EAAE,SAAkB,EAAE,QAAiB,EAAE,EAAE;oBACzE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;oBACjC,MAAM,OAAO,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;oBACzC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;oBAE3B,oBAAoB;oBACpB,mEAAmE;oBACnE,6CAA6C;oBAC7C,6DAA6D;oBAC7D,+BAA+B;oBAC/B,8DAA8D;oBAC9D,6DAA6D;oBAC7D
|
|
1
|
+
{"version":3,"file":"wikilink.js","sourceRoot":"","sources":["../../src/render/wikilink.ts"],"names":[],"mappings":"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"}
|
package/dist/settings.js
CHANGED
|
@@ -45,12 +45,7 @@ const SCHEMA = {
|
|
|
45
45
|
accent_color: {
|
|
46
46
|
default: "",
|
|
47
47
|
type: "string",
|
|
48
|
-
description: "Override the
|
|
49
|
-
},
|
|
50
|
-
accent_color_dark: {
|
|
51
|
-
default: "",
|
|
52
|
-
type: "string",
|
|
53
|
-
description: "Override the dark-theme accent color. Empty = use the built-in emerald.",
|
|
48
|
+
description: "Override the accent color (links, headings, highlights). Any CSS color works: '#a8201a', 'crimson', 'rgb(168 32 26)'. Empty = use the built-in scarlet.",
|
|
54
49
|
},
|
|
55
50
|
favicon: {
|
|
56
51
|
default: "",
|
package/dist/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,MAAM,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.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.4.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",
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
"ttrpg",
|
|
11
11
|
"knowledge-base"
|
|
12
12
|
],
|
|
13
|
-
"homepage": "https://github.com/wizzlethorpe/vaults-
|
|
14
|
-
"bugs": "https://github.com/wizzlethorpe/vaults-
|
|
13
|
+
"homepage": "https://github.com/wizzlethorpe/vaults-cli#readme",
|
|
14
|
+
"bugs": "https://github.com/wizzlethorpe/vaults-cli/issues",
|
|
15
15
|
"repository": {
|
|
16
16
|
"type": "git",
|
|
17
|
-
"url": "git+https://github.com/wizzlethorpe/vaults-
|
|
17
|
+
"url": "git+https://github.com/wizzlethorpe/vaults-cli.git",
|
|
18
18
|
"directory": "cli"
|
|
19
19
|
},
|
|
20
20
|
"license": "MIT",
|
|
@@ -34,11 +34,15 @@
|
|
|
34
34
|
"scripts": {
|
|
35
35
|
"build": "tsc",
|
|
36
36
|
"start": "node dist/index.js",
|
|
37
|
+
"test": "node --import tsx --test test/*.test.ts",
|
|
38
|
+
"typecheck:test": "tsc -p tsconfig.test.json --noEmit",
|
|
37
39
|
"prepublishOnly": "npm run build"
|
|
38
40
|
},
|
|
39
41
|
"dependencies": {
|
|
42
|
+
"@types/js-yaml": "^4.0.9",
|
|
40
43
|
"commander": "^12.1.0",
|
|
41
44
|
"gray-matter": "^4.0.3",
|
|
45
|
+
"js-yaml": "^4.1.1",
|
|
42
46
|
"mdast-util-find-and-replace": "^3.0.1",
|
|
43
47
|
"picomatch": "^4.0.2",
|
|
44
48
|
"rehype-raw": "^7.0.0",
|
|
@@ -59,6 +63,7 @@
|
|
|
59
63
|
"@types/node": "^22.10.0",
|
|
60
64
|
"@types/picomatch": "^3.0.1",
|
|
61
65
|
"@types/unist": "^3.0.3",
|
|
66
|
+
"tsx": "^4.21.0",
|
|
62
67
|
"typescript": "^5.9.3"
|
|
63
68
|
}
|
|
64
69
|
}
|