living-documentation 7.14.0 → 7.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.
@@ -274,6 +274,49 @@
274
274
  info on each node — useful for diagnosing snap-to-grid issues.
275
275
  </p>
276
276
  </div>
277
+ <div class="px-5 py-4">
278
+ <label class="flex items-center gap-3 cursor-pointer">
279
+ <input
280
+ id="field-exclusive-folder"
281
+ name="exclusiveFolderExpansion"
282
+ type="checkbox"
283
+ class="w-4 h-4 rounded border-gray-300 dark:border-gray-600 text-blue-600 focus:ring-blue-500"
284
+ />
285
+ <span
286
+ class="text-sm font-medium text-gray-700 dark:text-gray-300"
287
+ data-i18n="admin.appearance.exclusive_folder_label">Exclusive folder expansion in sidebar</span
288
+ >
289
+ </label>
290
+ <p
291
+ class="mt-1 text-xs text-gray-400 dark:text-gray-500 ml-7"
292
+ data-i18n="admin.appearance.exclusive_folder_hint"
293
+ >
294
+ When enabled, opening a folder in the sidebar automatically
295
+ closes any other open folder at the same level (and its
296
+ children).
297
+ </p>
298
+ </div>
299
+ <div class="px-5 py-4">
300
+ <label class="flex items-center gap-3 cursor-pointer">
301
+ <input
302
+ id="field-exclusive-category"
303
+ name="exclusiveCategoryExpansion"
304
+ type="checkbox"
305
+ class="w-4 h-4 rounded border-gray-300 dark:border-gray-600 text-blue-600 focus:ring-blue-500"
306
+ />
307
+ <span
308
+ class="text-sm font-medium text-gray-700 dark:text-gray-300"
309
+ data-i18n="admin.appearance.exclusive_category_label">Exclusive category expansion in sidebar</span
310
+ >
311
+ </label>
312
+ <p
313
+ class="mt-1 text-xs text-gray-400 dark:text-gray-500 ml-7"
314
+ data-i18n="admin.appearance.exclusive_category_hint"
315
+ >
316
+ When enabled, opening a category automatically closes any
317
+ other open category under the same parent folder.
318
+ </p>
319
+ </div>
277
320
  <div class="px-5 py-4 space-y-1.5">
278
321
  <label
279
322
  class="block text-sm font-medium text-gray-700 dark:text-gray-300"
@@ -526,6 +569,10 @@
526
569
  cfg.filenamePattern || "";
527
570
  document.getElementById("field-debug").checked =
528
571
  !!cfg.showDiagramDebug;
572
+ document.getElementById("field-exclusive-folder").checked =
573
+ !!cfg.exclusiveFolderExpansion;
574
+ document.getElementById("field-exclusive-category").checked =
575
+ !!cfg.exclusiveCategoryExpansion;
529
576
  document.getElementById("field-blocked-extensions").value =
530
577
  (cfg.blockedFileExtensions || []).join(" ");
531
578
  updatePreview(cfg.filenamePattern);
@@ -568,6 +615,12 @@
568
615
  language: document.getElementById("field-language").value,
569
616
  filenamePattern,
570
617
  showDiagramDebug: document.getElementById("field-debug").checked,
618
+ exclusiveFolderExpansion: document.getElementById(
619
+ "field-exclusive-folder",
620
+ ).checked,
621
+ exclusiveCategoryExpansion: document.getElementById(
622
+ "field-exclusive-category",
623
+ ).checked,
571
624
  diagramNodePalette: [...nodePalette],
572
625
  diagramEdgePalette: [...edgePalette],
573
626
  sourceRoot: sourceRootRaw === "" ? null : sourceRootRaw,
@@ -12,6 +12,8 @@ async function loadConfig() {
12
12
  document.getElementById("welcome-pattern").textContent =
13
13
  cfg.filenamePattern + ".md";
14
14
  }
15
+ exclusiveFolderExpansion = !!cfg.exclusiveFolderExpansion;
16
+ exclusiveCategoryExpansion = !!cfg.exclusiveCategoryExpansion;
15
17
  } catch {
16
18
  await window.initI18n('en');
17
19
  /* non-fatal */
@@ -316,6 +316,10 @@
316
316
  "admin.appearance.language_hint": "Interface language for all pages.",
317
317
  "admin.appearance.debug_label": "Show debug button in diagram editor",
318
318
  "admin.appearance.debug_hint": "Displays a Debug button that overlays raw position and size info on each node — useful for diagnosing snap-to-grid issues.",
319
+ "admin.appearance.exclusive_folder_label": "Exclusive folder expansion in sidebar",
320
+ "admin.appearance.exclusive_folder_hint": "When enabled, opening a folder in the sidebar automatically closes any other open folder at the same level (and its children).",
321
+ "admin.appearance.exclusive_category_label": "Exclusive category expansion in sidebar",
322
+ "admin.appearance.exclusive_category_hint": "When enabled, opening a category automatically closes any other open category under the same parent folder.",
319
323
 
320
324
  "admin.pattern.label": "Filename Pattern",
321
325
  "admin.pattern.hint": "Parsed for date, category, and title.",
@@ -316,6 +316,10 @@
316
316
  "admin.appearance.language_hint": "Langue de l'interface pour toutes les pages.",
317
317
  "admin.appearance.debug_label": "Afficher le bouton debug dans l'éditeur de diagrammes",
318
318
  "admin.appearance.debug_hint": "Affiche un bouton Debug qui superpose les informations brutes de position et de taille sur chaque nœud — utile pour diagnostiquer les problèmes de grille.",
319
+ "admin.appearance.exclusive_folder_label": "Ouverture exclusive des dossiers dans la barre latérale",
320
+ "admin.appearance.exclusive_folder_hint": "Si activé, l'ouverture d'un dossier dans la barre latérale referme automatiquement tout autre dossier ouvert au même niveau (ainsi que ses enfants).",
321
+ "admin.appearance.exclusive_category_label": "Ouverture exclusive des catégories dans la barre latérale",
322
+ "admin.appearance.exclusive_category_hint": "Si activé, l'ouverture d'une catégorie referme automatiquement toute autre catégorie ouverte sous le même dossier parent.",
319
323
 
320
324
  "admin.pattern.label": "Modèle de nom de fichier",
321
325
  "admin.pattern.hint": "Analysé pour extraire la date, la catégorie et le titre.",
@@ -81,6 +81,9 @@
81
81
  max-height: 9999px;
82
82
  opacity: 1;
83
83
  }
84
+ .category-docs.no-transition {
85
+ transition: none !important;
86
+ }
84
87
 
85
88
  /* Color swatch selection ring */
86
89
  .color-swatch-btn.selected-swatch,
@@ -202,6 +202,57 @@ function renderDocItem(doc) {
202
202
  </button>`;
203
203
  }
204
204
 
205
+ function setInstantCollapse(el) {
206
+ el.classList.add("no-transition");
207
+ el.classList.add("collapsed");
208
+ el.classList.remove("expanded");
209
+ // Force reflow so the collapsed state is committed while transitions are off
210
+ void el.offsetHeight;
211
+ requestAnimationFrame(() => el.classList.remove("no-transition"));
212
+ }
213
+
214
+ function collapseCategoryByKey(key, instant = false) {
215
+ const parts = key.split("|");
216
+ const catNodeId =
217
+ "cat-" + parts.map((p) => p.replace(/\W/g, "-")).join("-");
218
+ const el = document.getElementById(catNodeId);
219
+ const arrow = document.getElementById("arrow-" + catNodeId);
220
+ if (el) {
221
+ if (instant) setInstantCollapse(el);
222
+ else {
223
+ el.classList.add("collapsed");
224
+ el.classList.remove("expanded");
225
+ }
226
+ }
227
+ if (arrow) arrow.style.transform = "";
228
+ expandedCategories.delete(key);
229
+ }
230
+
231
+ function collapseFolderAndDescendants(pathKey, instant = false) {
232
+ const parts = pathKey.split("|");
233
+ const nodeId =
234
+ "folder-" + parts.map((p) => p.replace(/\W/g, "-")).join("-");
235
+ const el = document.getElementById(nodeId);
236
+ const arrow = document.getElementById("arrow-" + nodeId);
237
+ if (el) {
238
+ if (instant) setInstantCollapse(el);
239
+ else {
240
+ el.classList.add("collapsed");
241
+ el.classList.remove("expanded");
242
+ }
243
+ }
244
+ if (arrow) arrow.style.transform = "";
245
+ expandedFolders.delete(pathKey);
246
+
247
+ const prefix = pathKey + "|";
248
+ for (const key of [...expandedFolders]) {
249
+ if (key.startsWith(prefix)) collapseFolderAndDescendants(key, instant);
250
+ }
251
+ for (const key of [...expandedCategories]) {
252
+ if (key.startsWith(prefix)) collapseCategoryByKey(key, instant);
253
+ }
254
+ }
255
+
205
256
  function toggleCategory(key) {
206
257
  const parts = key.split("|");
207
258
  const catNodeId =
@@ -210,6 +261,17 @@ function toggleCategory(key) {
210
261
  const arrow = document.getElementById("arrow-" + catNodeId);
211
262
  if (!el) return;
212
263
  const expanding = el.classList.contains("collapsed");
264
+
265
+ if (expanding && exclusiveCategoryExpansion) {
266
+ const parentPath = parts.slice(0, -1).join("|");
267
+ for (const otherKey of [...expandedCategories]) {
268
+ if (otherKey === key) continue;
269
+ const otherParts = otherKey.split("|");
270
+ const otherParent = otherParts.slice(0, -1).join("|");
271
+ if (otherParent === parentPath) collapseCategoryByKey(otherKey, true);
272
+ }
273
+ }
274
+
213
275
  el.classList.toggle("collapsed", !expanding);
214
276
  el.classList.toggle("expanded", expanding);
215
277
  if (arrow) arrow.style.transform = expanding ? "rotate(90deg)" : "";
@@ -225,6 +287,18 @@ function toggleFolder(pathKey) {
225
287
  const arrow = document.getElementById("arrow-" + nodeId);
226
288
  if (!el) return;
227
289
  const expanding = el.classList.contains("collapsed");
290
+
291
+ if (expanding && exclusiveFolderExpansion) {
292
+ const parentPath = parts.slice(0, -1).join("|");
293
+ for (const otherKey of [...expandedFolders]) {
294
+ if (otherKey === pathKey) continue;
295
+ const otherParts = otherKey.split("|");
296
+ const otherParent = otherParts.slice(0, -1).join("|");
297
+ if (otherParent === parentPath)
298
+ collapseFolderAndDescendants(otherKey, true);
299
+ }
300
+ }
301
+
228
302
  el.classList.toggle("collapsed", !expanding);
229
303
  el.classList.toggle("expanded", expanding);
230
304
  if (arrow) arrow.style.transform = expanding ? "rotate(90deg)" : "";
@@ -26,6 +26,8 @@ let hideAttachments = (() => {
26
26
  return false;
27
27
  }
28
28
  })();
29
+ let exclusiveFolderExpansion = false;
30
+ let exclusiveCategoryExpansion = false;
29
31
 
30
32
  function filteredDocs() {
31
33
  if (!searchQuery) return allDocs;
@@ -11,6 +11,8 @@ export interface LivingDocConfig {
11
11
  diagramEdgePalette: string[] | null;
12
12
  sourceRoot: string | null;
13
13
  blockedFileExtensions: string[];
14
+ exclusiveFolderExpansion: boolean;
15
+ exclusiveCategoryExpansion: boolean;
14
16
  }
15
17
  export declare function getConfigPath(docsPath: string): string;
16
18
  export declare function readConfig(docsPath: string): LivingDocConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACnC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AA8DD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAY5D;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,GAC9B,eAAe,CAMjB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACnC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,wBAAwB,EAAE,OAAO,CAAC;IAClC,0BAA0B,EAAE,OAAO,CAAC;CACrC;AAgED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAY5D;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,GAC9B,eAAe,CAMjB"}
@@ -62,6 +62,8 @@ const DEFAULTS = {
62
62
  diagramEdgePalette: DEFAULT_DIAGRAM_EDGE_PALETTE,
63
63
  sourceRoot: null,
64
64
  blockedFileExtensions: DEFAULT_BLOCKED_FILE_EXTENSIONS,
65
+ exclusiveFolderExpansion: false,
66
+ exclusiveCategoryExpansion: false,
65
67
  };
66
68
  function getConfigPath(docsPath) {
67
69
  return path_1.default.join(docsPath, CONFIG_FILENAME);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":";;;;;AA8EA,sCAEC;AAED,gCAYC;AAED,kCASC;AAzGD,4CAAoB;AACpB,gDAAwB;AAiBxB,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAE3C,mGAAmG;AACnG,yFAAyF;AACzF,MAAM,4BAA4B,GAAG;IACnC,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF,MAAM,4BAA4B,GAAG;IACnC,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC;AAEF,MAAM,+BAA+B,GAAG;IACtC,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC;AAEF,MAAM,QAAQ,GAAoB;IAChC,UAAU,EAAE,GAAG;IACf,eAAe,EAAE,mCAAmC;IACpD,KAAK,EAAE,sBAAsB;IAC7B,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE,IAAI;IACV,UAAU,EAAE,EAAE;IACd,gBAAgB,EAAE,KAAK;IACvB,kBAAkB,EAAE,4BAA4B;IAChD,kBAAkB,EAAE,4BAA4B;IAChD,UAAU,EAAE,IAAI;IAChB,qBAAqB,EAAE,+BAA+B;CACvD,CAAC;AAEF,SAAgB,aAAa,CAAC,QAAgB;IAC5C,OAAO,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,UAAU,CAAC,QAAgB;IACzC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,YAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA6B,CAAC;YAC3D,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;IACrC,CAAC;IACD,OAAO,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAC/C,CAAC;AAED,SAAgB,WAAW,CACzB,QAAgB,EAChB,KAA+B;IAE/B,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,OAAO,GAAoB,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;IAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,YAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACxE,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":";;;;;AAkFA,sCAEC;AAED,gCAYC;AAED,kCASC;AA7GD,4CAAoB;AACpB,gDAAwB;AAmBxB,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAE3C,mGAAmG;AACnG,yFAAyF;AACzF,MAAM,4BAA4B,GAAG;IACnC,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF,MAAM,4BAA4B,GAAG;IACnC,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC;AAEF,MAAM,+BAA+B,GAAG;IACtC,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC;AAEF,MAAM,QAAQ,GAAoB;IAChC,UAAU,EAAE,GAAG;IACf,eAAe,EAAE,mCAAmC;IACpD,KAAK,EAAE,sBAAsB;IAC7B,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE,IAAI;IACV,UAAU,EAAE,EAAE;IACd,gBAAgB,EAAE,KAAK;IACvB,kBAAkB,EAAE,4BAA4B;IAChD,kBAAkB,EAAE,4BAA4B;IAChD,UAAU,EAAE,IAAI;IAChB,qBAAqB,EAAE,+BAA+B;IACtD,wBAAwB,EAAE,KAAK;IAC/B,0BAA0B,EAAE,KAAK;CAClC,CAAC;AAEF,SAAgB,aAAa,CAAC,QAAgB;IAC5C,OAAO,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,UAAU,CAAC,QAAgB;IACzC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,YAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA6B,CAAC;YAC3D,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;IACrC,CAAC;IACD,OAAO,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAC/C,CAAC;AAED,SAAgB,WAAW,CACzB,QAAgB,EAChB,KAA+B;IAE/B,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,OAAO,GAAoB,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;IAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,YAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACxE,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/routes/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAIpD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqGrD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/routes/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAIpD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuGrD"}
@@ -33,6 +33,8 @@ function configRouter(docsPath) {
33
33
  'diagramEdgePalette',
34
34
  'sourceRoot',
35
35
  'blockedFileExtensions',
36
+ 'exclusiveFolderExpansion',
37
+ 'exclusiveCategoryExpansion',
36
38
  ];
37
39
  const safe = {};
38
40
  for (const key of allowed) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/routes/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/routes/config.ts"],"names":[],"mappings":";;;;;AAIA,oCAuGC;AA3GD,qCAAoD;AACpD,gDAAwB;AACxB,0CAAyE;AAEzE,SAAgB,YAAY,CAAC,QAAgB;IAC3C,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IAExB,kBAAkB;IAClB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kBAAkB;IAClB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,GAAG,CAAC,IAAgC,CAAC;YACnD,6DAA6D;YAC7D,MAAM,OAAO,GAA8B;gBACzC,OAAO;gBACP,iBAAiB;gBACjB,OAAO;gBACP,UAAU;gBACV,kBAAkB;gBAClB,oBAAoB;gBACpB,oBAAoB;gBACpB,YAAY;gBACZ,uBAAuB;gBACvB,0BAA0B;gBAC1B,4BAA4B;aAC7B,CAAC;YACF,MAAM,IAAI,GAA6B,EAAE,CAAC;YAC1C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;oBAChB,IAAgC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YACD,uDAAuD;YACvD,IAAI,iBAAiB,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;gBAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAC7D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sDAAsD,EAAE,CAAC,CAAC;gBACjG,CAAC;YACH,CAAC;YACD,8BAA8B;YAC9B,IAAI,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAkB,CAAC,EAAE,CAAC;gBAC1E,OAAQ,IAAgC,CAAC,QAAQ,CAAC;YACpD,CAAC;YACD,oEAAoE;YACpE,IAAI,oBAAoB,IAAI,KAAK,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC;gBACnC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC;oBAC9E,IAAI,CAAC,kBAAkB,GAAG,CAAoB,CAAC;gBACjD,CAAC;YACH,CAAC;YACD,IAAI,oBAAoB,IAAI,KAAK,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC;gBACnC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC;oBAC9E,IAAI,CAAC,kBAAkB,GAAG,CAAoB,CAAC;gBACjD,CAAC;YACH,CAAC;YACD,0DAA0D;YAC1D,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;gBAC1B,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC3B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACzB,CAAC;qBAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,cAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6CAA6C,EAAE,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;YACD,qFAAqF;YACrF,IAAI,uBAAuB,IAAI,KAAK,EAAE,CAAC;gBACrC,MAAM,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC;gBACtC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrB,IAAI,CAAC,qBAAqB,GAAI,CAAe;yBAC1C,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;yBACjD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;yBACtD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC,CAAC;gBAC9F,CAAC;YACH,CAAC;YACD,sCAAsC;YACtC,IAAI,YAAY,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,UAAU,GAAI,KAAK,CAAC,UAAwB,CAAC,MAAM,CACtD,CAAC,CAAC,EAAe,EAAE,CACjB,OAAO,CAAC,KAAK,QAAQ;oBACrB,cAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBAClB,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAClC,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,IAAA,oBAAW,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "living-documentation",
3
- "version": "7.14.0",
3
+ "version": "7.15.0",
4
4
  "description": "A CLI tool that serves a local Markdown documentation viewer",
5
5
  "main": "dist/src/server.js",
6
6
  "bin": {