@wizzlethorpe/vaults 0.1.0 → 0.2.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.
@@ -5,7 +5,7 @@ import remarkGfm from "remark-gfm";
5
5
  import { slugify } from "./slug.js";
6
6
  const IMAGE_EXT_RE = /\.(png|jpe?g|webp|gif|svg|avif|tiff?)$/i;
7
7
  const EMBED_INLINE_RE = /!\[\[([^\[\]|#\n]+?)(?:#([^\[\]|#\n]+?))?(?:\|([^\[\]#\n]*))?\]\]/g;
8
- // A line that is *only* an embed used for page transclusion.
8
+ // A line that is *only* an embed; used for page transclusion.
9
9
  const EMBED_PARAGRAPH_RE = /^!\[\[([^\[\]|#\n]+?)(?:#([^\[\]|#\n]+?))?(?:\|([^\[\]#\n]*))?\]\]$/;
10
10
  // Same shape but global, for recursive string expansion of nested embeds.
11
11
  const EMBED_LINE_RE_G = /^!\[\[([^\[\]|#\n]+?)(?:#([^\[\]|#\n]+?))?(?:\|([^\[\]#\n]*))?\]\]$/gm;
@@ -14,7 +14,7 @@ const subParser = unified().use(remarkParse).use(remarkGfm);
14
14
  export function embedPlugin(opts) {
15
15
  const { context, warnings } = opts;
16
16
  return () => (tree) => {
17
- // 1. Page transclusion paragraphs that are a single embed and not an image.
17
+ // 1. Page transclusion; paragraphs that are a single embed and not an image.
18
18
  const replacements = [];
19
19
  for (let i = 0; i < tree.children.length; i++) {
20
20
  const child = tree.children[i];
@@ -51,7 +51,7 @@ export function embedPlugin(opts) {
51
51
  const path = image?.outputPath ?? name;
52
52
  const src = "/" + path.split("/").map(encodeURIComponent).join("/");
53
53
  const explicit = parseSizeHint(rawAlias?.trim());
54
- // When no explicit |N hint, fall through to a class the actual
54
+ // When no explicit |N hint, fall through to a class; the actual
55
55
  // width is set via a CSS variable on <body> so it stays configurable
56
56
  // and sanitize-safe (no inline styles on user-controlled HTML).
57
57
  const extra = explicit
@@ -82,7 +82,7 @@ function transcludePage(slug, anchor, context, warnings, rawName) {
82
82
  }
83
83
  body = section;
84
84
  }
85
- // Recursively expand nested embeds at the string level no plugin recursion needed.
85
+ // Recursively expand nested embeds at the string level; no plugin recursion needed.
86
86
  const expanded = expandNestedEmbeds(body, context, 1, new Set([slug]));
87
87
  const childAst = subParser.parse(expanded);
88
88
  const page = context.pages.get(slug);
@@ -1 +1 @@
1
- {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/render/embed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/render/embed.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export function render404(input) {
9
9
  return renderLayout({
10
10
  ...input,
11
11
  title: "Page not found",
12
- // Neutral sentinel breadcrumbs check this and render nothing for it.
12
+ // Neutral sentinel; breadcrumbs check this and render nothing for it.
13
13
  pagePath: "__404__.md",
14
14
  bodyHtml: body,
15
15
  backlinks: [],
@@ -23,7 +23,7 @@ export function renderLayout(input) {
23
23
  <head>
24
24
  <meta charset="utf-8">
25
25
  <meta name="viewport" content="width=device-width,initial-scale=1">
26
- <title>${esc(input.title)} ${esc(input.vaultName)}</title>
26
+ <title>${esc(input.title)} | ${esc(input.vaultName)}</title>
27
27
  <link rel="icon" href="/favicon.ico">
28
28
  <link rel="stylesheet" href="/styles.css">
29
29
  <link rel="stylesheet" href="/user.css">
@@ -60,6 +60,7 @@ ${TOC_SCRIPT}
60
60
  ${SEARCH_SCRIPT}
61
61
  ${LIGHTBOX_SCRIPT}
62
62
  ${AUTH_SCRIPT}
63
+ ${BASES_SCRIPT}
63
64
  </body>
64
65
  </html>`;
65
66
  }
@@ -92,13 +93,13 @@ function formatDate(unix) {
92
93
  return d.toLocaleDateString("en-US", { year: "numeric", month: "short", day: "numeric" });
93
94
  }
94
95
  function renderBreadcrumbs(pagePath, vaultName) {
95
- // Sentinel used by the 404 page no real path to crumb out of.
96
+ // Sentinel used by the 404 page; no real path to crumb out of.
96
97
  if (pagePath === "__404__.md")
97
98
  return "";
98
99
  const parts = pagePath.replace(/\.md$/i, "").split("/");
99
100
  if (parts.length === 1 && parts[0] === "index")
100
101
  return "";
101
- // Folder homepages end in /index drop that trailing segment so the crumbs
102
+ // Folder homepages end in /index; drop that trailing segment so the crumbs
102
103
  // read "Vault › DM Notes" instead of "Vault › DM Notes › index".
103
104
  if (parts.length > 1 && parts[parts.length - 1] === "index")
104
105
  parts.pop();
@@ -139,7 +140,7 @@ function renderSitemap(pages, currentPath) {
139
140
  }
140
141
  function renderNode(node, parentPath, currentPath) {
141
142
  let html = "";
142
- // Folders first, then pages matches Obsidian's file explorer convention.
143
+ // Folders first, then pages; matches Obsidian's file explorer convention.
143
144
  // Natural sort so "Page 2" comes before "Page 10" (instead of alphabetical).
144
145
  for (const [name, sub] of [...node.subfolders].sort((a, b) => natCompare(a[0], b[0]))) {
145
146
  const folderPath = parentPath ? `${parentPath}/${name}` : name;
@@ -205,7 +206,7 @@ const HOVER_PREVIEW_SCRIPT = `<script>
205
206
  }
206
207
  function esc(s) { return String(s).replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;'); }
207
208
  function render(data, anchor) {
208
- // .summary is already sanitised HTML at build time safe to inject.
209
+ // .summary is already sanitised HTML at build time; safe to inject.
209
210
  const section = anchor && data.headings && data.headings[anchor];
210
211
  if (section) {
211
212
  return '<div class="wiki-preview-title">' + esc(data.title) + '</div>' +
@@ -228,7 +229,7 @@ const HOVER_PREVIEW_SCRIPT = `<script>
228
229
  }
229
230
  function isInternal(el) {
230
231
  if (!(el instanceof HTMLAnchorElement)) return false;
231
- // Only preview links inside the main article body sitemap / backlinks /
232
+ // Only preview links inside the main article body; sitemap / backlinks /
232
233
  // breadcrumbs / TOC links shouldn't trigger popovers as the user navigates.
233
234
  if (!el.closest('article')) return false;
234
235
  const href = el.getAttribute('href');
@@ -411,4 +412,63 @@ const SEARCH_SCRIPT = `<script>
411
412
  });
412
413
  })();
413
414
  </script>`;
415
+ const BASES_SCRIPT = `<script>
416
+ (function () {
417
+ // Wire each .bases-block on the page: click a header to toggle sort,
418
+ // type into the filter to narrow visible rows. The renderer emits a
419
+ // data-raw attribute on each <td> with the canonical sort key, so this
420
+ // script doesn't need to re-derive types from the rendered text.
421
+ for (const block of document.querySelectorAll('.bases-block')) {
422
+ const tbody = block.querySelector('tbody');
423
+ if (!tbody) continue;
424
+ const allRows = [...tbody.querySelectorAll('tr')];
425
+ const filterInput = block.querySelector('.bases-filter');
426
+ const counter = block.querySelector('.bases-count');
427
+
428
+ let sortCol = -1;
429
+ let sortDir = 1; // 1 asc, -1 desc
430
+
431
+ const applySort = () => {
432
+ if (sortCol < 0) return;
433
+ const sorted = [...allRows].sort((a, b) => {
434
+ const av = a.children[sortCol] ? a.children[sortCol].dataset.raw || a.children[sortCol].textContent : '';
435
+ const bv = b.children[sortCol] ? b.children[sortCol].dataset.raw || b.children[sortCol].textContent : '';
436
+ const an = parseFloat(av), bn = parseFloat(bv);
437
+ if (!isNaN(an) && !isNaN(bn)) return (an - bn) * sortDir;
438
+ return av.localeCompare(bv, undefined, { numeric: true, sensitivity: 'base' }) * sortDir;
439
+ });
440
+ sorted.forEach((tr) => tbody.appendChild(tr));
441
+ };
442
+
443
+ const applyFilter = () => {
444
+ const q = filterInput ? filterInput.value.trim().toLowerCase() : '';
445
+ let visible = 0;
446
+ for (const tr of allRows) {
447
+ const match = !q || tr.textContent.toLowerCase().includes(q);
448
+ if (match) { tr.removeAttribute('hidden'); visible++; }
449
+ else tr.setAttribute('hidden', '');
450
+ }
451
+ if (counter) {
452
+ const total = counter.dataset.total;
453
+ counter.textContent = q
454
+ ? visible + ' of ' + total + ' rows'
455
+ : total + ' ' + (total === '1' ? 'row' : 'rows');
456
+ }
457
+ };
458
+
459
+ block.querySelectorAll('thead th').forEach((th, i) => {
460
+ th.addEventListener('click', () => {
461
+ if (sortCol === i) sortDir = -sortDir;
462
+ else { sortCol = i; sortDir = 1; }
463
+ block.querySelectorAll('thead th').forEach((other, j) => {
464
+ other.setAttribute('aria-sort', j === sortCol ? (sortDir === 1 ? 'ascending' : 'descending') : 'none');
465
+ });
466
+ applySort();
467
+ });
468
+ });
469
+
470
+ if (filterInput) filterInput.addEventListener('input', applyFilter);
471
+ }
472
+ })();
473
+ </script>`;
414
474
  //# sourceMappingURL=layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/render/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/render/layout.ts"],"names":[],"mappings":"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"}
@@ -10,16 +10,30 @@ import matter from "gray-matter";
10
10
  import { wikiLinkPlugin } from "./wikilink.js";
11
11
  import { embedPlugin } from "./embed.js";
12
12
  import { calloutPlugin } from "./callouts.js";
13
+ import { basesPlugin } from "./bases.js";
13
14
  const sanitizeSchema = {
14
15
  ...defaultSchema,
15
16
  clobberPrefix: "",
17
+ // The Bases plugin emits a small filterable table; the default schema
18
+ // strips <input> and most data-* attributes, so we permit them here.
19
+ tagNames: [...(defaultSchema.tagNames ?? []), "input"],
16
20
  attributes: {
17
21
  ...defaultSchema.attributes,
18
22
  "*": [...(defaultSchema.attributes?.["*"] ?? []), "className"],
19
23
  img: ["src", "alt", "width", "height", "loading"],
20
24
  a: ["href", "title", "className", "id"],
21
25
  div: ["className", "data*"],
26
+ span: ["className", "data*"],
27
+ table: ["className"],
28
+ th: ["className", "data*", "tabindex"],
29
+ td: ["className", "data*"],
30
+ tr: ["className", "data*"],
31
+ input: ["type", "placeholder", "className", "ariaLabel"],
22
32
  },
33
+ // The default schema forces <input> to type=checkbox and disabled=true
34
+ // to safely render GFM task lists. We don't render task lists here, and
35
+ // the Bases filter input needs to be a writable search box, so reset.
36
+ required: { ...(defaultSchema.required ?? {}), input: {} },
23
37
  };
24
38
  export async function renderMarkdown(source, context, fallbackTitle) {
25
39
  const parsed = matter(source);
@@ -27,7 +41,7 @@ export async function renderMarkdown(source, context, fallbackTitle) {
27
41
  const outlinks = [];
28
42
  const warnings = [];
29
43
  // Pre-process the markdown source before parsing.
30
- // 1. Strip Obsidian-style comments (%% ... %% single- or multi-line).
44
+ // 1. Strip Obsidian-style comments (%% ... %%; single- or multi-line).
31
45
  // 2. Escape pipes inside wikilinks/embeds so they don't break GFM tables.
32
46
  // CommonMark unescapes `\|` back to `|` in the resulting text node, so
33
47
  // the wikilink regex still matches downstream. Negative lookbehind
@@ -39,6 +53,10 @@ export async function renderMarkdown(source, context, fallbackTitle) {
39
53
  .use(remarkParse)
40
54
  .use(remarkGfm)
41
55
  .use(calloutPlugin({ redactRoles: context.redactRoles }))
56
+ // Bases runs before wikilink/embed: it consumes ```base code fences
57
+ // wholesale and emits raw HTML, so downstream plugins won't try to
58
+ // process anything inside the table.
59
+ .use(basesPlugin({ context, warnings }))
42
60
  .use(embedPlugin({ context, warnings }))
43
61
  .use(wikiLinkPlugin({ context, outlinks, warnings }))
44
62
  .use(remarkRehype, { allowDangerousHtml: true })
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/render/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/render/pipeline.ts"],"names":[],"mappings":"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"}
@@ -66,7 +66,7 @@ function truncateMarkdown(source, maxChars) {
66
66
  continue; // skip image embeds
67
67
  if (/^\|/.test(p))
68
68
  continue; // skip tables
69
- // Wikilinks aren't in the preview pipeline render their display text inline.
69
+ // Wikilinks aren't in the preview pipeline; render their display text inline.
70
70
  p = p.replace(/!?\[\[([^\[\]|#\n]+?)(?:#[^\[\]|#\n]+?)?(?:\|([^\[\]#\n]+?))?\]\]/g, (_, name, alias) => alias ?? name);
71
71
  out.push(p);
72
72
  total += p.length;
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/render/preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/render/preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,cAAc,EAAE,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,MAAM,eAAe,GAAG,OAAO,EAAE;KAC9B,GAAG,CAAC,WAAW,CAAC;KAChB,GAAG,CAAC,SAAS,CAAC;KACd,GAAG,CAAC,YAAY,CAAC;KACjB,GAAG,CAAC,cAAc,EAAE;IACnB,GAAG,aAAa;IAChB,yDAAyD;IACzD,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CACzF,CAAC;KACD,GAAG,CAAC,eAAe,CAAC,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,KAAa;IACnE,yEAAyE;IACzE,MAAM,IAAI,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/E,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAuD,EAAE,CAAC;IACxE,+DAA+D;IAC/D,MAAM,SAAS,GAAG,8BAA8B,CAAC;IACjD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACtB,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACrC,QAAQ,CAAC,MAAM,CAAC,GAAG;YACjB,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,MAAM,aAAa,CAAC,WAAW,CAAC;SAC1C,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,MAAc;IACzC,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;IACjE,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,QAAgB;IACxD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE;aACf,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAuB,2BAA2B;aACxE,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAQ,uCAAuC;aACrF,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,qBAAqB;aACvF,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,SAAS,CAAkB,oBAAoB;QACrE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,SAAS,CAAqB,cAAc;QAC/D,8EAA8E;QAC9E,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,oEAAoE,EAChF,CAAC,CAAC,EAAE,IAAY,EAAE,KAAc,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;QACtD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACZ,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;QAClB,IAAI,KAAK,IAAI,QAAQ;YAAE,MAAM;IAC/B,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS;IACjC,OAAO,CAAC,CAAC,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;AAC1D,CAAC"}
@@ -53,7 +53,7 @@ article a.internal:hover { background: var(--wikilink-bg-hover); text-decoration
53
53
  article a.internal.new, article a.internal.is-unresolved { opacity: 0.7; font-style: italic; }
54
54
 
55
55
  /* Brand sits at the top of the left sidebar in place of the old top nav.
56
- The sidebar's flex gap handles spacing no extra margin or rule needed. */
56
+ The sidebar's flex gap handles spacing; no extra margin or rule needed. */
57
57
  .sidebar > .brand {
58
58
  display: block; padding: 0 0.5rem;
59
59
  font-weight: 700; font-size: 1.05rem; letter-spacing: 0.04em;
@@ -100,7 +100,7 @@ main { padding: 2rem 0 4rem; min-width: 0; }
100
100
  .search-result-folder { font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.05em; margin-top: 0.15rem; }
101
101
  .search-empty { padding: 0.75rem; color: var(--muted); font-style: italic; font-size: 0.85rem; }
102
102
 
103
- /* Auth box sits under the search box; populated by JS from a non-HttpOnly
103
+ /* Auth box; sits under the search box; populated by JS from a non-HttpOnly
104
104
  display cookie set by the Function on login. */
105
105
  .auth-box {
106
106
  font-size: 0.78rem; color: var(--muted);
@@ -131,7 +131,7 @@ main { padding: 2rem 0 4rem; min-width: 0; }
131
131
  }
132
132
  .toc-summary:hover { color: var(--accent); }
133
133
  .toc-summary::-webkit-details-marker { display: none; }
134
- /* CSS-drawn chevron same shape as the sitemap-folder toggles. Rotates
134
+ /* CSS-drawn chevron; same shape as the sitemap-folder toggles. Rotates
135
135
  when [open] so the affordance reads as "click to collapse / expand". */
136
136
  .toc-summary::before {
137
137
  content: ''; display: inline-block;
@@ -150,7 +150,7 @@ main { padding: 2rem 0 4rem; min-width: 0; }
150
150
  .toc-d3 a { padding-left: 1.25rem; font-size: 0.85rem; }
151
151
  .toc-d4 a { padding-left: 2rem; font-size: 0.8rem; }
152
152
 
153
- /* Backlinks panel same visual rhythm as the TOC. */
153
+ /* Backlinks panel; same visual rhythm as the TOC. */
154
154
  .rightbar .backlinks { margin-top: 1.75rem; }
155
155
  .rightbar .backlinks h4 {
156
156
  margin: 0 0 0.5rem; font-size: 0.75rem;
@@ -185,7 +185,7 @@ article h2 { margin-top: 2rem; border-bottom: 1px solid var(--rule); padding-bot
185
185
  article hr { border: 0; border-top: 1px solid var(--rule); margin: 2rem 0; }
186
186
  article img { max-width: 100%; border-radius: 4px; }
187
187
 
188
- /* Tables readable defaults so cell content doesn't run together. */
188
+ /* Tables; readable defaults so cell content doesn't run together. */
189
189
  article table {
190
190
  border-collapse: collapse;
191
191
  margin: 1.25rem 0;
@@ -203,7 +203,7 @@ article thead th {
203
203
  }
204
204
  article tbody tr:last-child > td { border-bottom: none; }
205
205
  article td > img:first-child:last-child {
206
- /* Solo image in a cell (e.g. portrait + bio layouts) keep it from sprawling. */
206
+ /* Solo image in a cell (e.g. portrait + bio layouts); keep it from sprawling. */
207
207
  max-width: 12rem;
208
208
  }
209
209
  /* Default size for ![[image]] embeds without an explicit |N hint. The
@@ -217,7 +217,7 @@ article img.default-width { width: var(--default-img-width, 50vw); max-width: 10
217
217
  body.center-images article p > img:only-child { display: block; margin-left: auto; margin-right: auto; }
218
218
  body.center-images article p:has(> img:only-child) { text-align: center; }
219
219
 
220
- /* Lightbox click an image in the article body to view it full-size. */
220
+ /* Lightbox; click an image in the article body to view it full-size. */
221
221
  article img { cursor: zoom-in; }
222
222
  .lightbox-overlay {
223
223
  position: fixed; inset: 0; z-index: 1000;
@@ -283,7 +283,7 @@ article blockquote { margin: 1rem 0; padding: 0.5rem 1rem; border-left: 3px soli
283
283
  .sidebar .sitemap-folder > details > summary:hover > .folder-toggle {
284
284
  background: var(--wikilink-bg);
285
285
  }
286
- /* CSS-drawn chevron crisper and more compact than any Unicode glyph. */
286
+ /* CSS-drawn chevron; crisper and more compact than any Unicode glyph. */
287
287
  .sidebar .sitemap-folder > details > summary > .folder-toggle::before {
288
288
  content: '';
289
289
  position: absolute;
@@ -319,15 +319,84 @@ article blockquote { margin: 1rem 0; padding: 0.5rem 1rem; border-left: 3px soli
319
319
  text-decoration: none;
320
320
  }
321
321
 
322
- /* Children of a folder indent uniformly chevron position is preserved
322
+ /* Children of a folder indent uniformly; chevron position is preserved
323
323
  relative to the nested ul so descendants form a clean tree. */
324
324
  .sidebar .sitemap-folder > details > .sitemap-list {
325
325
  padding-left: 0.75rem;
326
326
  }
327
327
 
328
- /* 404 page leans on the standard article layout but bumps the lead text. */
328
+ /* 404 page; leans on the standard article layout but bumps the lead text. */
329
329
  .lead-404 { font-size: 1.05rem; color: var(--muted); margin-top: 0.5rem; }
330
330
 
331
+ /* Obsidian Bases tables */
332
+ .bases-block {
333
+ margin: 1rem 0;
334
+ border: 1px solid var(--rule);
335
+ border-radius: 6px;
336
+ background: color-mix(in srgb, var(--muted) 4%, transparent);
337
+ }
338
+ .bases-caption {
339
+ padding: 0.55rem 0.85rem;
340
+ font-weight: 700;
341
+ font-size: 0.95rem;
342
+ border-bottom: 1px solid var(--rule);
343
+ }
344
+ .bases-toolbar {
345
+ display: flex;
346
+ align-items: center;
347
+ gap: 0.75rem;
348
+ padding: 0.5rem 0.85rem;
349
+ border-bottom: 1px solid var(--rule);
350
+ }
351
+ .bases-filter {
352
+ flex: 1;
353
+ padding: 0.4rem 0.65rem;
354
+ font: inherit; font-size: 0.85rem;
355
+ background: var(--bg);
356
+ color: var(--fg);
357
+ border: 1px solid var(--rule);
358
+ border-radius: 4px;
359
+ }
360
+ .bases-filter:focus {
361
+ outline: none;
362
+ border-color: var(--accent);
363
+ box-shadow: 0 0 0 2px var(--wikilink-bg);
364
+ }
365
+ .bases-count { font-size: 0.8rem; color: var(--muted); white-space: nowrap; }
366
+ .bases-scroll { overflow-x: auto; }
367
+ .bases-table {
368
+ width: 100%;
369
+ border-collapse: collapse;
370
+ font-size: 0.9rem;
371
+ margin: 0;
372
+ }
373
+ .bases-table thead th {
374
+ text-align: left;
375
+ padding: 0.5rem 0.85rem;
376
+ font-weight: 600;
377
+ background: color-mix(in srgb, var(--muted) 8%, transparent);
378
+ border-bottom: 1px solid var(--rule);
379
+ cursor: pointer;
380
+ user-select: none;
381
+ white-space: nowrap;
382
+ }
383
+ .bases-table thead th:hover { color: var(--accent); }
384
+ .bases-table thead th[aria-sort="ascending"]::after { content: " ▲"; font-size: 0.7em; opacity: 0.7; }
385
+ .bases-table thead th[aria-sort="descending"]::after { content: " ▼"; font-size: 0.7em; opacity: 0.7; }
386
+ .bases-table tbody td {
387
+ padding: 0.45rem 0.85rem;
388
+ border-bottom: 1px solid var(--rule);
389
+ vertical-align: top;
390
+ }
391
+ .bases-table tbody tr:last-child td { border-bottom: none; }
392
+ .bases-table tbody tr[hidden] { display: none; }
393
+ .bases-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--muted) 4%, transparent); }
394
+ .bases-error {
395
+ padding: 0.75rem 0.85rem;
396
+ color: #b94a3a;
397
+ font-size: 0.9rem;
398
+ }
399
+
331
400
  /* Auto-generated folder index pages */
332
401
  .folder-count { color: var(--muted); margin-bottom: 1.5rem; font-size: 0.9rem; }
333
402
  .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,uFAAuF;AAEvF;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAiD;IACnF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,IAAI,CAAC,WAAW;QAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1E,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,0CAA0C,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iDAAiD,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1G,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoW1B,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/render/styles.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,uFAAuF;AAEvF;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAiD;IACnF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,IAAI,CAAC,WAAW;QAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1E,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,0CAA0C,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iDAAiD,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1G,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAya1B,CAAC"}
@@ -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 Obsidian treats the slash form as
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,+DAA+D;oBAC/D,oCAAoC;oBACpC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;2BACpC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;2BAC/E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;2BAChD,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAC9E,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI;wBACvB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACnH,CAAC,CAAC,GAAG,CAAC;oBAER,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ;wBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;wBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;oBAEtF,0EAA0E;oBAC1E,0EAA0E;oBAC1E,mBAAmB;oBACnB,MAAM,SAAS,GAAG,IAAI,IAAI,IAAI;wBAC5B,CAAC,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC;wBAC/B,CAAC,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;oBAE1D,MAAM,IAAI,GAAS;wBACjB,IAAI,EAAE,MAAM;wBACZ,GAAG,EAAE,IAAI;wBACT,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAiB,CAAC;wBAC3D,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,EAAE;qBACrC,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"wikilink.js","sourceRoot":"","sources":["../../src/render/wikilink.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.1.0",
3
+ "version": "0.2.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-template#readme",
14
- "bugs": "https://github.com/wizzlethorpe/vaults-template/issues",
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-template.git",
17
+ "url": "git+https://github.com/wizzlethorpe/vaults-cli.git",
18
18
  "directory": "cli"
19
19
  },
20
20
  "license": "MIT",
@@ -37,8 +37,10 @@
37
37
  "prepublishOnly": "npm run build"
38
38
  },
39
39
  "dependencies": {
40
+ "@types/js-yaml": "^4.0.9",
40
41
  "commander": "^12.1.0",
41
42
  "gray-matter": "^4.0.3",
43
+ "js-yaml": "^4.1.1",
42
44
  "mdast-util-find-and-replace": "^3.0.1",
43
45
  "picomatch": "^4.0.2",
44
46
  "rehype-raw": "^7.0.0",