From ec3c9a9ae55272e5014e7dc1c05d161c2f00dccd Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 16 Dec 2025 18:16:05 +0200 Subject: [PATCH 01/33] feat(layout): keyboard shortcut for formatting toolbar --- .../src/widgets/ribbon/FormattingToolbar.tsx | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/apps/client/src/widgets/ribbon/FormattingToolbar.tsx b/apps/client/src/widgets/ribbon/FormattingToolbar.tsx index 610063a3c..0225a74bc 100644 --- a/apps/client/src/widgets/ribbon/FormattingToolbar.tsx +++ b/apps/client/src/widgets/ribbon/FormattingToolbar.tsx @@ -49,6 +49,21 @@ export function FixedFormattingToolbar() { const renderState = useRenderState(noteContext, note); const [ toolbarToRender, setToolbarToRender ] = useState(); + // Keyboard shortcut. + const lastFocusedElement = useRef(null); + useTriliumEvent("toggleRibbonTabClassicEditor", () => { + if (!toolbarToRender) return; + if (!toolbarToRender.contains(document.activeElement)) { + // Focus to the fixed formatting toolbar. + lastFocusedElement.current = document.activeElement; + toolbarToRender.querySelector(".ck-toolbar__items button")?.focus(); + } else { + // Focus back to the last selection. + (lastFocusedElement.current as HTMLElement)?.focus(); + lastFocusedElement.current = null; + } + }); + // Populate the cache with the toolbar of every note context. useTriliumEvent("textEditorRefreshed", ({ ntxId: eventNtxId, editor }) => { if (!eventNtxId) return; From c0eb34927f43a18a54c13c3659294c25d7cc2e7c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 16 Dec 2025 18:23:14 +0200 Subject: [PATCH 02/33] feat(layout): keyboard shortcut for basic properties --- apps/client/src/widgets/ribbon/NoteActions.tsx | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/apps/client/src/widgets/ribbon/NoteActions.tsx b/apps/client/src/widgets/ribbon/NoteActions.tsx index bb6d9a8d8..a6aaf14ff 100644 --- a/apps/client/src/widgets/ribbon/NoteActions.tsx +++ b/apps/client/src/widgets/ribbon/NoteActions.tsx @@ -1,5 +1,6 @@ import { ConvertToAttachmentResponse } from "@triliumnext/commons"; -import { useContext } from "preact/hooks"; +import { Dropdown as BootstrapDropdown } from "bootstrap"; +import { useContext, useRef } from "preact/hooks"; import appContext, { CommandNames } from "../../components/app_context"; import Component from "../../components/component"; @@ -20,7 +21,7 @@ import MovePaneButton from "../buttons/move_pane_button"; import ActionButton from "../react/ActionButton"; import Dropdown from "../react/Dropdown"; import { FormDropdownDivider, FormDropdownSubmenu, FormListHeader, FormListItem, FormListToggleableItem } from "../react/FormList"; -import { useIsNoteReadOnly, useNoteContext, useNoteLabel, useNoteLabelBoolean, useNoteProperty, useTriliumOption } from "../react/hooks"; +import { useIsNoteReadOnly, useNoteContext, useNoteLabel, useNoteLabelBoolean, useNoteProperty, useTriliumEvent, useTriliumOption } from "../react/hooks"; import { ParentComponent } from "../react/react_utils"; import { NoteTypeDropdownContent, useNoteBookmarkState, useShareState } from "./BasicPropertiesTab"; import NoteActionsCustom from "./NoteActionsCustom"; @@ -60,6 +61,7 @@ function RevisionsButton({ note }: { note: FNote }) { } function NoteContextMenu({ note, noteContext }: { note: FNote, noteContext?: NoteContext }) { + const dropdownRef = useRef(null); const parentComponent = useContext(ParentComponent); const noteType = useNoteProperty(note, "type") ?? ""; const [viewType] = useNoteLabel(note, "viewType"); @@ -78,8 +80,15 @@ function NoteContextMenu({ note, noteContext }: { note: FNote, noteContext?: Not const { isReadOnly, enableEditing } = useIsNoteReadOnly(note, noteContext); const isNormalViewMode = noteContext?.viewScope?.viewMode === "default"; + // Keyboard shortcuts. + useTriliumEvent("toggleRibbonTabBasicProperties", () => { + if (!isNewLayout) return; + dropdownRef.current?.toggle(); + }); + return ( Date: Tue, 16 Dec 2025 18:29:46 +0200 Subject: [PATCH 03/33] feat(layout): focus exactly on basic properties --- apps/client/src/widgets/react/FormList.tsx | 9 +++---- .../client/src/widgets/ribbon/NoteActions.tsx | 24 +++++++++++++++---- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/apps/client/src/widgets/react/FormList.tsx b/apps/client/src/widgets/react/FormList.tsx index dd40bd08c..84cc4d8c6 100644 --- a/apps/client/src/widgets/react/FormList.tsx +++ b/apps/client/src/widgets/react/FormList.tsx @@ -2,13 +2,13 @@ import "./FormList.css"; import { Dropdown as BootstrapDropdown, Tooltip } from "bootstrap"; import clsx from "clsx"; -import { ComponentChildren } from "preact"; +import { ComponentChildren, RefObject } from "preact"; import { type CSSProperties,useEffect, useMemo, useRef, useState } from "preact/compat"; import { CommandNames } from "../../components/app_context"; import { handleRightToLeftPlacement, isMobile, openInAppHelpFromUrl } from "../../services/utils"; import FormToggle from "./FormToggle"; -import { useStaticTooltip } from "./hooks"; +import { useStaticTooltip, useSyncedRef } from "./hooks"; import Icon from "./Icon"; interface FormListOpts { @@ -97,6 +97,7 @@ interface FormListItemOpts { className?: string; rtl?: boolean; postContent?: ComponentChildren; + itemRef?: RefObject; } const TOOLTIP_CONFIG: Partial = { @@ -104,8 +105,8 @@ const TOOLTIP_CONFIG: Partial = { fallbackPlacements: [ handleRightToLeftPlacement("right") ] }; -export function FormListItem({ className, icon, value, title, active, disabled, checked, container, onClick, selected, rtl, triggerCommand, description, ...contentProps }: FormListItemOpts) { - const itemRef = useRef(null); +export function FormListItem({ className, icon, value, title, active, disabled, checked, container, onClick, selected, rtl, triggerCommand, description, itemRef: externalItemRef, ...contentProps }: FormListItemOpts) { + const itemRef = useSyncedRef(externalItemRef, null); if (checked) { icon = "bx bx-check"; diff --git a/apps/client/src/widgets/ribbon/NoteActions.tsx b/apps/client/src/widgets/ribbon/NoteActions.tsx index a6aaf14ff..dfb0d93bb 100644 --- a/apps/client/src/widgets/ribbon/NoteActions.tsx +++ b/apps/client/src/widgets/ribbon/NoteActions.tsx @@ -1,6 +1,7 @@ import { ConvertToAttachmentResponse } from "@triliumnext/commons"; import { Dropdown as BootstrapDropdown } from "bootstrap"; -import { useContext, useRef } from "preact/hooks"; +import { RefObject } from "preact"; +import { useContext, useEffect, useRef } from "preact/hooks"; import appContext, { CommandNames } from "../../components/app_context"; import Component from "../../components/component"; @@ -60,6 +61,8 @@ function RevisionsButton({ note }: { note: FNote }) { ); } +type ItemToFocus = "basic-properties"; + function NoteContextMenu({ note, noteContext }: { note: FNote, noteContext?: NoteContext }) { const dropdownRef = useRef(null); const parentComponent = useContext(ParentComponent); @@ -79,10 +82,12 @@ function NoteContextMenu({ note, noteContext }: { note: FNote, noteContext?: Not const [syncServerHost] = useTriliumOption("syncServerHost"); const { isReadOnly, enableEditing } = useIsNoteReadOnly(note, noteContext); const isNormalViewMode = noteContext?.viewScope?.viewMode === "default"; + const itemToFocusRef = useRef(null); // Keyboard shortcuts. useTriliumEvent("toggleRibbonTabBasicProperties", () => { if (!isNewLayout) return; + itemToFocusRef.current = "basic-properties"; dropdownRef.current?.toggle(); }); @@ -93,7 +98,9 @@ function NoteContextMenu({ note, noteContext }: { note: FNote, noteContext?: Not className="note-actions" hideToggleArrow noSelectButtonStyle - iconAction> + iconAction + onHidden={() => itemToFocusRef.current = null } + > {isReadOnly && <> {isNewLayout && isNormalViewMode && !isHelpPage && <> - + } @@ -157,14 +164,22 @@ function NoteContextMenu({ note, noteContext }: { note: FNote, noteContext?: Not ); } -function NoteBasicProperties({ note }: { +function NoteBasicProperties({ note, focus }: { note: FNote; + focus: RefObject; }) { + const itemToFocusRef = useRef(null); const [ isBookmarked, setIsBookmarked ] = useNoteBookmarkState(note); const [ isShared, switchShareState ] = useShareState(note); const [ isTemplate, setIsTemplate ] = useNoteLabelBoolean(note, "template"); const isProtected = useNoteProperty(note, "isProtected"); + useEffect(() => { + if (focus.current === "basic-properties") { + itemToFocusRef.current?.focus(); + } + }, [ focus ]); + return <> Date: Tue, 16 Dec 2025 18:32:33 +0200 Subject: [PATCH 04/33] feat(layout): keyboard shortcut for collection properties --- .../src/widgets/note_bars/CollectionProperties.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/client/src/widgets/note_bars/CollectionProperties.tsx b/apps/client/src/widgets/note_bars/CollectionProperties.tsx index 0c07e8f02..6fc510fc7 100644 --- a/apps/client/src/widgets/note_bars/CollectionProperties.tsx +++ b/apps/client/src/widgets/note_bars/CollectionProperties.tsx @@ -1,7 +1,7 @@ import "./CollectionProperties.css"; import { t } from "i18next"; -import { useContext } from "preact/hooks"; +import { useContext, useRef } from "preact/hooks"; import { Fragment } from "preact/jsx-runtime"; import FNote from "../../entities/fnote"; @@ -12,7 +12,7 @@ import ActionButton from "../react/ActionButton"; import Dropdown from "../react/Dropdown"; import { FormDropdownDivider, FormDropdownSubmenu, FormListItem, FormListToggleableItem } from "../react/FormList"; import FormTextBox from "../react/FormTextBox"; -import { useNoteLabel, useNoteLabelBoolean, useNoteLabelWithDefault } from "../react/hooks"; +import { useNoteLabel, useNoteLabelBoolean, useNoteLabelWithDefault, useTriliumEvent } from "../react/hooks"; import Icon from "../react/Icon"; import { ParentComponent } from "../react/react_utils"; import { bookPropertiesConfig, BookProperty, ButtonProperty, CheckBoxProperty, ComboBoxItem, ComboBoxProperty, NumberProperty, SplitButtonProperty } from "../ribbon/collection-properties-config"; @@ -42,8 +42,15 @@ export default function CollectionProperties({ note }: { note: FNote }) { } function ViewTypeSwitcher({ viewType, setViewType }: { viewType: ViewTypeOptions, setViewType: (newValue: ViewTypeOptions) => void }) { + // Keyboard shortcut + const dropdownContainerRef = useRef(null); + useTriliumEvent("toggleRibbonTabBookProperties", () => { + dropdownContainerRef.current?.querySelector("button")?.focus(); + }); + return (   {VIEW_TYPE_MAPPINGS[viewType]} From 613764d423259a72114d5c2e3e6107ecfa684b47 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 16 Dec 2025 18:39:31 +0200 Subject: [PATCH 05/33] feat(layout): keyboard shortcut for file properties --- apps/client/src/widgets/ribbon/NoteActionsCustom.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/client/src/widgets/ribbon/NoteActionsCustom.tsx b/apps/client/src/widgets/ribbon/NoteActionsCustom.tsx index b60abf93b..ef3051222 100644 --- a/apps/client/src/widgets/ribbon/NoteActionsCustom.tsx +++ b/apps/client/src/widgets/ribbon/NoteActionsCustom.tsx @@ -1,5 +1,5 @@ import { NoteType } from "@triliumnext/commons"; -import { useContext, useEffect, useState } from "preact/hooks"; +import { useContext, useEffect, useRef, useState } from "preact/hooks"; import Component from "../../components/component"; import NoteContext from "../../components/note_context"; @@ -38,6 +38,7 @@ interface NoteActionsCustomInnerProps extends NoteActionsCustomProps { */ export default function NoteActionsCustom(props: NoteActionsCustomProps) { const { note } = props; + const containerRef = useRef(null); const noteType = useNoteProperty(note, "type"); const noteMime = useNoteProperty(note, "mime"); const [ viewType ] = useNoteLabel(note, "viewType"); @@ -53,8 +54,15 @@ export default function NoteActionsCustom(props: NoteActionsCustomProps) { isReadOnly }; + useTriliumEvent("toggleRibbonTabFileProperties", () => { + (containerRef.current?.firstElementChild as HTMLElement)?.focus(); + }); + return (innerProps && -
+
From a5fcee500eb9516229f686b4986cbe15d314fee1 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 16 Dec 2025 18:40:37 +0200 Subject: [PATCH 06/33] feat(layout): keyboard shortcut for image properties --- apps/client/src/widgets/ribbon/NoteActionsCustom.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/client/src/widgets/ribbon/NoteActionsCustom.tsx b/apps/client/src/widgets/ribbon/NoteActionsCustom.tsx index ef3051222..83fb30253 100644 --- a/apps/client/src/widgets/ribbon/NoteActionsCustom.tsx +++ b/apps/client/src/widgets/ribbon/NoteActionsCustom.tsx @@ -12,7 +12,7 @@ import { ViewTypeOptions } from "../collections/interface"; import { buildSaveSqlToNoteHandler } from "../FloatingButtonsDefinitions"; import ActionButton from "../react/ActionButton"; import { FormFileUploadActionButton } from "../react/FormFileUpload"; -import { useNoteLabel, useNoteLabelBoolean, useNoteProperty, useTriliumEvent, useTriliumOption } from "../react/hooks"; +import { useNoteLabel, useNoteLabelBoolean, useNoteProperty, useTriliumEvent, useTriliumEvents, useTriliumOption } from "../react/hooks"; import { ParentComponent } from "../react/react_utils"; import { buildUploadNewFileRevisionListener } from "./FilePropertiesTab"; import { buildUploadNewImageRevisionListener } from "./ImagePropertiesTab"; @@ -54,7 +54,7 @@ export default function NoteActionsCustom(props: NoteActionsCustomProps) { isReadOnly }; - useTriliumEvent("toggleRibbonTabFileProperties", () => { + useTriliumEvents([ "toggleRibbonTabFileProperties", "toggleRibbonTabImageProperties" ], () => { (containerRef.current?.firstElementChild as HTMLElement)?.focus(); }); From 2eaa4ef20610dd7eae1b41050cc86572beedb228 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 16 Dec 2025 18:43:04 +0200 Subject: [PATCH 07/33] fix(note_info): fixed note types do not have icon --- apps/client/src/entities/fnote.ts | 56 ++++++++++---------- apps/client/src/widgets/layout/StatusBar.tsx | 10 ++-- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/apps/client/src/entities/fnote.ts b/apps/client/src/entities/fnote.ts index 0f6df098a..cd255b72a 100644 --- a/apps/client/src/entities/fnote.ts +++ b/apps/client/src/entities/fnote.ts @@ -1,17 +1,17 @@ -import server from "../services/server.js"; -import noteAttributeCache from "../services/note_attribute_cache.js"; -import protectedSessionHolder from "../services/protected_session_holder.js"; import cssClassManager from "../services/css_class_manager.js"; import type { Froca } from "../services/froca-interface.js"; -import type FAttachment from "./fattachment.js"; -import type { default as FAttribute, AttributeType } from "./fattribute.js"; -import utils from "../services/utils.js"; +import noteAttributeCache from "../services/note_attribute_cache.js"; +import protectedSessionHolder from "../services/protected_session_holder.js"; import search from "../services/search.js"; +import server from "../services/server.js"; +import utils from "../services/utils.js"; +import type FAttachment from "./fattachment.js"; +import type { AttributeType,default as FAttribute } from "./fattribute.js"; const LABEL = "label"; const RELATION = "relation"; -const NOTE_TYPE_ICONS = { +export const NOTE_TYPE_ICONS = { file: "bx bx-file", image: "bx bx-image", code: "bx bx-code", @@ -268,13 +268,13 @@ export default class FNote { } } return results; - } else { - return this.children; - } + } + return this.children; + } async getSubtreeNoteIds(includeArchived = false) { - let noteIds: (string | string[])[] = []; + const noteIds: (string | string[])[] = []; for (const child of await this.getChildNotes()) { if (child.isArchived && !includeArchived) continue; @@ -471,9 +471,9 @@ export default class FNote { return a.isHidden ? 1 : -1; } else if (a.isSearch !== b.isSearch) { return a.isSearch ? 1 : -1; - } else { - return a.notePath.length - b.notePath.length; - } + } + return a.notePath.length - b.notePath.length; + }); return notePaths; @@ -597,14 +597,14 @@ export default class FNote { } else if (this.type === "text") { if (this.isFolder()) { return "bx bx-folder"; - } else { - return "bx bx-note"; - } + } + return "bx bx-note"; + } else if (this.type === "code" && this.mime.startsWith("text/x-sql")) { return "bx bx-data"; - } else { - return NOTE_TYPE_ICONS[this.type]; - } + } + return NOTE_TYPE_ICONS[this.type]; + } getColorClass() { @@ -617,7 +617,7 @@ export default class FNote { } getFilteredChildBranches() { - let childBranches = this.getChildBranches(); + const childBranches = this.getChildBranches(); if (!childBranches) { console.error(`No children for '${this.noteId}'. This shouldn't happen.`); @@ -811,9 +811,9 @@ export default class FNote { return this.getLabelValue(nameWithPrefix.substring(1)); } else if (nameWithPrefix.startsWith("~")) { return this.getRelationValue(nameWithPrefix.substring(1)); - } else { - return this.getLabelValue(nameWithPrefix); - } + } + return this.getLabelValue(nameWithPrefix); + } /** @@ -878,10 +878,10 @@ export default class FNote { promotedAttrs.sort((a, b) => { if (a.noteId === b.noteId) { return a.position < b.position ? -1 : 1; - } else { - // inherited promoted attributes should stay grouped: https://github.com/zadam/trilium/issues/3761 - return a.noteId < b.noteId ? -1 : 1; - } + } + // inherited promoted attributes should stay grouped: https://github.com/zadam/trilium/issues/3761 + return a.noteId < b.noteId ? -1 : 1; + }); return promotedAttrs; diff --git a/apps/client/src/widgets/layout/StatusBar.tsx b/apps/client/src/widgets/layout/StatusBar.tsx index 2f53f6b89..d12e92099 100644 --- a/apps/client/src/widgets/layout/StatusBar.tsx +++ b/apps/client/src/widgets/layout/StatusBar.tsx @@ -9,7 +9,7 @@ import { useContext, useEffect, useMemo, useRef, useState } from "preact/hooks"; import { CommandNames } from "../../components/app_context"; import NoteContext from "../../components/note_context"; -import FNote from "../../entities/fnote"; +import FNote, { NOTE_TYPE_ICONS } from "../../entities/fnote"; import attributes from "../../services/attributes"; import { t } from "../../services/i18n"; import { ViewScope } from "../../services/link"; @@ -220,10 +220,10 @@ export function NoteInfoBadge({ note, setSimilarNotesShown }: NoteInfoContext) { const dropdownRef = useRef(null); const { metadata, ...sizeProps } = useNoteMetadata(note); const [ originalFileName ] = useNoteLabel(note, "originalFileName"); - const currentNoteType = useNoteProperty(note, "type"); - const currentNoteTypeData = useMemo(() => NOTE_TYPES.find(t => t.type === currentNoteType), [ currentNoteType ]); + const noteType = useNoteProperty(note, "type"); + const noteTypeMapping = useMemo(() => NOTE_TYPES.find(t => t.type === noteType), [ noteType ]); - return (note && currentNoteTypeData && + return (note && noteType && noteTypeMapping && } - {" "}{currentNoteTypeData?.title}} /> + {" "}{noteTypeMapping?.title}} /> {note.mime && } {note.noteId}} /> } /> From 1835676d09aec5cbf513d9c1f6950c10c48a4f5c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 16 Dec 2025 18:54:15 +0200 Subject: [PATCH 08/33] feat(layout): keyboard shortcut for owned & inherited attributes --- apps/client/src/widgets/layout/StatusBar.tsx | 4 ++ .../ribbon/components/AttributeEditor.tsx | 57 ++++++++++--------- 2 files changed, 34 insertions(+), 27 deletions(-) diff --git a/apps/client/src/widgets/layout/StatusBar.tsx b/apps/client/src/widgets/layout/StatusBar.tsx index d12e92099..424fd81fa 100644 --- a/apps/client/src/widgets/layout/StatusBar.tsx +++ b/apps/client/src/widgets/layout/StatusBar.tsx @@ -349,6 +349,10 @@ function AttributesPane({ note, noteContext, attributesShown, setAttributesShown // Show on keyboard shortcuts. useTriliumEvents([ "addNewLabel", "addNewRelation" ], () => setAttributesShown(true)); + useTriliumEvents([ "toggleRibbonTabOwnedAttributes", "toggleRibbonTabInheritedAttributes" ], () => setAttributesShown(!attributesShown)); + + // Auto-focus the owned attributes. + useEffect(() => api.current?.focus(), [ attributesShown ]); // Interaction with the attribute editor. useLegacyImperativeHandlers(useMemo(() => ({ diff --git a/apps/client/src/widgets/ribbon/components/AttributeEditor.tsx b/apps/client/src/widgets/ribbon/components/AttributeEditor.tsx index bf0aa9428..ee9129bbd 100644 --- a/apps/client/src/widgets/ribbon/components/AttributeEditor.tsx +++ b/apps/client/src/widgets/ribbon/components/AttributeEditor.tsx @@ -1,25 +1,26 @@ -import { MutableRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from "preact/hooks"; import { AttributeEditor as CKEditorAttributeEditor, MentionFeed, ModelElement, ModelNode, ModelPosition } from "@triliumnext/ckeditor5"; +import { AttributeType } from "@triliumnext/commons"; +import { MutableRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from "preact/hooks"; + +import type { CommandData, FilteredCommandNames } from "../../../components/app_context"; +import FAttribute from "../../../entities/fattribute"; +import FNote from "../../../entities/fnote"; +import contextMenu from "../../../menus/context_menu"; +import attribute_parser, { Attribute } from "../../../services/attribute_parser"; +import attribute_renderer from "../../../services/attribute_renderer"; +import attributes from "../../../services/attributes"; +import froca from "../../../services/froca"; import { t } from "../../../services/i18n"; -import server from "../../../services/server"; +import link from "../../../services/link"; import note_autocomplete, { Suggestion } from "../../../services/note_autocomplete"; +import note_create from "../../../services/note_create"; +import server from "../../../services/server"; +import { isIMEComposing } from "../../../services/shortcuts"; +import { escapeQuotes, getErrorMessage } from "../../../services/utils"; +import AttributeDetailWidget from "../../attribute_widgets/attribute_detail"; +import ActionButton from "../../react/ActionButton"; import CKEditor, { CKEditorApi } from "../../react/CKEditor"; import { useLegacyImperativeHandlers, useLegacyWidget, useTooltip, useTriliumEvent, useTriliumOption } from "../../react/hooks"; -import FAttribute from "../../../entities/fattribute"; -import attribute_renderer from "../../../services/attribute_renderer"; -import FNote from "../../../entities/fnote"; -import AttributeDetailWidget from "../../attribute_widgets/attribute_detail"; -import attribute_parser, { Attribute } from "../../../services/attribute_parser"; -import ActionButton from "../../react/ActionButton"; -import { escapeQuotes, getErrorMessage } from "../../../services/utils"; -import link from "../../../services/link"; -import { isIMEComposing } from "../../../services/shortcuts"; -import froca from "../../../services/froca"; -import contextMenu from "../../../menus/context_menu"; -import type { CommandData, FilteredCommandNames } from "../../../components/app_context"; -import { AttributeType } from "@triliumnext/commons"; -import attributes from "../../../services/attributes"; -import note_create from "../../../services/note_create"; type AttributeCommandNames = FilteredCommandNames; @@ -52,7 +53,7 @@ const mentionSetup: MentionFeed[] = [ return names.map((name) => { return { id: `#${name}`, - name: name + name }; }); }, @@ -66,7 +67,7 @@ const mentionSetup: MentionFeed[] = [ return names.map((name) => { return { id: `~${name}`, - name: name + name }; }); }, @@ -85,9 +86,10 @@ interface AttributeEditorProps { } export interface AttributeEditorImperativeHandlers { - save: () => Promise; - refresh: () => void; - renderOwnedAttributes: (ownedAttributes: FAttribute[]) => Promise; + save(): Promise; + refresh(): void; + focus(): void; + renderOwnedAttributes(ownedAttributes: FAttribute[]): Promise; } export default function AttributeEditor({ api, note, componentId, notePath, ntxId, hidden }: AttributeEditorProps) { @@ -124,7 +126,7 @@ export default function AttributeEditor({ api, note, componentId, notePath, ntxI // attrs are not resorted if position changes after the initial load ownedAttributes.sort((a, b) => a.position - b.position); - let htmlAttrs = ("

" + (await attribute_renderer.renderAttributes(ownedAttributes, true)).html() + "

"); + let htmlAttrs = (`

${(await attribute_renderer.renderAttributes(ownedAttributes, true)).html()}

`); if (saved) { lastSavedContent.current = htmlAttrs; @@ -162,7 +164,7 @@ export default function AttributeEditor({ api, note, componentId, notePath, ntxI wrapperRef.current.style.opacity = "0"; setTimeout(() => { if (wrapperRef.current) { - wrapperRef.current.style.opacity = "1" + wrapperRef.current.style.opacity = "1"; } }, 100); } @@ -252,7 +254,7 @@ export default function AttributeEditor({ api, note, componentId, notePath, ntxI if (notePath) { result = await note_create.createNoteWithTypePrompt(notePath, { activate: false, - title: title + title }); } @@ -274,7 +276,8 @@ export default function AttributeEditor({ api, note, componentId, notePath, ntxI useImperativeHandle(api, () => ({ save, refresh, - renderOwnedAttributes: (attributes) => renderOwnedAttributes(attributes as FAttribute[], false) + renderOwnedAttributes: (attributes) => renderOwnedAttributes(attributes as FAttribute[], false), + focus: () => editorRef.current?.focus() }), [ save, refresh, renderOwnedAttributes ]); return ( @@ -404,7 +407,7 @@ export default function AttributeEditor({ api, note, componentId, notePath, ntxI {attributeDetailWidgetEl} - ) + ); } function getPreprocessedData(currentValue: string) { From 4f1c19f1e29ad91002329861f7c28c91eeea7a21 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 16 Dec 2025 18:56:41 +0200 Subject: [PATCH 09/33] feat(layout): keyboard shortcut for note info --- apps/client/src/widgets/layout/StatusBar.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/client/src/widgets/layout/StatusBar.tsx b/apps/client/src/widgets/layout/StatusBar.tsx index 424fd81fa..cc20931d1 100644 --- a/apps/client/src/widgets/layout/StatusBar.tsx +++ b/apps/client/src/widgets/layout/StatusBar.tsx @@ -222,8 +222,12 @@ export function NoteInfoBadge({ note, setSimilarNotesShown }: NoteInfoContext) { const [ originalFileName ] = useNoteLabel(note, "originalFileName"); const noteType = useNoteProperty(note, "type"); const noteTypeMapping = useMemo(() => NOTE_TYPES.find(t => t.type === noteType), [ noteType ]); + const enabled = note && noteType && noteTypeMapping; - return (note && noteType && noteTypeMapping && + // Keyboard shortcut. + useTriliumEvent("toggleRibbonTabNoteInfo", () => enabled && dropdownRef.current?.show()); + + return (enabled && Date: Tue, 16 Dec 2025 18:59:36 +0200 Subject: [PATCH 10/33] feat(layout): keyboard shortcut for note paths --- apps/client/src/widgets/layout/StatusBar.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/client/src/widgets/layout/StatusBar.tsx b/apps/client/src/widgets/layout/StatusBar.tsx index cc20931d1..00a57b573 100644 --- a/apps/client/src/widgets/layout/StatusBar.tsx +++ b/apps/client/src/widgets/layout/StatusBar.tsx @@ -1,6 +1,6 @@ import "./StatusBar.css"; -import { Locale } from "@triliumnext/commons"; +import { KeyboardActionNames, Locale } from "@triliumnext/commons"; import { Dropdown as BootstrapDropdown } from "bootstrap"; import clsx from "clsx"; import { type ComponentChildren } from "preact"; @@ -381,12 +381,18 @@ function AttributesPane({ note, noteContext, attributesShown, setAttributesShown //#region Note paths function NotePaths({ note, hoistedNoteId, notePath }: StatusBarContext) { + const dropdownRef = useRef(null); const sortedNotePaths = useSortedNotePaths(note, hoistedNoteId); const count = sortedNotePaths?.length ?? 0; + const enabled = count > 1; - return (count > 1 && + // Keyboard shortcut. + useTriliumEvent("toggleRibbonTabNotePaths", () => enabled && dropdownRef.current?.show()); + + return (enabled && Date: Tue, 16 Dec 2025 19:01:03 +0200 Subject: [PATCH 11/33] feat(layout): keyboard shortcut for similar notes --- apps/client/src/widgets/layout/StatusBar.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/client/src/widgets/layout/StatusBar.tsx b/apps/client/src/widgets/layout/StatusBar.tsx index 00a57b573..6f8e5cdcc 100644 --- a/apps/client/src/widgets/layout/StatusBar.tsx +++ b/apps/client/src/widgets/layout/StatusBar.tsx @@ -216,7 +216,7 @@ interface NoteInfoContext extends StatusBarContext { setSimilarNotesShown: (value: boolean) => void; } -export function NoteInfoBadge({ note, setSimilarNotesShown }: NoteInfoContext) { +export function NoteInfoBadge({ note, similarNotesShown, setSimilarNotesShown }: NoteInfoContext) { const dropdownRef = useRef(null); const { metadata, ...sizeProps } = useNoteMetadata(note); const [ originalFileName ] = useNoteLabel(note, "originalFileName"); @@ -226,6 +226,7 @@ export function NoteInfoBadge({ note, setSimilarNotesShown }: NoteInfoContext) { // Keyboard shortcut. useTriliumEvent("toggleRibbonTabNoteInfo", () => enabled && dropdownRef.current?.show()); + useTriliumEvent("toggleRibbonTabSimilarNotes", () => setSimilarNotesShown(!similarNotesShown)); return (enabled && Date: Tue, 16 Dec 2025 19:12:42 +0200 Subject: [PATCH 12/33] fix(layout): toggleRibbonTabNoteMap not working in old layout --- .../src/components/root_command_executor.ts | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/apps/client/src/components/root_command_executor.ts b/apps/client/src/components/root_command_executor.ts index 918809cd1..048aa4bd0 100644 --- a/apps/client/src/components/root_command_executor.ts +++ b/apps/client/src/components/root_command_executor.ts @@ -1,14 +1,14 @@ -import Component from "./component.js"; -import appContext, { type CommandData, type CommandListenerData } from "./app_context.js"; import dateNoteService from "../services/date_notes.js"; -import treeService from "../services/tree.js"; -import openService from "../services/open.js"; -import protectedSessionService from "../services/protected_session.js"; -import options from "../services/options.js"; import froca from "../services/froca.js"; -import utils, { openInReusableSplit } from "../services/utils.js"; -import toastService from "../services/toast.js"; import noteCreateService from "../services/note_create.js"; +import openService from "../services/open.js"; +import options from "../services/options.js"; +import protectedSessionService from "../services/protected_session.js"; +import toastService from "../services/toast.js"; +import treeService from "../services/tree.js"; +import utils, { openInReusableSplit } from "../services/utils.js"; +import appContext, { type CommandListenerData } from "./app_context.js"; +import Component from "./component.js"; export default class RootCommandExecutor extends Component { editReadOnlyNoteCommand() { @@ -193,10 +193,13 @@ export default class RootCommandExecutor extends Component { appContext.triggerEvent("zenModeChanged", { isEnabled }); } - async toggleRibbonTabNoteMapCommand() { + async toggleRibbonTabNoteMapCommand(data: CommandListenerData<"toggleRibbonTabNoteMap">) { const { isExperimentalFeatureEnabled } = await import("../services/experimental_features.js"); const isNewLayout = isExperimentalFeatureEnabled("new-layout"); - if (!isNewLayout) return; + if (!isNewLayout) { + this.triggerEvent("toggleRibbonTabNoteMap", data); + return; + } const activeContext = appContext.tabManager.getActiveContext(); if (!activeContext?.notePath) return; @@ -272,7 +275,7 @@ export default class RootCommandExecutor extends Component { } catch (e) { console.error("Error creating AI Chat note:", e); - toastService.showError("Failed to create AI Chat note: " + (e as Error).message); + toastService.showError(`Failed to create AI Chat note: ${(e as Error).message}`); } } } From 77b92385cbc6eaa17a8a5b18975d74c4e517ddf1 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 16 Dec 2025 19:21:50 +0200 Subject: [PATCH 13/33] feat(layout): keyboard shortcut for promoted attributes --- apps/client/src/widgets/layout/NoteTitleActions.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/client/src/widgets/layout/NoteTitleActions.tsx b/apps/client/src/widgets/layout/NoteTitleActions.tsx index a04bfc242..2e13c5f10 100644 --- a/apps/client/src/widgets/layout/NoteTitleActions.tsx +++ b/apps/client/src/widgets/layout/NoteTitleActions.tsx @@ -1,7 +1,7 @@ import "./NoteTitleActions.css"; import clsx from "clsx"; -import { useEffect, useState } from "preact/hooks"; +import { useEffect, useRef, useState } from "preact/hooks"; import NoteContext from "../../components/note_context"; import FNote from "../../entities/fnote"; @@ -10,7 +10,7 @@ import CollectionProperties from "../note_bars/CollectionProperties"; import { checkFullHeight, getExtendedWidgetType } from "../NoteDetail"; import { PromotedAttributesContent, usePromotedAttributeData } from "../PromotedAttributes"; import Collapsible, { ExternallyControlledCollapsible } from "../react/Collapsible"; -import { useNoteContext, useNoteProperty } from "../react/hooks"; +import { useNoteContext, useNoteProperty, useTriliumEvent } from "../react/hooks"; import SearchDefinitionTab from "../ribbon/SearchDefinitionTab"; export default function NoteTitleActions() { @@ -57,6 +57,9 @@ function PromotedAttributes({ note, componentId, noteContext }: { }); }, [ note, noteContext ]); + // Keyboard shortcut. + useTriliumEvent("toggleRibbonTabPromotedAttributes", () => setExpanded(!expanded)); + if (!cells?.length) return false; return (note && ( Date: Tue, 16 Dec 2025 19:29:59 +0200 Subject: [PATCH 14/33] feat(layout): preserve newlines in tooltips --- apps/client/src/stylesheets/style.css | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/client/src/stylesheets/style.css b/apps/client/src/stylesheets/style.css index a7a13f288..24b9275fd 100644 --- a/apps/client/src/stylesheets/style.css +++ b/apps/client/src/stylesheets/style.css @@ -717,6 +717,7 @@ table.promoted-attributes-in-tooltip th { .tooltip { font-size: var(--main-font-size) !important; z-index: calc(var(--ck-z-panel) - 1) !important; + white-space: pre-wrap; } .tooltip.tooltip-top { From 737e5b85b442456eeeb2dee346f5f1dc278d944b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 16 Dec 2025 19:40:24 +0200 Subject: [PATCH 15/33] fix(badges): "temporarily editable" remaining after changing editability --- apps/client/src/widgets/layout/NoteBadges.tsx | 5 ++--- apps/client/src/widgets/react/hooks.tsx | 6 +++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/apps/client/src/widgets/layout/NoteBadges.tsx b/apps/client/src/widgets/layout/NoteBadges.tsx index 9cbbf6fcc..245f23199 100644 --- a/apps/client/src/widgets/layout/NoteBadges.tsx +++ b/apps/client/src/widgets/layout/NoteBadges.tsx @@ -22,11 +22,10 @@ export default function NoteBadges() { function ReadOnlyBadge() { const { note, noteContext } = useNoteContext(); - const { isReadOnly, enableEditing } = useIsNoteReadOnly(note, noteContext); + const { isReadOnly, enableEditing, temporarilyEditable } = useIsNoteReadOnly(note, noteContext); const isExplicitReadOnly = note?.isLabelTruthy("readOnly"); - const isTemporarilyEditable = noteContext?.ntxId !== "_popup-editor" && noteContext?.viewScope?.readOnlyTemporarilyDisabled; - if (isTemporarilyEditable) { + if (temporarilyEditable) { return (undefined); const [ readOnlyAttr ] = useNoteLabelBoolean(note, "readOnly"); const [ autoReadOnlyDisabledAttr ] = useNoteLabelBoolean(note, "autoReadOnlyDisabled"); + const [ temporarilyEditable, setTemporarilyEditable ] = useState(false); const enableEditing = useCallback((enabled = true) => { if (noteContext?.viewScope) { noteContext.viewScope.readOnlyTemporarilyDisabled = enabled; appContext.triggerEvent("readOnlyTemporarilyDisabled", {noteContext}); + setTemporarilyEditable(enabled); } }, [noteContext]); @@ -945,6 +947,7 @@ export function useIsNoteReadOnly(note: FNote | null | undefined, noteContext: N if (note && noteContext) { isNoteReadOnly(note, noteContext).then((readOnly) => { setIsReadOnly(readOnly); + setTemporarilyEditable(false); }); } }, [ note, noteContext, noteContext?.viewScope, readOnlyAttr, autoReadOnlyDisabledAttr ]); @@ -952,10 +955,11 @@ export function useIsNoteReadOnly(note: FNote | null | undefined, noteContext: N useTriliumEvent("readOnlyTemporarilyDisabled", ({noteContext: eventNoteContext}) => { if (noteContext?.ntxId === eventNoteContext.ntxId) { setIsReadOnly(!noteContext.viewScope?.readOnlyTemporarilyDisabled); + setTemporarilyEditable(true); } }); - return { isReadOnly, enableEditing }; + return { isReadOnly, enableEditing, temporarilyEditable }; } async function isNoteReadOnly(note: FNote, noteContext: NoteContext) { From af02685f2ff8ff7ecbd1a7785d186581eba7ca34 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 16 Dec 2025 20:14:21 +0200 Subject: [PATCH 16/33] chore(options): fix misalignment in options row --- .../src/widgets/type_widgets/options/components/OptionsRow.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/client/src/widgets/type_widgets/options/components/OptionsRow.css b/apps/client/src/widgets/type_widgets/options/components/OptionsRow.css index 6eeaa1074..5f764fcc4 100644 --- a/apps/client/src/widgets/type_widgets/options/components/OptionsRow.css +++ b/apps/client/src/widgets/type_widgets/options/components/OptionsRow.css @@ -8,6 +8,7 @@ .option-row > label { width: 40%; margin-bottom: 0 !important; + flex-shrink: 0; } .option-row > select, @@ -26,4 +27,4 @@ .option-row.centered { justify-content: center; -} \ No newline at end of file +} From 948a6f84d63f2ded785a8f544db06e539c99167e Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Dec 2025 12:37:12 +0200 Subject: [PATCH 17/33] feat(options/appearance): add basic illustration for old layout --- .../type_widgets/options/appearance.css | 91 ++++++++++++++ .../type_widgets/options/appearance.tsx | 112 ++++++++++++++---- .../components/RadioWithIllustration.css | 8 ++ .../components/RadioWithIllustration.tsx | 28 +++++ apps/server/src/routes/api/options.ts | 16 +-- apps/server/src/services/options_init.ts | 14 ++- packages/commons/src/lib/options_interface.ts | 1 + 7 files changed, 237 insertions(+), 33 deletions(-) create mode 100644 apps/client/src/widgets/type_widgets/options/appearance.css create mode 100644 apps/client/src/widgets/type_widgets/options/components/RadioWithIllustration.css create mode 100644 apps/client/src/widgets/type_widgets/options/components/RadioWithIllustration.tsx diff --git a/apps/client/src/widgets/type_widgets/options/appearance.css b/apps/client/src/widgets/type_widgets/options/appearance.css new file mode 100644 index 000000000..4cfaa3450 --- /dev/null +++ b/apps/client/src/widgets/type_widgets/options/appearance.css @@ -0,0 +1,91 @@ +.old-layout-illustration { + width: 170px; + height: 130px; + border: 1px solid var(--main-border-color); + border-radius: 6px; + display: flex; + background: var(--root-background); + overflow: hidden; + + .launcher-pane { + width: 10%; + background: var(--launcher-pane-vert-background-color); + display: flex; + flex-direction: column; + align-items: center; + padding: 1px 0; + + svg { + margin-top: 1px; + margin-bottom: 5px; + } + + .bx { + margin: 4px 0; + font-size: 12px; + opacity: 0.5; + } + } + + .tree { + width: 20%; + font-size: 4px; + padding: 12px 5px; + overflow: hidden; + flex-shrink: 0; + + ul { + list-style-type: none; + margin: 0; + padding: 0; + } + } + + .main { + display: flex; + flex-direction: column; + flex-grow: 1; + + .tab-bar { + height: 20px; + } + + .content { + background-color: var(--main-background-color); + flex-grow: 1; + border-top-left-radius: 6px; + padding: 5px; + + .title-bar { + display: flex; + align-items: center; + font-size: 14px; + + .title { + flex-grow: 1; + } + } + + .ribbon { + .bx { + font-size: 10px; + } + + .ribbon-header { + display: flex; + } + + .ribbon-body { + height: 20px; + background-color: rgba(0, 0, 0, 0.05); + border-radius: 6px; + margin: 1px 0; + } + } + + .content-inner { + font-size: 6px; + } + } + } +} diff --git a/apps/client/src/widgets/type_widgets/options/appearance.tsx b/apps/client/src/widgets/type_widgets/options/appearance.tsx index 809d05e9e..fe6c54746 100644 --- a/apps/client/src/widgets/type_widgets/options/appearance.tsx +++ b/apps/client/src/widgets/type_widgets/options/appearance.tsx @@ -1,18 +1,23 @@ +import "./appearance.css"; + +import { FontFamily, OptionNames } from "@triliumnext/commons"; import { useEffect, useState } from "preact/hooks"; + import { t } from "../../../services/i18n"; -import { isElectron, isMobile, reloadFrontendApp, restartDesktopApp } from "../../../services/utils"; -import Column from "../../react/Column"; -import FormRadioGroup from "../../react/FormRadioGroup"; -import FormSelect, { FormSelectWithGroups } from "../../react/FormSelect"; -import { useTriliumOption, useTriliumOptionBool } from "../../react/hooks"; -import OptionsSection from "./components/OptionsSection"; import server from "../../../services/server"; +import { isElectron, isMobile, reloadFrontendApp, restartDesktopApp } from "../../../services/utils"; +import Button from "../../react/Button"; +import Column from "../../react/Column"; import FormCheckbox from "../../react/FormCheckbox"; import FormGroup from "../../react/FormGroup"; -import { FontFamily, OptionNames } from "@triliumnext/commons"; -import FormTextBox, { FormTextBoxWithUnit } from "../../react/FormTextBox"; +import FormRadioGroup from "../../react/FormRadioGroup"; +import FormSelect, { FormSelectWithGroups } from "../../react/FormSelect"; import FormText from "../../react/FormText"; -import Button from "../../react/Button"; +import FormTextBox, { FormTextBoxWithUnit } from "../../react/FormTextBox"; +import { useTriliumOption, useTriliumOptionBool } from "../../react/hooks"; +import Icon from "../../react/Icon"; +import OptionsSection from "./components/OptionsSection"; +import RadioWithIllustration from "./components/RadioWithIllustration"; import RelatedSettings from "./components/RelatedSettings"; const MIN_CONTENT_WIDTH = 640; @@ -30,7 +35,7 @@ const BUILTIN_THEMES: Theme[] = [ { val: "auto", title: t("theme.auto_theme") }, { val: "light", title: t("theme.light_theme") }, { val: "dark", title: t("theme.dark_theme") } -] +]; interface FontFamilyEntry { value: FontFamily; @@ -84,6 +89,7 @@ export default function AppearanceSettings() { return (
+ {!isMobile() && } {!isMobile() && } {overrideThemeFonts === "true" && } @@ -102,7 +108,73 @@ export default function AppearanceSettings() { } ]} />
- ) + ); +} + +function LayoutSwitcher() { + return ( + + }, + { key: "new-layout", text: "New layout", illustration: } + ]} + /> + + ); +} + +function LayoutIllustration({ isNewLayout }: { isNewLayout: boolean }) { + return ( +
+
+ + + + +
+ +
+
    +
  • Options
  • +
      +
    • Appearance
    • +
    • Shortcuts
    • +
    • Text Notes
    • +
    • Code Notes
    • +
    • Images
    • +
    +
+
+ +
+
+ +
+
+ + Title + +
+ + {!isNewLayout &&
+
+ + + + +
+ +
+
} + +
+ This is a "demo" document packaged with Trilium to showcase some of its features and also give you some ideas on how you might structure your notes. You can play with it, and modify the note content and tree structure as you wish. +
+
+
+
+ ); } function LayoutOrientation() { @@ -141,7 +213,7 @@ function ApplicationTheme() { setThemes([ ...BUILTIN_THEMES, ...userThemes - ]) + ]); }); }, []); @@ -162,7 +234,7 @@ function ApplicationTheme() {
- ) + ); } function Fonts() { @@ -245,7 +317,7 @@ function ElectronIntegration() {
diff --git a/apps/client/src/widgets/type_widgets/options/components/RadioWithIllustration.tsx b/apps/client/src/widgets/type_widgets/options/components/RadioWithIllustration.tsx index f41d3701b..8d768f486 100644 --- a/apps/client/src/widgets/type_widgets/options/components/RadioWithIllustration.tsx +++ b/apps/client/src/widgets/type_widgets/options/components/RadioWithIllustration.tsx @@ -10,7 +10,7 @@ interface RadioWithIllustrationProps { illustration: ComponentChild; }[]; currentValue: string; - onChange(newValue: string); + onChange(newValue: string): void; } export default function RadioWithIllustration({ currentValue, onChange, values }: RadioWithIllustrationProps) { From d0b0a13b6d45340f378efb320a480d1d71be0418 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Dec 2025 15:44:01 +0200 Subject: [PATCH 21/33] chore(options/appearance): use translations --- apps/client/src/translations/en/translation.json | 5 ++++- apps/client/src/widgets/type_widgets/options/appearance.tsx | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 8764f8001..7e74fb471 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -2116,7 +2116,10 @@ }, "settings_appearance": { "related_code_blocks": "Color scheme for code blocks in text notes", - "related_code_notes": "Color scheme for code notes" + "related_code_notes": "Color scheme for code notes", + "ui": "User interface", + "ui_old_layout": "Old layout", + "ui_new_layout": "New layout" }, "units": { "percentage": "%" diff --git a/apps/client/src/widgets/type_widgets/options/appearance.tsx b/apps/client/src/widgets/type_widgets/options/appearance.tsx index f88ec4058..1896d1855 100644 --- a/apps/client/src/widgets/type_widgets/options/appearance.tsx +++ b/apps/client/src/widgets/type_widgets/options/appearance.tsx @@ -115,7 +115,7 @@ function LayoutSwitcher() { const [ newLayout, setNewLayout ] = useTriliumOptionBool("newLayout"); return ( - + { @@ -123,8 +123,8 @@ function LayoutSwitcher() { reloadFrontendApp(); }} values={[ - { key: "old-layout", text: "Old layout", illustration: }, - { key: "new-layout", text: "New layout", illustration: } + { key: "old-layout", text: t("settings_appearance.ui_old_layout"), illustration: }, + { key: "new-layout", text: t("settings_appearance.ui_new_layout"), illustration: } ]} /> From 87d99aaffa0730baa03d9c89b92a499c25fcc01a Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Dec 2025 15:46:00 +0200 Subject: [PATCH 22/33] fix(layout): experimental styles not applied --- apps/client/src/services/experimental_features.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/client/src/services/experimental_features.ts b/apps/client/src/services/experimental_features.ts index 23477eae9..d252e2a77 100644 --- a/apps/client/src/services/experimental_features.ts +++ b/apps/client/src/services/experimental_features.ts @@ -28,7 +28,11 @@ export function isExperimentalFeatureEnabled(featureId: ExperimentalFeatureId): } export function getEnabledExperimentalFeatureIds() { - return getEnabledFeatures().values(); + const values = [ ...getEnabledFeatures().values() ]; + if (options.is("newLayout")) { + values.push("new-layout"); + } + return values; } export async function toggleExperimentalFeature(featureId: ExperimentalFeatureId, enable: boolean) { From 261c1f77cfbe21147b63d24285843ee17bd47c11 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Dec 2025 15:47:11 +0200 Subject: [PATCH 23/33] fix(layout): 2px margin in code notes --- apps/client/src/widgets/layout/InlineTitle.css | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/apps/client/src/widgets/layout/InlineTitle.css b/apps/client/src/widgets/layout/InlineTitle.css index a667e35fc..613c845e3 100644 --- a/apps/client/src/widgets/layout/InlineTitle.css +++ b/apps/client/src/widgets/layout/InlineTitle.css @@ -7,7 +7,6 @@ } .inline-title { - margin-top: 2px; /* Allow space for the focus outline */ max-width: var(--max-content-width); container-type: inline-size; padding-inline-start: 24px; @@ -111,7 +110,7 @@ body.prefers-centered-content .inline-title { .note-type-switcher { --badge-radius: 12px; - + position: relative; top: 5px; padding: .25em 0; @@ -121,7 +120,7 @@ body.prefers-centered-content .inline-title { min-width: 0; gap: 5px; min-height: 35px; - + >* { flex-shrink: 0; animation: note-type-switcher-intro 200ms ease-in; From cbecc2499937db926dca36c615d224808fe57426 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Dec 2025 16:05:13 +0200 Subject: [PATCH 24/33] feat(call_to_action): inform about the layout change --- .../src/translations/en/translation.json | 2 + .../src/widgets/dialogs/call_to_action.tsx | 13 ++++--- .../dialogs/call_to_action_definitions.ts | 39 +++++++++++-------- 3 files changed, 33 insertions(+), 21 deletions(-) diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 7e74fb471..19c294044 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -2109,6 +2109,8 @@ "background_effects_title": "Background effects are now stable", "background_effects_message": "On Windows devices, background effects are now fully stable. The background effects adds a touch of color to the user interface by blurring the background behind it. This technique is also used in other applications such as Windows Explorer.", "background_effects_button": "Enable background effects", + "new_layout_title": "New layout", + "new_layout_message": "We’ve introduced a modernized layout for Trilium. The ribbon has been removed and seamlessly integrated into the main interface, with a new status bar and expandable sections (such as promoted attributes) taking over key functions.\n\nThe new layout is enabled by default, and can be temporarily disabled via Options → Appearance.", "dismiss": "Dismiss" }, "settings": { diff --git a/apps/client/src/widgets/dialogs/call_to_action.tsx b/apps/client/src/widgets/dialogs/call_to_action.tsx index 1ae4a14eb..9267384ae 100644 --- a/apps/client/src/widgets/dialogs/call_to_action.tsx +++ b/apps/client/src/widgets/dialogs/call_to_action.tsx @@ -1,11 +1,12 @@ import { useMemo, useState } from "preact/hooks"; + +import { t } from "../../services/i18n"; import Button from "../react/Button"; import Modal from "../react/Modal"; import { dismissCallToAction, getCallToActions } from "./call_to_action_definitions"; -import { t } from "../../services/i18n"; export default function CallToActionDialog() { - const activeCallToActions = useMemo(() => getCallToActions(), []); + const activeCallToActions = useMemo(() => getCallToActions(), []); const [ activeIndex, setActiveIndex ] = useState(0); const [ shown, setShown ] = useState(true); const activeItem = activeCallToActions[activeIndex]; @@ -36,11 +37,13 @@ export default function CallToActionDialog() { await dismissCallToAction(activeItem.id); await button.onClick(); goToNext(); - }}/> + }}/> )} } > -

{activeItem.message}

+

{activeItem.message}

- ) + ); } diff --git a/apps/client/src/widgets/dialogs/call_to_action_definitions.ts b/apps/client/src/widgets/dialogs/call_to_action_definitions.ts index 31982689e..056672b16 100644 --- a/apps/client/src/widgets/dialogs/call_to_action_definitions.ts +++ b/apps/client/src/widgets/dialogs/call_to_action_definitions.ts @@ -1,6 +1,6 @@ -import utils from "../../services/utils"; -import options from "../../services/options"; import { t } from "../../services/i18n"; +import options from "../../services/options"; +import utils from "../../services/utils"; /** * A "call-to-action" is an interactive message for the user, generally to present new features. @@ -46,20 +46,11 @@ function isNextTheme() { const CALL_TO_ACTIONS: CallToAction[] = [ { - id: "next_theme", - title: t("call_to_action.next_theme_title"), - message: t("call_to_action.next_theme_message"), - enabled: () => !isNextTheme(), - buttons: [ - { - text: t("call_to_action.next_theme_button"), - async onClick() { - await options.save("theme", "next"); - await options.save("backgroundEffects", "true"); - utils.reloadFrontendApp("call-to-action"); - } - } - ] + id: "new_layout", + title: t("call_to_action.new_layout_title"), + message: t("call_to_action.new_layout_message"), + enabled: () => true, + buttons: [] }, { id: "background_effects", @@ -75,6 +66,22 @@ const CALL_TO_ACTIONS: CallToAction[] = [ } } ] + }, + { + id: "next_theme", + title: t("call_to_action.next_theme_title"), + message: t("call_to_action.next_theme_message"), + enabled: () => !isNextTheme(), + buttons: [ + { + text: t("call_to_action.next_theme_button"), + async onClick() { + await options.save("theme", "next"); + await options.save("backgroundEffects", "true"); + utils.reloadFrontendApp("call-to-action"); + } + } + ] } ]; From ea4a3b7f079264dac1ba761892b4bd2f2ff10ac7 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Dec 2025 17:04:47 +0200 Subject: [PATCH 25/33] chore(client): address requested changes --- apps/client/src/entities/fnote.ts | 20 ++++++++----------- apps/client/src/stylesheets/style.css | 4 ++++ .../src/widgets/buttons/global_menu.tsx | 15 +++++++------- .../src/widgets/dialogs/call_to_action.tsx | 4 +--- .../type_widgets/options/appearance.tsx | 3 ++- 5 files changed, 22 insertions(+), 24 deletions(-) diff --git a/apps/client/src/entities/fnote.ts b/apps/client/src/entities/fnote.ts index cd255b72a..cd1a8b7a7 100644 --- a/apps/client/src/entities/fnote.ts +++ b/apps/client/src/entities/fnote.ts @@ -268,9 +268,8 @@ export default class FNote { } } return results; - } + } return this.children; - } async getSubtreeNoteIds(includeArchived = false) { @@ -471,9 +470,8 @@ export default class FNote { return a.isHidden ? 1 : -1; } else if (a.isSearch !== b.isSearch) { return a.isSearch ? 1 : -1; - } + } return a.notePath.length - b.notePath.length; - }); return notePaths; @@ -597,14 +595,12 @@ export default class FNote { } else if (this.type === "text") { if (this.isFolder()) { return "bx bx-folder"; - } + } return "bx bx-note"; - } else if (this.type === "code" && this.mime.startsWith("text/x-sql")) { return "bx bx-data"; - } + } return NOTE_TYPE_ICONS[this.type]; - } getColorClass() { @@ -811,9 +807,9 @@ export default class FNote { return this.getLabelValue(nameWithPrefix.substring(1)); } else if (nameWithPrefix.startsWith("~")) { return this.getRelationValue(nameWithPrefix.substring(1)); - } + } return this.getLabelValue(nameWithPrefix); - + } /** @@ -878,10 +874,10 @@ export default class FNote { promotedAttrs.sort((a, b) => { if (a.noteId === b.noteId) { return a.position < b.position ? -1 : 1; - } + } // inherited promoted attributes should stay grouped: https://github.com/zadam/trilium/issues/3761 return a.noteId < b.noteId ? -1 : 1; - + }); return promotedAttrs; diff --git a/apps/client/src/stylesheets/style.css b/apps/client/src/stylesheets/style.css index 24b9275fd..f10ace694 100644 --- a/apps/client/src/stylesheets/style.css +++ b/apps/client/src/stylesheets/style.css @@ -724,6 +724,10 @@ table.promoted-attributes-in-tooltip th { z-index: 32767 !important; } +.pre-wrap-text { + white-space: pre-wrap; +} + .bs-tooltip-bottom .tooltip-arrow::before { border-bottom-color: var(--main-border-color) !important; } diff --git a/apps/client/src/widgets/buttons/global_menu.tsx b/apps/client/src/widgets/buttons/global_menu.tsx index fa24c8387..255cf89c9 100644 --- a/apps/client/src/widgets/buttons/global_menu.tsx +++ b/apps/client/src/widgets/buttons/global_menu.tsx @@ -1,7 +1,7 @@ import "./global_menu.css"; import { KeyboardActionNames } from "@triliumnext/commons"; -import { ComponentChildren } from "preact"; +import { ComponentChildren, RefObject } from "preact"; import { useContext, useEffect, useRef, useState } from "preact/hooks"; import { CommandNames } from "../../components/app_context"; @@ -30,13 +30,15 @@ export default function GlobalMenu({ isHorizontalLayout }: { isHorizontalLayout: const parentComponent = useContext(ParentComponent); const { isUpdateAvailable, latestVersion } = useTriliumUpdateStatus(); const isMobileLocal = isMobile(); + const logoRef = useRef(null); + useStaticTooltip(logoRef); return ( - {isVerticalLayout && } + {isVerticalLayout && } {isUpdateAvailable && } @@ -135,9 +137,9 @@ function SwitchToOptions() { return; } else if (!isMobile()) { return ; - } + } return ; - + } function MenuItem({ icon, text, title, command, disabled, active }: MenuItemProps void)>) { @@ -159,10 +161,7 @@ function KeyboardActionMenuItem({ text, command, ...props }: MenuItemProps; } -function VerticalLayoutIcon() { - const logoRef = useRef(null); - useStaticTooltip(logoRef); - +export function VerticalLayoutIcon({ logoRef }: { logoRef?: RefObject }) { return ( diff --git a/apps/client/src/widgets/dialogs/call_to_action.tsx b/apps/client/src/widgets/dialogs/call_to_action.tsx index 9267384ae..4f6da5293 100644 --- a/apps/client/src/widgets/dialogs/call_to_action.tsx +++ b/apps/client/src/widgets/dialogs/call_to_action.tsx @@ -41,9 +41,7 @@ export default function CallToActionDialog() { )} } > -

{activeItem.message}

+

{activeItem.message}

); } diff --git a/apps/client/src/widgets/type_widgets/options/appearance.tsx b/apps/client/src/widgets/type_widgets/options/appearance.tsx index 1896d1855..feecb56f5 100644 --- a/apps/client/src/widgets/type_widgets/options/appearance.tsx +++ b/apps/client/src/widgets/type_widgets/options/appearance.tsx @@ -6,6 +6,7 @@ import { useEffect, useState } from "preact/hooks"; import { t } from "../../../services/i18n"; import server from "../../../services/server"; import { isElectron, isMobile, reloadFrontendApp, restartDesktopApp } from "../../../services/utils"; +import { VerticalLayoutIcon } from "../../buttons/global_menu"; import Button from "../../react/Button"; import Column from "../../react/Column"; import FormCheckbox from "../../react/FormCheckbox"; @@ -135,7 +136,7 @@ function LayoutIllustration({ isNewLayout }: { isNewLayout?: boolean }) { return (
- + From b9c39d757b5c2922bec9c269b5045b60025e35e7 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Dec 2025 17:42:03 +0200 Subject: [PATCH 26/33] style(next): match attachment code border radius with context menu --- .../src/stylesheets/theme-next/notes/text.css | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/apps/client/src/stylesheets/theme-next/notes/text.css b/apps/client/src/stylesheets/theme-next/notes/text.css index 3636cb99d..deedf02da 100644 --- a/apps/client/src/stylesheets/theme-next/notes/text.css +++ b/apps/client/src/stylesheets/theme-next/notes/text.css @@ -22,7 +22,7 @@ --ck-color-button-on-background: transparent; --ck-color-button-on-hover-background: var(--hover-item-background-color); --ck-color-button-default-active-background: var(--hover-item-background-color); - + --ck-color-split-button-hover-background: var(--ck-editor-toolbar-dropdown-button-open-background); --ck-focus-ring: 1px solid transparent; @@ -77,7 +77,7 @@ visibility: collapse; } -/* +/* * Dropdowns */ @@ -85,7 +85,7 @@ :root .ck.ck-dropdown__panel, :root .ck-balloon-panel { --ck-editor-popup-padding: 4px; - + --ck-color-panel-background: var(--menu-background-color); --ck-color-panel-border: var(--ck-editor-popup-border-color); @@ -487,7 +487,7 @@ button.ck.ck-button:is(.ck-button-action, .ck-button-save, .ck-button-cancel).ck .ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > label.ck.ck-label { /* Move the label above the text box regardless of the text box state */ transform: translate(0, calc(-.2em - var(--ck-input-label-height))) !important; - + padding-inline-start: 0 !important; background: transparent; font-size: .85em; @@ -518,7 +518,7 @@ button.ck.ck-button:is(.ck-button-action, .ck-button-save, .ck-button-cancel).ck */ /* - * Code Blocks + * Code Blocks */ .attachment-content-wrapper pre, @@ -526,10 +526,14 @@ button.ck.ck-button:is(.ck-button-action, .ck-button-save, .ck-button-cancel).ck .ck-mermaid__editing-view { border: 0; border-radius: 6px; - box-shadow: var(--code-block-box-shadow); + box-shadow: var(--code-block-box-shadow); margin-top: 2px !important; } +.attachment-content-wrapper pre { + border-radius: var(--dropdown-border-radius); +} + :root .ck-content pre:has(> code) { padding: 0; } @@ -542,7 +546,7 @@ button.ck.ck-button:is(.ck-button-action, .ck-button-save, .ck-button-cancel).ck * for single-line code blocks */ --copy-button-margin-size: calc((1em * 1.5 + var(--padding-size) * 2 - var(--icon-button-size)) / 2); - + /* Where: │ └ Line height * └───────── Font size */ @@ -690,4 +694,4 @@ html .note-detail-editable-text :not(figure, .include-note, hr):first-child { .note-list-widget { outline: 0 !important; -} \ No newline at end of file +} From c7f1e46b268395fda205376fbf798541d0cf8112 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Dec 2025 18:05:39 +0200 Subject: [PATCH 27/33] e2e(server): disable new layout and call-to-action for now --- apps/server/spec/db/document.db | Bin 1220608 -> 1318912 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/server/spec/db/document.db b/apps/server/spec/db/document.db index 264a9ff0d1edf2d8b2df3eefedec5ba881e48ffe..06ca200470c85630ba673c461deea8f37fef298a 100644 GIT binary patch delta 138767 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 Ll=UegRqOu+`sI(- delta 57906 zcma(32Y6IP*8q<1y?1VJ+eqjH2u<4VCfOwPWYe?hJu0x9O>djcrYeLcDn(I{u>fKN zM5GA1=qrc~8&af*hzO{Nyo!KQRD|ETyZFA}_xzvl|NAA+v(L<#GiPSb%$%7y<<8lY zJ7-VEvc8OPL8l|`dMsj!mKwLnxXrUx<Y&i2h|VM-QuTW?e^ihOVr*r zi!FMrC2p)GKEew4;S1uR+LZ;S?Vrv#r{d4rBojW?A}I)<%W#j%55UM8XSpy`^_ztn5$C7If8K6p%( zLhS+^qH!h}n?e8q9BdM>XL&vVj{&d_?Xf-jNlL zj+GrcWt8HR&&Z2qhq_VCmK}lKdZJMYhpDjIBCK%}qAe4wapU5xwsIi#23|FgC@+n* zm!w!*V~VnT&CUMtIR$Cub+N5JuiMi!-q(`!pHi69n6VaZS|cp+6QXPrY}Ro$d#pz2 zv-HUw9nsD4nf1kq2~oB?ba3_{;teCKmg&?vY8@<*choZVoce1ZEP}XC9S8NsX_$9G zqR3+DjO(z(G&&NZYDWPe>3_C75&-y}@x%zkQN4)3h4DmR{ar?d&?zzMd}Y4+hB`>8 zRRU_fvRcVe^Ob+Av~oyYt@Kj}Sfb~*8!T_iefv-`WLryol((}Y$&nH7vZSX)JK7TC z2r58i6V#9?;o^J)G;~#ZRY_BBt5$WNcvGGt-7RlY`YU^-{pxaYzW6VtQ?g4-jQ~iqD#QPyoo;6W_%NFc}+0kZ@-0Udi6dcl^dty?Pzcri3iY^~|6sf%u{sRX3v0Vv!W zg3hR^Z1B$THka1tRaLjOC0L5oSitzof(B<{!$Yze>lerhesqz{8^zV~b2@1_8Zeo3 z`&@wK!F#@E2CDK;Ix*PzyWs%L#eJ-%0TGaT_kT3*Y>V-^a=j@XjtVxQT+v10cYi|z z@U$28ES|PY&ojn1`(hOxqPvDnl z6Y1JC$u`uljA-`yYax@3tvy69{OYe_IIW%r06w!`2*YE-ObVWJOJGR@k6k@P4B-oL z>C$$Xn>}Hw#G1?wK;IK=6kB*0@fKcYNquYJW)JbYiUT=%BmO!^FOj4!sm==(WVtDn9Tq9o8Sf?}bxVGPAPF-R$ytB3f&jeg29ze=BkGjjhDS zLAcSVa18M|AkM<4KWB$%L%ts``}tuJm+9{^~&22E+Rb=4=jYNH&jc`S^P5Hx5@YHLAGeOHOY zl~JnC1>6h`n(1w-a<^xurzN=Z*i!)gU4s@Ey3!Mz?z;A#>t(7+9KU5WOB?5M)hyl74%@w5i5&UUn=6?N75>*`C`CjojygSOYXDykaF zx~dD3V)WAhnx?0Q5edG!xHfBfO{zORb?|h6rfRq`#U0+pmg20m>KMDBo>XS*SOrlq zoI!fETkWqP<#lzxGE;G=;eq~Ma+ZuohsjxZZI~P;8PHIf^i;M2t<8Au1ZgZDG?teb zvIqd@@GtFTA8iW0zi7 z-cZRro$fbxED5Q$I!Gl4Q}|LQI~7kG3DV%r&7#N<+Gg-$B8|<}8u|dE!}`&IzkA4C zDi-FG!2@$GY(6QR*4X0f^)J1`P}UR|j!;M}T@O;l%+ zH>m#f3ABNpqh^x|wTbyaoy_QIk{(Vygwtjs8@_)gid5L|`QdWCT*gZ1l$?sU&P3Tg zh=DHpMK`fm%oV4IV~Cq#U+QU*6Rrv03y0AqX07lpQzvW@R+C5ADq%4*MCf8(V~%lC zNSjbiu3<`rV&=S%B-rRC`f+lJ5Fsf1O|CD0fw;gQXHxjR{0?pm^C$m2{}`Id_wbGU z-E1e>&8PEm#BmBQb|JZnI>>#?+|LeVS8=)Q9`1AQU);+a<`!~(?O$8oQDyd|YDa=C zp{zX9yc-x}jEU_|FV6Dky7Sr`=3POYyoACOTbiTT@2oZ))F9Em(yZi`_%2see4$am z7hGtWF$iz&_P4Y)=f(J(#Y#M0;zq}j2FEoOC?ZTtS-cquQI?jH)D%yr>G@#UnhInK zVI8SJOF}7+2StQZ4|&jyP-;QtKd=pz=tz)SOmbI;y(+Ojr>ij?y%ePOcoj-Zinh5c zofW0ki3tT+=12`5o#@W4iS>2nS2@!SdxH>9dsCN$JHn0HaQyG zU52;up>`C8qpML8zU_z9Bh|>L#H3m6sadH_-R&`M)0cR2H42N2NpGxk$Hdy(o1<&Y zLo`AbTXurWlInr4O$W(k+ zEmDvs$pVvV(T7YAP3S%)Ueuv|=q>azdJ-+9>*-m@kK8C1O;J2#G#Z2YqF<#Q)c4dE z)E;Ux+`&)69egKsOQtwzP7wVg=@>OkxuTp_4iG;pyOmAo8|7)`A*Ef( zSEecB$k+JymHzU3#4WN;5#)375z5j-Et1#BOXM24SWY5N$Tm4bR_N{0P3eMkT-qx= zPaY%BOUtC$QiD`ZK0>B2gQPUcE^n10B_sK#q!TZSC&f=yB<>`Ki0i0AafRp=r<3=K zPPtp0KuO|AF-*83oEG*AZwniRCxwOVTY_J33%SA+VT{nzPZ0PU{5k$8zm0#EU&`Ny zIKGx1%9rrT#2frzUgiGg{>^>GeZ;*^r*bcFk8wR*BX>8K&c$)VIWtF+AF!9$Q|vyf zid@TXU{|sWSRXr+&0#0AquD+z%Uor?V-7LzFq@fG)GB5X)5TOXMT~>gQ;G78d&GIv zK*q{Pk)_1Pj7->Fj)vj{ zTZ!H8a2b9H;*_>lxP0DRTS7s$$%-$upb0p6Au?jS57`VsjN-V|ip-3P!Xity5qJ5} zL|eSe+m%-s*X{Iobel(NNcP6+xY+EZw&p@#yz#|gQ#n>^OLTWtb$V=uDGi_VA*Yg% zQWI5CXOF9{$Zs-Fz|&e`jYUCY5wV?FHLWF?Wo>nSx6vM~UeZz25?#>V;%RI)j>iwR zqLE5MOj1s5cVSLyb(G!kH{RWf*5kZ7(u6zxXt6P-v&?C2jjxJoD)*Qk77-j7>+8sY zcxW3M84(}f38KdCu%{=+n`Z@w<*^quR5`k9>Z(%Bowy#bu;F14yRoS;O;M@ERhF2t zXj2}xK8$+fS3G25P!z?wocTGH`c6xyuif+{zU3h!apgkf#2J<3P<&${nvEZN5T)WB zm822>_8=On#1%G`*W|R9WM1x#aY!_tkjS#c>Vq8Q6<*Vo>G?U%J1mNb{ot% zX%^ZMtQxpE3oRlPdq#6bO0h4xq@~VkIEqi#lHvH39#q`JeXV|hPVVW?G z@>3O59yOI3OY!7&i4-@GN67cYyU4Bl8gdP}gq|(M@i)kB!6Rjm#bgp`BL|Zz@e}nV z8i~RXqOMSnoSQ3N;+m<2+`U|;u!$SN_2MYuEPGja zi2at`&%VuWWS^AoVHctmtY2i<3O0|OO8&r(W%~&SSzg@7To>PBeh_vuhsEA#0)K>g zm)XLsW)@4snF83Cf}rh8#>xx|ZAGdd{iVP~eX zIvJ9I{1V!JM+%M-ewWN@xJvWyVeeynSPycdi^Si`Sa=)?@(oSy3HkDSVz#`E*e*Y- z{gdyKTgcVqVp1l%$ZE2PbdXkZ5b;8A-)B|Ur}@guttp)`E!y%)sgI8-PIRQ?rX>^_ z{;feA9*;MwF+a66p)(OhYmkK2t|oU~R$N9&b=64oG!2wklLAOFDJ@lnne1f)6(m)h zl9gRk(UFtY;xoFjWga?#kE{W4(SJT{on)8Ok=dPMPe~}PG7iPr^U>UhWKVNqV^?)j zRYH7;VSz>?xiY~~6I)Q(F;(&r^n?Nv^E-sA@W|+SK4I31l z*;P<$N%VC$C!4KW?WC+^i_el=X7jm<^p|i#1sR6FS)euET;Po_%yJfVrdah~;x!tH zVGkgCL~>_BjK8bcR#Tf=r+-1C;iz}`e8r_zY1Sr-Ny5KAgCd7&@Wib8y6o0?e{?}g zzA;-n^OCEwVp@{pZOv8D@lm*Z70SY&twNEQSdGeY<7!B~uo||zZ4Gp_##3p@c9&#( zEOvfSu&br9ZC#Dk_091vE8B)QtwE#Y{8C?2VT-pUAv;%pH$J-tjg+%(T^Zi^^zzIU z8{ZFSJqz+?w~MUA(QXhGSr4H{Ba`bJ;^Xq8Yin(3iN=cH2x^jJn^RoTxpn?_&MY~Ke$w?Y+TioY}`KeH(@ zEjOvtyamsA1~|6;VH6Rmp{FF4R+P5Xbrh616U+|;htrjk(3tCVG`q{H%=h8zAS{EJ z$qCh!i4`>sovuo&Ia$L@b{Di&mDjox9GU56JD$4eA6Znr=$}j3YJf#LIz6>f39ZQm z*7#^saBU>D_zHvSdFYFmto zQ80A?QX#DPI)7Vrd2MTLYOS#_ST=D9iU_f%u-H>*N$D=li1QnR^^!6&atqtbGHMIb zD-3_hOLazQq9!}X+nEvV=~R69u_dTHC`TPR*0xexNmOe_QkmL}|6YQgOI1GwcD8oq zR@S#P*A_&TDQmU%QW^>~eU-I&#jfIPK0;ehDRu2>dA<~Td1_l46GW-(N=b=s$%`uQ zED+nU`V{iwq({&X!5bGI`zV^#libu1Uy>7@JUPXLoLQaR;5QNmlr6zP|CfG9L>rkCQKB(J6w!w4d zKTnh=)cNcaYKuBU%~B_-qcn-c4O2${rkqg@D7(13l~6r+<@HBabYZM+5+69l0FHFNuJu`&lqi~a+=^e&qu@l+5*xoF|{LY+Z4#LIg zRpuG|yq*~&p}*0;(O2jr^g4P0pVl*d!>Bi@_0$v8e5!@qMa`hHsEO1lY80qu|BbiK zMF=lwCiQxqF|#zrUt!BmZYWBqHwW-jMrOK_=CZXp^75L}Z8-_%5tueHBb7{VzRh0h z^2C?dlISr`j+PKh~dl4XaO}9PE7pCE^dBKojJ0cagoj zIwLAIxk`N+k6(!<;aMwD3_b=!!+)*>A!)%V4KKoI7=9O{LvO4_NKeeh^j7pH-m?{r zBPj}B+={~a4~X@|A|jUv!-f_j9G`d(4KO*o()0bPj@sO^mUOirEOtMMABh7|^{J0A zVEHw8oq$H63m^0m$$^L7M;0O=`iZ}ZH(p1CXrdn0xpd#^s0J#BvQfRr8|2q`+#Y1> zA??x;DIh&f_K{{uGbM*KT;j#A#T}qO%@GF+SA~y+XM{%L7vddZs$k-O;NRpI^D}rW zPjg>#uW++;-y#Q`!E?DhZYU8?i0pOt6LvM*%sSX!%#X~!n5B%1iDFp#EBaNshc2Lp zp+C@P=vmZ4EGH_-z6B_p`UwqokS@R9SL<#AC1~pCU_PYhn`AQeB0+ctm4=H1JseYi zG9q^FMGpM=5jcI8euBbD(~lu+$SAz0xgy)uSZO+kXYE5{R(=jz*50G?EY9_=Q1C$9I1PCGx4nV(LEvLrQbpu2J4+Rz6FAxe2WHR z=$nFf{l)O4IW~lN;9c}OUUm$+wf_-Q7-?t;Rr&l8KTV3k&I^?hnw=}9{`!% ze?Vo!Q$ef%KxznlkOsx(>b-z5<1a|v{8Q%fj*n0|X?Qn8Y{m~tufT+l(IkR2oC-C2 zV}vYWX@)G~Tc4l{w5As(@i(6^;mZg9ZNg7{hHl`E`%rOUz~^W$si}-6;H|GAdyhc4 zb-B6|4DlARM69JE#fh*O)}iyFEPN|$6XprU!btumzaP{fem;%w%U$I5(23+K(n}_i zVes&M1kFUzh+&+}KB zLVrL%DKBJW$1t~;PI(OT1@oe;lR71*G>}`tRl(}~l(5rg_B8vNct!j`e3F^XPgL=9Ct*U>hk^OGmMJVU z9H5)9i!y*U=3!H>P|b~>Ld}EM7^wLzvf#wCpvb>{#GtH<(F5OQb2wHTK_PeZE3_z7 z;n_plT6irq7m!h~a$5nd^)`Iw8)$9oZP|?AG5Elp$x_V0Do`R73hkRsk$()yKhd1wGjHVM5#<#U!wy>NfY z+=7>m)q`sCIEoDwJbD<7#cKp}B58Um)b$<_I@2@9#FM5uAsm48B27J^;$IV>XX6Oy zkD{0zID50uCxitl1^;?o&yuFnJCqclG(#~v@!Axqw3>(1vlL)Wq68kFIss}Oi&KFO zFfBx3trK{-`)jlhccp@w(sC8H@Si8q-K1f8h~VUJfRWwbpz2U|%WYuIpigDk95jCS z6dE5Q14aV{)6WY7@fNV6;Zu2lpg$Wb14u7YeOk3gKz&|qS0}52a#VRv=~S|mq4FQ{=koKiPo5^L(s}6}xQtX|?h<+^u=5hyBI22| zh`Z2OG&nV6Lh8ARSUhM1FXPio<P0>P6? z5#GEI^ydKSjmsaDw`;_EJi8qU5V~JQu$ihsI(}P6}@~` zehEf6NtVH~_b+L=R3*hoig-qROQ7o$a1I3?^576|tW(E`VR&A-Y&z?bsTyqWuj zoKG6n7IGU9oT9$0CX(m5-Q0Yxh#SgYW_PgR}>PcZt}^OuP-ZuICv) zlf?9*f27}}mlFNy3Ob%<(R=7IbT5iS{is{i8R`SLdo7|G)nQaF6-9-SHDnDwxCaKm zb%Da;XYYsG$gF6i%$VnDCmo)<5H`o!2NV;2WWF*QzLEtoaIyvt}5Dz<2YNP9iXCp|YExwRJ|~$s?$U zz|Du1wIrT#KQTV=>`fFysj#@!f7*k40T$*e18~AWJzZI>GO!O60mY)hcZUYHG2aMG zne*R~zTIQwNOKQ{#`1VvA_ulG^ktS-_vuEGcux`2EAW;= z8wqW@M#Gs-TUc$cI*DH}tEWd{yPh7&@RfWN_ZP0w(~j*%i<7{=80cL%&rC-K_8V!t z+~d-Hr&ABBFQ}brE_aVQT-7OGDz7O^z#=wT=`CN9Kay9=U2?8Gju44wh$_NHZ9!wG zc!Q=~A^`0f?gi0xvwI9#|T91}JR3x(-|9ZVnR_}% zMdp5{keLiy;}_8Ttfptt_tKN;0W^uuK9~ z!5hZVb$C?|(HGAi$tYTCWGK5klJ18`4Ws3NGK|h9uyYJO3f+YUB;$ia=z%z^!2mM5 z6;B!sER7gLYqDcNdZ_H*!&RO!m;D#8YcwrlX*6vKT!>`4DKr=jh{AKnLj&F8X?>t} zIQ;?&#E+$ika*U3dj5ZG+58(8+Fn5<;K|GBwT!2>sk(JY;G5;NNErX?s$rdAwTz3i zMF;*|L9_ide-XRxM>@c5rPmU8^-(50aCsZ;Bk;MS%nf|^4%&lH9b;Mome=VcLPR}v zua35(N2z&WN!Z0m^k8&}X4D_STCh!hk{OIg?xB-#(;nJSG9BAbo$evA;V9h;-$RN@ zV9xvW0*Pv*5-@v^ZtM*nMTN>V>KU3qS3svZR_P_*2F=+%{P;n7To_$0ZIm8GZ%A{c zCaIJvWkxbisv~gnAbpBh9${G?NH|Pi>9;)UcC6-RlR$8I)35Z@LEpKJ1cSjmxl>++ZV~TmrUTI_P7p_l;UX>kM&*zX3kQT<@-^WVQY7CIo>Iev z2Zc5=f$R_}ggo-9&`;pilklE+m*2v#hBrkL-_0N9YxrVy9&e*w<|D{wG#dgnnXKgg zO^(;>2q7!NKW2njZkRfOGm(ejCH@UHnthX9ukK{$Q=ik@*cLVmtQ-T_i4-Qbv7@L~ zHk_r2ADQ2nGtyq>0PzR2Oa6j+g?Wm3kZETsnF7@-*_j0P31+;yf;h?yU_|;4knu<9 z_vvTprSyGtEnPw<(^2$bwHDEO^fNjkoZ+vdkLB;t8|X!}9L+_|)W76K=w7lw9f>kg zyf77wK)nz}T_#^8zoYt4EajpepuS~iu%F4B*hj-g4bl~vi|&1`6^_vMzh8iI;aXHiQ|Zgo*Ya(b$#$q=t0Mt|S3Pe1>3_+2>LFA_7mBjng3atgz>Zu?kwY@Ys z&ufp1&g?Xe!>b1{kp@j;m6g_D>*}`0C)r!OhvI7km@GLxJu@{n!&y>RlxXH~?m#9? z$!Sa~Ne3o5a=jVGdDuM=G#d$vm`HHmVus@*1DVKywuZQlqNJ|;qC|F|)}XVN;IyX1u+k%$Xcr-(BQ1Jr?X*Nk?mXLRD0G zYksNeK@F0VkW^FVPj=PCmgkv*{w{bSP@A6a%ZY8SsVFIn_GBAB&@i);T#n3gUwmSA zw$-#ny{I#0SYv9-QaUmk%TlXNK}BO$OlmAcTz>}Drayi$f+@x1FR(PGjb{4d(XqUQ9~lh=d+fYKsw_VKi)miq=3r(&87ThQw2|ul zUk58&QdWIiLTY7cRdEG7Hn3zQ)5i8u&+3*C={jLA9LFn#*+P|&4M*}ofx(=GnTMBH zn7f9PZDa`M~>29fvXPoWu+#NOLsaJeg@H&GCWZQ<%4dcbxtPU4U3e5}%TGGLkGOmx=qOb>v?D0(q0XKqb*T#D$E)bdx*yy>Rb- zg?);BkZlW@pfm#%ys)k_KQM=xciG?AGh8^A#XZ4nmAw3HzCm>J<)E0bi>LWW-pK2e zY5eoz6tJE57nTU!LJcS|l6nN20MpGB!@b?cL~t~JlQc^6q@DClZX!9Gz93DYkJEeU z=fOlZn{E)^6W=D&=yE!ZJ;1CHw$gUWMn{4jO@}U`Pti_h30jYyATFZ$s0GaspX85= zer`R=LKD#_K|$f-6+|of)Nj;T;v}U|hp3)CN;|QW+RS|;jigpnOQ>$)2312gaPy@V z@;>9WcsrLb0g%+0&Xm^{4k#2 zer3)vN0|2*%_m5w?Xq&OBPGsK>*{jbZN_oFD=ze9bvm=6v*Q~Z)SVhunKz@r zp4*vW^;SihV}g*}xR{hAm)m3art81Jt_m>>AFdOP*z-6a8ByBV99L9ck(KSJavNw( zoECdhs$z-~TCy7&UDGe(L0UVdZhum(zp}f?8kcC?p;0ZaOm@aqR(caUi#@`UVE?ka zQ<{>R8WRdC6U3)+%d>p=pvwAAYg4z+UsBX=d@_jS^0pOsrzWJez^31X-+7D=FRH4_ zb+_gfbrrp9`yJV zCA)L*hc)6zrQ92x($Jh=mz0$4H@NXnHR2>3TPqqRw>`TfF#)_8+SqQqxKu zN^xy#O>%owQ)6_xo!f}V)`=6Xoi_m*FjqdWkzGGtrSS#}FyB;?-zzo0DAjV*#QH;djRfxuj z(r9m9u_dk`Ca=cBJ{qLrk5A7pOlnE2_r~d;!84xa!y?KGW4sN~4aN2G#RbNoow~Rx zF0H(v)9#JVEH<9OXX?Z-rOaIs-EApLs*6hOFdo4z^S9tw+1QoW;*>bm3c`~Z8rV%V6V!v(mJz> zOXC~k9huMrMQc1 z9qG+6wUt?>;EF4$@9In~vZi)f>vK(yudLBzQhmOoz#rF^)m7JO3K})b3JPrggi2pd zT9(Zelu6|U#RU#aT&^djz;6PRORZL~GOM|zy0kH_%U@*btu5uTsv943%@j3wFK>1?lil9A9jl)@W2W&O^(hg>#(+0cNL`9>mJ81SAe9vULhLfj`-@dCRY8q^U4)a_^m+cNTlAN+QGESl84DB$-BwE#Bor=R1g;388Edr<1+`D9AueW zN(Z73G1I6((<{cW$w1DR%75VrjRH^3JhJ$pXWbSAL2Lh z`SgB{@sQv-4|2<0&8b`Gk?k!@;zoZ zTS$DttVMg6dCC#E^QJH(r6JTs`e&-0RLF(oE$X0l_f)1R5eg}PFYlE%z>{~+0EC${ zOa!UCfk&QU-oiJk6$y{!B;(4n%s~7mBY~~#EVyMnqopoz@P6BKmNDY{I8dRVKFf^5 zGqi#+-vP=A0ZPAPBqM(DJ7yC8=~pD-EG=td0j2-967bNw<7ygmG^Kv0SJ9hMFK}pZr~{PWl|#x_WvSAjq|>pqnOdrh zRA`vXcjdM6ETWD`mG6<`DVjV>T%o^{drMc*7PJKHg4;kb(Fi8GQQ%|WO_mUwiN)d% z;(OwA;%xC=Q2q1~u7Nd~G@;+nL3)pHRCtXVPDBci3iZq=VT6!D5CX%0$L}GZA$Nnv z=>7cNd>qO^BlvLcckVE^m3x$H;4-<991D-J_t~{<4|@+NUP{63p*Q$~9$~hD^*Wtd z#x$aOxK?i^4lo%o-v9ZB@7e~_5O$5}gMzVJ@6J{SkmRR$&ShpO&b`Tu#^FCIV7NMt zcs&0PW+R8#Eq zl-VdP9*x8YzJ_jY{~d-mivnuQU!Xp{{3m0_AB}?zuwLtb-QP?S{u;3p@bufDq9`k9 z$#!J;y{+!jN@_TseiiDv{$hqACPOzk7|X^{DMTPR5W@*WKZdLZ77xW|RCW+vL$TR7 zyaX=2sfc|7Ghcz}z)r(}o>GZE6x6|wT?cM9ye@KqNxw1u2^@X}M%wZ_GX`H@Aj$aR z?@Tu?d7cl)d#^Hi`0i`W5N*C7l;;Y=Q@~d2JqiTWI9|kWT!Xza@e0!$CtioC>wSZH z7=PTPgyFw#FfF*6pk@5)6kfpMpUiPQ;x8B_yH5_s!c7=a%S~oqXbqhC1UU5J-^_M2 zjLIUH8~%>Kf81h{aXv{H@sqci+8#bu*QmS3($7e>QVOWSTlrjR5r2XYkfTTjw3wTi zVH{$X2oEy{#Basj;xl5mSR&d*6CVbSl#N^l^D1j%uCU!~8Ea?Km|D7BE({LsnME%P{qRr*7S)44 zf|+#586(dSx3r$(IX{a1XyR{e8$GMh-|`(qpFGX7)xquiE&-rvo51Y+HUSIqOAg|% z3_P0@B71oVnAINTSs}C-=2k&4+5TKXpowQSdfNo3eCaKT$D0IpXsAkVlVZj*o`*;@ z@?rdq$_@>(B^dd6|63-GAwLTC>d-}fKLk^>7atIy-RlAjQ8N&8WF~nbi1GId1$NI< z!F{@P1(>d4DOSe4*UM&x%nD*m$(I46jDQS&>?hz~F2w@ZcH-S43?NwX(DT9o+$pjt zcd{43{pwzh74fR;!X1>$f_VT#I)mthHr}PnzzFyX36r$m0fK4Hb+AAuNzlmv15)51 z`Oio%|E>08C^^`bV8uCy5R5M%k-9#3Tf5LJ$lx=-L&ugag|$$ivcoW;P3R4U1=H_) z5UTgH0(3v(**?L|yN3sUuKpMdw*TU_=05|0Idg-+Gt}Uq$b9ZI5Sgbg!+FRa1~&>a z8-GiHM8SQ5G1Iodv`}VkS`JA-X3Z^yC&^8Czr^lC(yO{8OdLia&a?4>Td-<^!*x9f z+<8ldF7#2^V7%90EnwG-x8D}bxRe%TyzHt7D``n^ka@Jwk0cgrD?0~|d$Q`;Nh=J;kfHMtjv$^g7y1O4DgV+A%qrLp2WkZPzfo>kscbl_cja*chl@5qo6yb zOVMrA(VXsv^gBI?Itamrta$=h>BbN#AA^a@t1VeQ$xJ`R;gP!d_gx$n;f_Y63TF4Dxb)Kf%2&SRq^oulyjt~Vv zlg4ZG>~Q?(cHpPVL+qRB4}^4m@wOd8FQPSM!`xy58)oidgG8FAgbbBa4ea|QW4H?5 zVhB&`#g1bPmmnR78yMPwzolstzI0iV@JgCa#}IvK#(Um`b8G!}xUK}Ll|$Sr&gsS0 zXr(56x>S_#1KWgU_+k$MH?iMC4F}7bcZyPAT^OrJq-lN#K5mQ2gfGgVEH%vzb?A0q z_6UJhBXo4^HAy1%KZG!IzAy|T&C@~|tvHZ9fZbuFx9Ku?kMLPW|`_6C@Z zs+rTE9vny?qF2(n=qflhr6Y#=h+0Y&P!Od;E`llinOFmn#}I+1M}uXuqPd}=vcg}> zH8)Xi5U5kJE0LXO_+MpERD-QXc_^Nf$PUJZiEJ5G`u>xhlnx@vf%Sa z>|}Om3{dz#5gQs@jV@@Q)$eL(fc`|}1R+#k+!P}X9sd8PYC@C0#@Fnvt)K>KLm1lc z|7?W{$7d(9Y4kwUZ#=jIj02Yv_ayeiK>K8NG3g>U>c;36>xhpbfWHhp1QshBlp;kZ zzbfZQze7OyDk%f@6c(ol=Y@gBdmIwDsX307(#%>>NiLzLTC-BUd*gk=n zmspjcqGIE4-sfxto_SJaanm|>4rPss#(#e;4GQSjvwIP385bL6!(V^K4kqmQ@6X`M z*?$u|1}Tfk2z>b>oU!&;TZr)8AhT}agcV@>y#0}sg;yMr`r@jOrPuJmO)xFiPvE;1 zOO8rkam9`+;QzvB%Y+rzer z#9P5e12gxrdIEdDk-RwfMIb)lq%;Um-^WUU$o=f;cOhoALq|V`+!T+FksV|Qe8r%O zz}=5=DWe-JC%au0_0_)SwkA(8$iVgcLmh?jxySP2$B1 zV5fdfd`g@p)-lgD z-An{{(DbJ+3vI+UY6SHR$qE_BM|r83z4R++wJ?aw;eY2|B2Td|@J~}be~f&H&m-<; zGMVf2RT?}>!T)^-VWF=w?c87Bprc&i?D*vtIC{`AZV=vkoEwcdX!onzPm44@eTY-& zyO7liU+4G`L1bLLU?7Pa*jZ5PzApjyvm@{W?*+IZ{4N>rvajGa>(z*af5An7i;2~W z6aIvY&&IE~f%wVmPHy6C$jRJ$bh?g(Yc-De zh6~42k3ehJw1$2^3_l;uR%N{9D3^{?zk)2hCS`oj2*tn<-v-;$Ut!GnmBY}U{{%M% z4?4l!g{vQgOUn2|oJpde1?Q{KgD?Z@Pr;a{oZv=FO#6Sp*?70s%$aYwL3hS}W}3b? zo^golqdf;@5Kut-L5)dUfg;W9(~SoHd;$Eim{l6H^T50E9Uw}xL$ne?GMn(mAD~X> zA>awHy%?W91H{Vzfa}4TpSU>ObqpF@^#%O&*M@ZSOD^J{rau9)({BQ6cbx#{rD;7I zaTJ`N2Mtqb2v`R)X}>Yx4>=mL=rCmA1t;TM$2k+?cj`uKcR(}V8VRMNeu7f=4=BC& zOAhW1hqzJNJ6^`8AUh;DA0fUZ<~W+_3bPU&&7CDd2ssQ6=YiPz1Yweb03t6mecLwi zCcO1!4$(vo@P2vALNosMdCrI@9)`Ej$0tDPGzTVP`OEVqyy*z=y5lJH|IcGw1nz$v zreziUEdOHxD7iL5rE_0#WATL(-1tD!*W5`0|1_6~#CLzgy%mT)#l1>^oAsZ%BG_@n zizG`M=xT78JjVXbzrxMt=kP`RUEFQ%2vZ9I9V-|UeIA`d9}^a|k?10Cq8?O;Mp3uO z`>4ZQ0kwgeMdec?hy&_T_+(6vS_si8B0UM>hF>Rhl|}F^p=by~IR*RpA^BczB)Lwu z!7Dj|l}>{8W+6nOSR`6JLGKc`hzrCraU3~Jq{u^{bDY9l;9eGv3$GH{;PqW1jDe`Y z9kc2pI|jCaLl3Lz99OFK1wKoXq6baXXqe&ixT;plr$bYl@HPnkziL4f7gr~Z zUfy@1h@YyHYMWiqqnLJMv}Ay&Yb5e2;7wgpoy!&ba`Ks z6puG%i6Xwx1oHkP2W-U)>p26?ZSfSm19)_(EcYuIRml}DHk4gt zga_DW5_Fayi?HJ_5&S@WT!K_H!8166;2nVpzd>kH590)<+Wk5rk-9>EMz5vY=nQ%g z`W<~DjN)&RNpQ2I;ZqS8`B?;fzJ_>`Xe6JeQcxOdB|oJ45#i(|_D_g1YX0w%RBkb4 zx}TN9^fhGzGgz4gLF^;gZR|q%rhG_V$DDx3Q7w%1UiPFsRUVwL+b>hn5A5C2N7BpE zVo)*WNLI-tUKPI-H^D7@6-CU_b3#v^*OgGh4lo$pr-U_sZq9cN2WykwUu;pZhj7Jp0t zcb4^H8Mvow2mzcc^E2_oDlq=r*JX(zcHKpl1iuJn!d_A~lEg-hMjC!cgeFFdFcYN` zAbWek5?U+rgYYy73N{Lwu&Gsm7Dcd_#t^_wWIUj|ou_`oQE3 zmVm-v&^?myhw9xRfn2c4=6)M*o)!a_-h&HY=n{H12R8$w8qE~fzYorE1^BQs4J?Z z-kw4B0fyfp@6F5vwGUs6f}DRgP2Za&hvC5@4D&#ewnO3LQA8ft`E08kVxy0;f!Hu&17f@RnQ!*cJR5SuO)v*(dG9 zPy1l6H|!RGL!A(~143afWU#A6ip6XbNU77aVS_$E@eu@`@EA_wfnARG{pBeuJrkEY!VE zChDl%|E=#=z2u^QJ}jYzfosT}$VDw~k?N~F_)pX#xhEJ}&4XUzNBOAyKDSfe20_(J zLm}p&0CPOjqE3ns$53vuZ|L(X)RV#&!X9oNxGSv^7IB{nUEB)1(xToqQggt82%(dl zmzz#r}*S zoD+nH_kI8C|GwzOoSE6Pr|sGM-uJ!Mx~G&DCueCR$f*hd0jetjDOgb{WvMxN@l7F9 zvI_!gn`^jO@=K1i=&dyZ<<&|ZGEFp{HvKEycUQJ=zaiYGZKuMi!BimSL-nJ2P+h2w zl$8?a_@ZK?B)hm*jDrV!xsWb+@uv})@dfs3JJ$wvj;@HrJZ~wp zbTS_|FE^){C3X+Hkd0-oGcQrmOeP}(EnY|W#Cz)|3Sb&WVbaW0l8Fa}Y&M5&izK%1 zgaER2k6ZqUqISz(Jv#4dP-_Kx z3iS(BO^NhiQgsO9*VeB^8=KC;b8`1BiDde2n<%^dCyZ|)+m=WcACSUH%3Op1Hhm|G z`q~er0*W2Qwn@gG0p#Ql7@vesq$6bbYT8Hd{*^F-NAJ+)Zd4lPc)%@^#kK`FcQ{=m z1g;UQ&K?u~q5CuaOwUs>2Duy3JL(JwPZ$bRbMRG6(9-Bo+RJiC*e=h-yx#YuFjR&g zWEa&$Z&g#&P%`(V0CPFT94f34=A!SrL_Rwy47bWwY6HlM=lEjyTEco66SF>JmU1yXd|2RzNgn(8W-hJcM?zMw_cuY2(PbOTvJ` z>I}8mc;|dEa1A_oHQy?`lnwk|ek=U-P0C~?M)6fV6v#L-=Rl=9WV~s4yS#?JPEt-f zJbE}=NHL_yLM1PWH*YmB7cYt53TRv6E^&hxL&cERHmNHaaYmN(DVK%i6xsh2?rh>I zm^hvO6uu>KX90z{^dsE8ga5*f4*E+dp;#dtP2&6+xtqS@ig2AGzuv|JykorZ{nzl4 zfBi}JB@bOk@$T0JZ^}cMd-r8zPf5sX@C{9?3aE|*UAF25UPk2&!IKqZz-wOmqZ~|L zJ_GY;^%=M=3$3Ebm|?UQOyi($chR`^=p|DnMO}}Lu9?IGwIJwmY3OgSuaaJA&EJ!dw7Ww zrFY*(zfS3gdx(P+Pj!H41{G~m?J!=BBdqc=UQ`1@D=oaQ0Gmkz( zmrw_&Nv1ufWK?K2AHG+#=v~Y{gSzwNN@M*m(oqWO$nh*DtP{_4Nq~BgdW+*I{p9``*oW z_mVX$M3xHEr!Np6qo~fryh!Y8<&(J!TqDO@h$Yy()10IaT_kQ}$?Ao&C)x3dRo3m# zh;t~q;(3xfR_sC^`OWUGf3{4VMKKl64<>$L5Q|xOo^{t}FBhkAt@5L$F%+N^Ujh5l z0+6&9fYBeT%c))J6uJv_fwEA6KrdN=cX>;hj|Stb&_G&kpbyDOau4Y*X|J?Ws*u8A zrJto6=ooPafaH^bAh!tL0#`L%NE3STR{`-_%D~2k$_F>h7a=RbhBEq!;UJ~8OWRS;ch;TXS(7)R7p>Oz8sv)1ww@IY+FDcBmV>1Ja z^`binVoba&jd#^s39VPCO`Q4!XWx1S?m|RY3&IBTk2m!Bki63ttr51ru<=9mu$sL?7B#=Gy05 z0+Q@&FNxLqj16KsMT73(y%D;xyH48`GT8#6@tuug4Y_m*s|I+0)^4~Cym-pqf!3}Q z>SdIkbQ*5M)r%2WhH#jZ91bM_gs5K;gJ^9!x%>*sTyn=yRN;XD#qL+cxfbg_d=LYO z_a?DBS-8;w0{C9?#U_+{YLi$+LkP@y(CWEx<|bcLIlcd@VsDC^x1r1JvIP(Ooh{-h z*S+tG2lmKsotQ`8RR@@ui<{cD4h1eAuy#nW-!TX(kxYb%ImT>c>X`^Wm-pdravyU~ za}&9TELSZD5ejazWJ6IyHveRP-;6n?Io8~Ry~TdTzN#HXP;9yu2Q9(VBzLPA)rF3u zJ5r|s)oP)lDLdlSFDu^z=2e8ITj7eUF8o$=(<{HloKcT>U0g@gjuz7PmguS9ep6(` zo@@~!o)(j30sD=r%Xff&84coSy>MGt2&(9Nd^C52ck1RCYWNR0qx9|3e z_%>bkJXtI&UC8qSTHk_1OlUE!c%7N}d=WYIAI(GmcCXl4^<8!Ntx}t5-qA*o` zS)B#;x&yuXYGs@v%Dd${I4$QujBu&wExas@;!p8&_%2|I)N#FmI(*$y1J)@Is@^(t zF;xoJ)wk?Y(^hILW*ZMPzcZVm#WsMxLcdQxPA5>gR9~F%zP}}1eSKYlSn3<`AO7AR|8K49hViQJzGE01enWSdM1eBdXnrb-1i}x+1~G0VACL-T4k8|(RI^B0^qiag?U6q7Kvz=SX zgO@(KpwcTbr^*#nEHYxVKAj`)JN|z}9sT8j%6$dsM~q;ypWb~qblyq%2ziM!zDssZ zqx+bh+PI{8gd9Msc1s=X_YFwSa5D7?LBO*onf!s&pWHqo9y90TM#Ef3ta(iAtwdDi z>os#C+2*i0?1fPY4K2w{{$VMFMXnnpem3!8^2$lLjmNK26eG6j7fh-zh@B`u zLJ`@meapCu;>K3?dsC_DHl<`Lfrw@wQ{Gip&~MYrS%o>zKEu{={+!Kn0nmkKEC(zv zTjqg-HOkV%LSYjAo_VFY*_>exGTVhZ?U>S}scMw!&0ZE1{=C>#I4b;&S;H}Dhy02> zS86cbmJ8%4*_;1V@De9CO#j&VD{<7%LyC~s~o zyIpBi#wY<$E4(Owwm8C#4A=&U5cIm?p_}gzEsX3$^H@FYUCI6!Wgu~X&90J7f=!^Q zkI97urGVUtSCYww8;IAfPEfLl`!&RUAHOa3c44;Q^zTeQiNjuxcqPn*4Z6Gr{_`#I zN{VaM_K)U9o{ELOgcAyM>JCssLvM?MYp>s*5}-v>$fYC&e*D#tE}>VElmFbs8KE?G zPbJ4jD?K~PpP4$knomVqaYbC|m@%PwDYc~RCf+t@pyH}-iQkfWe_(al-x!B~TMpTQ z`G1SAIKe}gEr1d&`bQi{PW&nMG|nLs_ack~FU8>Uug55J$%TaWThQLw>uITy3seq-p&*4OvWRs@`9&hM=~6y z4Xf1-H2o|&@P}AQqHap=G~*z&f$o#m@K(XB~S7 zXC*hqD8pZ@kc1&tk>n?!&0LLxX_24->-KA$(v#Kv0B7ym!wMv>FZtpo&W%3AwZ+2t zIxp*#88V+2pF%5RdXm(5#fQ9=ggVw-g(d!S5~@7%2VUQr&j2T6x{CBerkH2UQo%E2 zQpuZNN|Pl77`9EP-1Hb(+C-6O^EFrrn$%4PA0&q&t2HTim=s~^!dx;T?vV>5<|5e> zbiYf`)GZNi3iE`1z=K9SBR!-$PQ7p5nm+0wwonkIFXb2J2@QXm4sGeM34$kK%Sq`=o7bGw&_6nYU3nQi+r*g_*r2 z+$j@53*u$*D3c}bHn*8?aEsYk`jog>Y&NIzVbo_&5#u$I~_%%c|5FEC#S)j}5LiSGgO-YGArX=G@5 zV3B`pRxk~@dAi?{cV=}nCgungCBPLucowaYK8fI|?f*wm%#D~O&mij)rDXEXZ9%3+ zlU>(@jx_ZmGF!l!ZAe1FDW@=Rr$eM(`llh1Ck2roB~aaAL+Ck^ianerOUz$XBqG|3RbB)tE zvLamSPIiP#161>9^B}W3dx!m5PG%31>)}!#56EwS!alCOqAkMgut=ID#YjV>LAZl8 zRklugV1%@uLq7rN-S;ul_$9HATgm8VTQ4%L*%qaL*=$Rp$fDonj(Uf9Nu-F^0!*Eb z$4ZhB1DEy01nEsjzb{R@ae-pJm`D9Brpk74px7Dm7S|wk@ujd^%{AmML;<8wKE>)g zj*m0su%Wlz#gN1{1hJ(bz(n7{ega8smmqeM+zWj4hoF#u(olaC--Qa%`<6}Gc4;Pb zAXi%EYBT94!Buad4aQEIC0raqeM?rQSUa_vGugh%Rp~{uw^^gNvj3PzvA^5kX3RrO(oO^Io~8PyH8xds(tN(NbzYMrbWWrPOSm6fDN#EopWEzs38tAkRK znhKj!fEW*-C^=kT2|IxVm!qUu)sED$n`i9&>``5;nqS3h-1*6LX8Y8l6 z?T2wxuY$0~oJ#+O_^kNUQT7Qa6F?URU<5H3ei|o8s zWwIBfmX}rJCg+chNU5^Zyu^HagHfh_0lNm`^Q0l`eo%iMiXnq~#c5@rK#auHzg-)YyvX{9Wi;dE8Od7;sPB9;2 zF1gIS&%DjN0=<5TITg}h-ey4`S1r8`pzt`d`yx!tb5Bb9$<3!EKc}Cwb%8XRTwNfI zA@l!$^LFD*X%_i=G3B9`HcBgaL;Q1w)W4(Qd%oZEEWwwoEF$V;4UoneQm6&OuXf8# zvUP^k$HM0#lf_DMc828dqm9$T&7GjJ^eY5qUx(|eO)93Jm9nA5GhFhOdPr`PMZ7Nl zD*gZ&|6O{&Hfc6!4KEUEnFix;u5>~_b;AZ|<6lcCD*=mjk)HB|^qQN+4eri$7)jSi z{j6*OI)zxcGXtrQsQ#vP81Qq+#I;g=*A6Z>;luabgl!(P8P`UN{I(W%ZA_8f?@fRI zYvM`1*kkKR2Z!pV>i|Vkt7c7ij`XhT4AzI6)00C!{EyU|3~Ghzr7E9z4}#m)>x{(O z1G3wC&YI>ro4d<8Fqk6bt2I&v(R&JBWrJCFNkr6 zAxlD=94_5}7nh(<^F#M^6fx~bO-IBbKn?E_W(%W*E{JDu=iB(GN*B&T;F z>Tf)ej`yC({Z0d7+oyIWlS5>yzMw?8%8)}vkj>jtu7r`TVX)WUK8VJIFy+I>KmBRy zQL=U~YE0RJh`^e$imcDrC;3q1QI@dso6SKiYUg2Vs6_n^}6rG_j@A9q>tLK zti!!4yU+h|Z@hItC-!2Fv!ug=Tlo*#lmBk;B;7ugW(6xwSHpN(8>7C2;KFDCQGSN2VIKUy1NrIP7hDfZHB_NGu;t7L zjKegZ&Zo9gJl<~~UHU@m!Ew;w|7Fo!*FNU!dq;0C8GHaM^~_#d1T#yGRhoy@o; zseHT4r5o|PjF8qP79`4Hx1>npP+-a#9Cc?cW}U`t9D8k0NHG*fw`kT5q`_>PM>}3J z>VC_$c^7RPNDf%=&q>O*y4~H*+a4jS1=~nkD{*c4`~^76w z&G82`Y_4_{R9iI2!d`W)Y1VDQbc48K(}`tVox08@z=Nl>aD?AxBP}GC(`6sPZLH zgWiyrX&*vtI9nbncZ2-eX$TCz2;9pQ44OWY6-Me;;#By;%3VN zO9k|c2U|LU7kb8g5Lq#vgBEsyIR+Dy4qzM|XFr1S-;-!QA9>Pm7d zG*2>vfl~$t%EUb0(NiBp$yS=2%67Qxk>efjq3fPbx$E+W94pMxSG!YM@~a8);)wKyQic3fhJ^UQZCrRS&Jh+8VK;W7`ZFGrmJxS zoe^L~Vnk9Q+1+WkN#q9xL5KH@f07h<=skaCW!X_Batlo#(hOxr(7`GXq!-gwK)iSxhVD3Jy`|Ffsj`5JWL{QgLPvI@l4w~2Nx*l+jo^}XW*$ZS;RdMhuVSw9 zjNA;x#3*DGJArO(1b>7rW2edwv0La*WKZza%VkOWhkjZ5l|L&T=W5xN(&y4U(l+jG z2}}uTF~3rp%C>%Jeu^)XCUPBF4r)}rrFd?I<%BdqQZ3i{apFz$H6n+=J5q7Z?c$rxa zdt{XGI#)>FhHm#$LKEcLqv?zEb|J7Ib4BP5h4!xn2lpHQ0k?UvqH8KE>Ohe4 zib#p2HKWwOJThAC$bcXAr9%#NO~^DiIn=|!^v6}z7JxJbE%`cxWvE-uDkr(g=kZ-V z4Ec=?a!;ByplPJRT^?kF+{BTUm8H}xqOQf`xnqz1B{(INX7!2(EVSPYP>h38A=+PUgOo}z& zZThR79^>j)`8>MePQH^lESVb~4n?IM>1YwD`y9FP<5BC4^x6*<1jEE6nomS9Uyi#tR(??7|q z1m;{j&6_dnDu4#;3J})%nyqHA(AaZe)PKNkXE(FYqxWoPOVEFgKn|rY+6lbiznHH9 zRC}3O0a^MAW&#t>1ThqSfZj+yO;5!fZ#=rn!E|5Riq7&XEQN2W{`;w2$mw?X&uAL= z|2ZLvMgR{9Y4-Duk$RsV@(79~Ip8H;COR64m*l9?KbIUmD67%J@0r+i4^p`vUF0yu zLDM8fb8ICS|3f7}0#M##A>|vWKF}pbi^JJcNpWw`*>(?-yR|wiDK0^BQs?L7V}K;n z3-T)QK{z)I6q#YBY6LXt3&_Dxr5(UX5u@I~Bqvu*Qv1-o0l7a6iI(X~juHiTnkfG+ zACg~z<93BSn>q?!*9dt4u=Y2lGtxon9kwI0gPA5RhFJ_~i{#VFTmkOwwD^&@k(mIk z;5;!BZuC@jhbQl zi#v<~IuT^sXSrz*Kpnz)TJAv9?^DY*3!!o?&Ftrv$(GR;A9k_D4Y}M-nLk0g2=^sS zq`B5S)*NiMvFCBC?SI4%((|O>7uLmOftvzI?F5kCt2`77Q%9dB;ciM_a_LdJCruwE zEgh9UH2o#n_N$@#f7ogztB;92jBKBFQn_E1$j=_i0z*W^LYFu*g_5c-t$m1>LxHTu zmsT(1R~IUuTt1KEaSE2JGa3LhnN0A2YyD&&0db1)u2O*2qm(}BD{G$R-)myY(eJEX zNb6MkVdC|@bv~KyfrOs!kHW>c+Myu0^(c+R&mEM>l#Z;XZ%}WA%dEAdC*tm$8FoW= zwEIN%8@5PWsQD0&6uFl^JVlmO+I04r%ho~q)QR$AR4anov8FFf=1Oyv*%LB_dytQ? zoE?d7>pZiYS;mwy;Yh}uL0_Xkqt~LRkEhz`fi&m{)F%Et!NH#sN`&G3(}?`-h6ZJ+ z7|s`o9fV(nod&5xTCTN%KRwc58<|(Cx79B}xdo|%dRXl%?J-ClsV49`3`PgC5W2WV zOXOn7T^?ron;j{8vJQx<_u_uTw?7}+nqd%h`~frQrAX&D!qUNFG9NQ<7pI8v$ST+Y zBJG!j!vYD-14garEcjv*S4rR#%{Om1u|&(q)&Zp;1j*p`5chvTs7o%9Oa3?N&wetl z6hwoU<1h=-%H+q%-maRggS(VX5nF-W%`7a%H$&o=Te|5>&uLH63@A&WV8ZJVR|IQf zg+UEUD8?`M5}a#yv7A9li{*H;bip9Uor(vwZq-HDM!!U(;Hov?fqh>n=aVT#@;4+a z0oxYk;9%||?jgki3e=G{Sln9+a0k~T5#OuqsM*M%LQE#EH3O7#0;?QtMoUbl$q;v~ z7e})_S?>Uv9PltiY)m962N1liIr4roWfbmdYp%SM>^FWbED-JF$viof+!%$^uD%Qg zg^~|EVQih@=`Ry)BrjjyOa>Lmxujn|q)>VI9nEH@rW!ZAEgCoc@;^9aPN6)IH@dti z;3r78DtRR7Hd*d({#0Be);}{@@ECv@S2Z%yMS?`!5m3nAFzb4sd4Xw$%)K`ZjGgo% zI*%Sm{Y~wmmXdd?DjwB6JgvbD^AK1kwrIsof2B?y- z6=*UeQH1`%i}GxinYbp7q`t2}(diXAmSHN^WVpa($Ibyum6)1S&UEIZb?hZ&17y>>eU;cg|E^gATaAj@`f!TPyF@&=AoPBL}QYt#2{ zuvIeT(zlXX@A8A(i6X%VfS>_6`?`zUJ^eU741?QE9zKB&*ZHgR1m^4CyvTWwMJMEH z!^Jb7v6_I$+rTa&;V1EkC!Uo3N#IFGRV%-opTQS{Qx?j5@w@@`<#r($vj}1wlerks z;XF7KOqN6F!q!;k0t7zJfPo`%@pbb_^Iik|3zuNA0US4bL8=2#WC+M8^iBF4;PM}W zDZP$fOgGV!=xFr8-DnM?@nz~1^#!$?+D0v+#7Zh1)}|4{Taq)kv%YJEwvN)RXXL%q zvROzuIcOFwk?u>hvt-6{&BOS|oorpMr2}T5DO9;$byi-hk?S|$FNB&#Fgg2{Vzq?& zWtYtwLN4C`-nVi)JcS#s%2}QUX>JA`XaWc4Imp=-u+d=O@XQ6~E7$>RFvlzd+ccE? z=Urf;XG6|C z0VoqU{!cW_H~DAbNzLaY`5t(z7r3vuH@W4o11ED4TyKuGoTE!E`{_Bb1D}8qm}v2( z11%k43ml`*ns=Gko9AJ88%w9s8{l^LWUqp0Z-UYG3HU4vDBY2&GO)xB0%UgnCpdHb z#=t_DkpcE_Vw&1Y+Kz*k#(>g&5siB?Yhf(|bIR&~KsR=fF6qdLfnT14K4C3!{-TI$ z0Wci4gIyMpX~2b#0c+#P&;4DVb|i2 zYw@{jvDdjEGmcvWDd!z~QqCLpB%e-FgI}V&6l*KB-}DjnB86n$8<8oauXvEFGiESi zJ?1cb`L~=oQ)e1XHf^H8WD{EWzG4?6QnfUxRRZjQAx6Fkq@YH| z2xL&As7rqw3|r`DwvTAc#aHSwczqw5+&#^xoI zX}ZwEq&8ILN9I@grGz9H`oq<+QGS(~{-eew`ujU|eQV2FiWB`3GFp7AN^M`-m>#|9 zy40dkndy;!6|rN|Y#$o4{+h6YIKPsBn*5;hO4}aNbD9$5l-;ihiKwd%2&+h(QjiSi z?KI_~ZX;6=Db0f{bE<~i7&z1~)^Ai{LReyReVT0{xiL*ih-&aFsVq;6A06Nq5^39H zl&TF)85bLy7nxo@rOvj_*wPSF7+4>doDtKURc2e^tf`=~ynI~axYXdJQX3(gYm|-_T z%(&|0=$bfNo%3wjF@+iR=`GPU(J{6hV@q{>Wn&R?FO(%#rrO>&w$x;$6*NVr$Am;j zWZUAM^^hg?NZPcdS+N(_Cx>MPR8$qkXVx^>qMS7(CuEgn1%*V93#(>lJ8LLz3@MGP z53MPS&a-(r%cREm`r))=Mn}il`x{$olL8Y$M~z7iN*q^cbH?K9r!m;XE>8RE;##RKSW)$RQwgg&FkQsG~d-o}cIr-(ON!d-=W2|_Qxbe}cMLA*7VN;?r zv$@%%vPtPkNRyJS))kHRPl;)WP8(TUU~eS9H(|myxEUGLUTj9vsbkGb5b4#T1S>H) zW1I7vYD$_jOVtqaM2nI@erW;tZRAwMqv}VEsi^mF9G#d_$Nx<#>QMRSsY*yuWzD#x z>app5abv1@%5@nH@%6rO0i(u_4YogKY^f>n_pMKls~S@W-Sn=`Erk^=AptE})uW3V z_+!SF>M>QL#|4fa83JWo$A2l*rYj|6 z{&2;iWan3=$2A88R2C-5KakIdEB#t)BkGF^#?<7dR5euELq#8xwQ+1(N<&3;)RZLO z6yvHIV)H5jMmATa1^6~Pb{Si0lZ#4fkp6RAVS1Y5Rp*tb6@~;?$Bl^%OUZCN;XJCO zAu*t#!Z$Y}A>Pq!Y^knEs;|mzZYWL7DRR^sTk4wv2Bl_|`}$YpXC^rcoreV_mu33p zCbv|S)H&nlQ=Miw>{X2xdJx^*SH8gMNQ z(M988>Z%gQ<>UoBoMN8UW0ERk<12#Vf_$?bSIN0*WH$?{fwQ8tMu{OG;g=HA(wG?# zIi)(j*k6q!!)p~JJ*q{cJX5Pgk@z~LFRG0$46801lbw-UX5Z<2T4kki4Wq(xV-gc9 zv`yrEoidaRu2*_0$^K<|p?Sby)Q`~?lQs3&exV*%;+p!@*nr@GqVn{dRQn0y+W_xF zS%WfKDG5yrD^G9AOslAbL4UPDiTA2+ED9S_=$BpDgwE(I=jouv92S+A9N0Y8&-xfS zITg+SwFbpO#x%l4U)8Ae>K`F%66J`!}Ia4 zNs6y&j2T-Kl2%b>yXkzc^-s_6cI3v$R}o1frm~)NfT? zU5YH~kE^vna|}{tASw4MFDbK?JS5=jF8?im55^z?nIRo2EE*DXd`kE#b*KkCpm*R8 zdB?KcQV-IQA0`sN182FBA3?^-thcGrQmbudocvwm=@3NeKDBb5oHq!7`=0dL5nUKgbd zr-)}XCUpse06UhWm3FWV(!y>C$NBGqQcBCX=nB6%@e3=x)k0X*ue7Cv0>Q ze2Y1dUK=O=EanJ*Vl2PO*YXxHy97%S@H3_Cb#@AnB*pY4I*+0ys2|19WROs)fDow1|Z8m(`20>0C z!!wkL&=FL;h^?dM(87EI1B0_mXWzw_=41k@>{JT1W}-)|dR6eS`T=Pgk_}i)vhxy3 z2ntP9BkOC?XLx0n8Rm=-#(H}Dr07Kf8eQ=>g z%bx?S`WS#IH>K?`lpca*^e&L4X<`@QYhi_uBn$&s)Kd`n8~iW)QGOr7kQ)IOoxv9& z4jIIE;Te$8z5rK$HB8QO!`(KS>&7vdupR(xh#-?qF5K(LgJMxZPdjDa3n|*Sp@z2v zj@I!|ehDylp(>H<AqL@|-H?1gy}A*Zh0fUDxWNJ!*%J z%=r8F)ec1Jr+g-zZ215Jz`(^kPCnTsS;_0g=;(&;1-N8acSR(dyDHrX$wdQluA(jU zAQ4{x+hVLb{`IK`jNVf zA+3w)PNd3Rv62(d(=s`_PhCrDE0qwSXVe2EKTkPAX5=frOfCJP3k>AEjmi0F(g(}Y z)Yfzc5PVo6km}>NTf5OTNNgX1|2X+=tAotXQ92p>63CE3C57q5#FNW8IPkkd&g?rYxw**Gx6GM4CLL4rL0nhFv2R#@ zW-sxxpoG7NgfFtXwW6E4Z9Z@Q4jzxUASC!Sd>$1>1JZtARvMXWV8K_5NT#OEG}EBl zCu&3aNt%adQLm_H_)j50zLVLczN&0v{!*W1Es!#9MCQ75{uy&9dt8lx%zRf>LIzWp zFiGNFSrXO*35P!eIGFsr$of!+_l32>H*zR)R=deG`kv#6XKf$@7F#`syf1DNSGsbk zvqQynF+%LhJ|s%O-JfGl^Dn7`fNXzVC}n30S-^P(2|YnJG1Nn< zn5vPL^&^{-{mcE_-X<%TSZAuuqoZo;OH;;<3mzE?vD1f^S|@t7ROFUsR%YggwbWEN zRvDv7V{~R^oPYZ0r1Ek<$5eg8QfnEdHkK6x1Qg{Ig%t$)+dTCi%dDR=N?}?`SW9eB zXek<%#R;iI;J)xIVD8$aSm%$Ng)}2bzyN))d747IsUA*%In@_ zsU%%<=80=4uka7dOdeYlQJUfwMk-cWe^;C1)AId7G8$VV0rJeyOP;gtrdVTkMSNCU zgVcuFpp4MS=!lkppaA|FQt?>ZS{rJs{Zh&^vO+WSllf%PeAtvm*;!@{SIiAI=(tA4 zR)hq*C~ue(*na4Cnhb(2x0K#RKdn4Qt)$A7Y-IrC6%Iq>#17xv2b^j-$#kO6!{Ox2 z4{Z>8EsFVsbcqh4^O!m&8j-8@(hQ*Uy+kr%hB8FXN^MRVGpVcuak5Ak5@m#pAre#^ zfwpyX0adW21L<}i$(B!?Hu5>QXFA4;N;;oGZts*>BL}mat29ver7$%=d&;m zaTY%D6HdAFCl=S%lSIr_JjlrppaYmZ9qyrdvz0xrD?lkIx$}xd4%H!QRq+$+qo_k6 zr*=1Ox~sAY`;Y=!+hY}U=`jTkF(;&_`=b;bVyyrcb(@cjN4Z z2(UBO0*AKhG&_KH>*XpMc9tDw_F=uDbFaj}IrYwbMb!T@SNVtLm}^E-SDI{l+uoaI zuILA!Fiv$^1PSkC;=BAvylb{ch}4|)rNM{dB}Z*9OE z(VlW$6vk3OpWhx zlFxgCHazXPq%vV4{^YW^y(1mstN(%h8f%U)xe@bLsk^9oaVIQ&*+Xol?z2W&$I=yR z$*ELC5v&^#MKHghY_d>`iTB6YQuUA2K|k|~GK?__If?84=9DI5wlAhN(Td?h z?hB`Jgi$SXT_3zv*=eCTLbZSk_v+om)cOEj`I^s=C{q_G3TRJ(O3|oXRA$Q8^$aYL}+-rh`K>#ntlO^^1(lH#a}&RgdjXS z`}u>a(`|N(VNtbpoL%HJb6VT&G9&{a%lEh2W%nUT?`NAjF}-q#FYKS@_5erfZe_I7 z*fRV3`1ywE`fkNRsim_UT>D*>`~3oy{)cxX>iYLzY7fR2gr32B6wrTW*WF)itpEq> zojuAR=jAfK!C@r+L**qDtGT~ePG=}r-V&kU-Ss2I88q=^e1if>@kh$jC|h-ZS?@N? zX)c~d^6TCo|64ZDmz003Jc}?*g{v&FeS&G5@r)Q>|6sl86XgjCd#AMTZQF;zc>>sk z#AhESSm6_u4op~BC~4TIT!%=pX`b^zPI&M^0=e58aL}-jQ2p9|rICH>kV1J`_;6Dv zW+~JJm0p_BINpO)@iF#M)+}w+2VYW>EKJ2Z5w@noUw`ka5+#fP%d9K2)C6u#jB*rc zHx5iQZ}E^=DO?B3%!AkYaBZ>CcmYgfE$a~sdk@|3Z)_cFW|m63-V9e|GwSqn#k-z5 zfp}M&StV$?>&UhZS{L$fAEhS>sv*3v4x*Zd@WS1Wb(Dmg1nVr)yKY?=+4h?qIOh}K zOzb$0nComw{gKjtxUB4;kk{9F+!kV6DrKUQ3WW;|mw%WnI%)H=h!=rw+(zC#Y3mZqtVf(_E^}NMAjnY2{uWb-b^H_b zb|ia#l+K|?BRplJt^l>$gR)b!+1pfN_HG*ndZ*p1)%lZdEXXzJ?&&po#dXLiGI-FS zx|))*64?F)O?5s+C3VI1xjrS8gOUISs~wb{S5s0|*W2G0V6H(Wz;)FW=Hy}fU69u# zSAj{`?GsT|;!_O28RJ!qlMZ?COfmm&PL)@dQ(OCgoQEvAVFy5DHCcVb-UX8z@9t#h z4f`o-4s9#bxa1f=>=*r z`E~*;(?UEEhB{)&PUMS%I=gYif+PT*2Mu#%ku^gdh5ChIKwUr7k!>|`?{gg?3PPLb zBM8*0O$H)=ymCRAhOfR6lHF4!MVusD)_oSKFG5Cg6&yi9!T$P=8|v$nT0O_#+4Bu_ z4NR9m!63Z+mfD+~+=Y1kmUA|a9Q0K!B=iMAVf=l9$njfhHHq?7eT`oE28ABDqoi+I zrjBBS(m8$Fd(mTy|LtDa16wd@rTVf_vWKKAtJErrt(enYB5lv1P`WI7Y5qQezJA%I zbGo%3{{GXdbENG=hxw65o>vK~?$W-`Z^_-NvsbGx8Gx`Z%oP))?c`%}aBYY@LohSzKwF!D zrWPc3mKng>&q!ZNd-!LB2x*HtR$2o{-c04BR3qg{=~5&j=`ScdB+#hAS^5Py%~yd| zp9{6Qd@)%Z43uUEaOAFlZ~C?Hk?>}#@PhD+Fh{5t3WTx9M)VUhUwp(T^CN&-?+#ki z9he0Nxt-h=c#IYz=T;@)dCA-e%=^1@8eEeXEhnHlvlF7dt1SyHtw2mqvLpkzH3-p3 z4O$QHPz&iKXwE#Wb%syt7xgF{p)aYk;9UC2{H1xfxpfP`?oU9WqR2c}6Vy)t-|TO8 zGqcoc_A>h&plYwP>$Pko-Iyx)AR*FNz>5a3o$%>e)S=8J=6mEl?nT>_KWPd|Za=6? zsD0F1j4yf!VEok*`Ziz{2ceX)5h$C-=vrnW^C(loWWXU-4Tr-e?N}&8Gq-5ZX-{a) z+(m5)nv8*}bor?YO915qLFVpyaZYV9Oyvp_H>oU__vL z3!|gRl5gxa#N&v)H%UBVPbWK%*arjDIS5+rS*oL#;SOlOaa>D54gK-|*zz73^{ssw z*>=8tk&7DEuJ zvZk57K%PBj@8+ugtp{pfK2 z4<{am6Ls8idq%*$+sLgiqRZ}Et!$#M8*uyf%e;%Pr)?zX1T?+qu4KVM)r-7;5S;}+ z>(|Mo-Rg+{#e=Kl-n&Qy$8(tKe|^#To=b`<29^~R)-mz-?)0wzdi1?bWw`l)^<_-t z|9b2Qa_lR6Cks;Ilrmu?{2O~uF|RVe!0F=-B745F_v+;A4*c#t;k(@lKu8hzu!;A# zcJJKo_pa1gzUu?)uB@zv%XuK8pZJ6s&j(6)Jh1-X-3sGI+K$>gbtpy-AatPjT4sF( z9No2t?ZM>T!}f4b?p`fbW%af6-=aL+G>sZyGSFTzWWXVH8M*EYdAX!7)P5u_Q1sBF zzEJxJWa~EClg#=~Ez+BYi(`yb@N^HSnBtEk;1x0U>RUn~gX)&;o132zQ{meX9|W_% zaa>l`SoBh_aR-t>fxjr0+3Uus@wpyM*yNCdaUtx2Q?5nTuhX zErZP*ao=n=+&R-j@1{@0g0kMB$h)7y^(z0cVq;j2vw~ z3#LK>dxV|LoMfsQhJJz;sA-f1VUliaTcl`}XRL09w;w;d&lyd+?68g}Cp#l#cX@}k zFB#WQQeaO7hXrJp&xv;0OufmecdRi6D9sc8m*CI<^3XfhN|kxAFvTAou zpVi=C-|RMd&PeAKl#*SS@d_qZL(*=-pXx`HP&Q|{6zk`X8Pa=yVb7>5>cgay1#fkc zMPsdDIO8za8C}L?&Sgti^5Yf5nAE_JIPet2&8$BwkbfizH`FTPb5(s(EuAyiW!bro zL3TmdlVmgZ-eDz!Jd-eAm9mSSwmSsTCziJ)|WK=av zzd2m1G{Zp4m2?_EFdQ#=hqRw4$bg&tWR;3)8;wc ziCNNys%R3GhOdL~ZR0@fuIje@)WYJ0o zo>YqwKJAJ;%=%?n%tg*~!^ z8_0DQrZU4hK~2L$`HAmu`4SF?EyB;j*Oup{Sx9VI0QY+nKS_9sKgwPZpOwokE#e@x z3wKJ$L}IiI!P^qW50NR0Khw$LWj0yVR%r27>$H7!eKc|HFRb%fpw^1>*F z=MI7g`6B{ai6X*CVj~n~KGlBU{&WSSq(p5d^nNEI5H$pWFAv_GTB}*4i^zt%5~;FZ zr&rPQnE}$sf|DW!@J3gu^?|bgO)7vc*CV@~AIznJd zrXeVqWF|e6naoTIb&^cl^pc7gq8ODG6%h{$Qk0c|E(*50`?$EETdaT$(RJOmEY?+U z6$_8>{_Y(}SbcWicX!`E-p?C9ADKCG+HL2Y`#azA6q>SKruF-EK37Or<4#zst0ZRAIMo1mdz-P+P$ z+EP9?C*j?zfbBVEkpsk8Wl@s@&Y9@f}hH=RYm?LcSUFVw%ZFICW71!Gs9wk&~H6=Y;CNniZkV08}5Oc{tjn#pb8>a%uFt&uG!O5 z=`0Ji+e;E)|j0Q0`0#r||_Xaeds| z8&9UoN~Ao{u1?n;t%@3)ZKje2sSVM0%K)BsHwbO-xf^UK!rMW7`=0HxrAnvOQ&&>k zP!Nke%({UP6)-rODu zJGvUpF$?`i`F?@AKGYotzlL-zk2v(`i^`n^O`KPQEtJ*37wPKi?G4tss)}j{vdXv= zuiw}1sqlHd`U)L0f>z!Ix72%EWz3)_T^Dip6dTO;ZUfWAXKn8&F%>6kJZ@79!&m3C zR`e##R$pg#kvWS;PI{6ie@T-$9d1Zjv*KJSpV1nDN6KAM*X^Po<~w1DnW_xFPM^6e zLO;Z(wDwoJODhMuq75#Z2S?SZ`dXS>tE`QcPPZLoV2ggr^=rMDF?hVb>ZmbMo-TKn z(FwkEU6ZRa)f5R=)JN%dF2&m#H`^OK<3@K;I%_?OZi0K>Z7ejW!u{pWt`@os-3D7g zgI=4#mX7+0ZFK{!w23R|D{C!oDKi+u6(wQ%3cm7&5`9la!f1(`E%YotPlc_su_Myj zR~K%kCvz!vo^+Y5!`78{7+SM7^QF25TCC2_K) z)anN7_2Hh%L@*IbbW+@Kh1XRz`s196QJ?vxdZK<@@mZnKDR4a+gTlK^SM)%nnAveN<$^kl`G0q-A>K5 zT#Co<>5dp}`h=m@q3PgjY|=LvJpJ|YjzqJD$ISYwYU%(2X!kgaDmAP4nhV=vl?jun zq0?>E__-9H-W90@?0_krw3;>i!&jGVbeE(${4GT-C7R5G776+SMcu*La6?pMMStBU z%N{i8x*{f1q$}x5X?Ub8bkucKzb-%(wxi!#siRVPczioD5Kuhng5eyhGo@DW;ei#ReRmF#H?l|^lBEpB-O&FxJ$j^&W5Ux zzA(f*#-(^vg&lrZjV^9z?N3vsh`JLV%W#{!!`Rw<06E$QxMtDVOB&j9q<)B5qSzHHfsJGa7ZDyHzj7|H<+vVaL zu&V{?4M@6*d>9uOpu?-k5-oX%+y!f~PSOb>L$&%d&Ve=+WOD*!pOSlx52ErY30}|F zVmTn*mkpusuOj3Y{yTeLlw5`_P~0z=D%c=^&CZLmnhG0OYXoGcL7*cC_P?!?*Dr3G z^g#UbcF+hT^EWZNMeGI$+K7qp&xE|x4f|jZc@87Oy9YALH=u2t3i=+FmCF4*BXfT6%&Rrmn&Q=eS zETz2;glWWwU|(+oz&e+MSZ{%NoalR0c02jSe6aw34Bw9501}!$d@())SHU*hdMpKd z_BVi1NIj8*U%*e{FG47@g{WW`ZX_Ro%hLsMz-SkfgRbO0t?XpttmsbieH@prWk0!# z+>Ff@2ryZ1Z(+<<8S>kUj0XHTcY7uiB^GnNQ=c;Vs_|n20pUfTbud#jFTzJ%zplvX z>TP$mhw5G6kD1rWOdQ9BH&=FphC*3qYilqn_zT=AXV9@Qb1g?mL#APT5_{yQWU*O1 zQwrWHFCZl)nmz&GS3h#HmVGFDRJN8~ah!Zm^hlo0gCpe$5FWdvIlfr}A{I_iBO+&r zRarnWd6KpMncN_O7o8h3euFc&Dj2rqLvn}21?PPt@i_sAus9$jH^4iD7MA#C@Pk_c z;up6-tbdQxG%BU~s${wNGw~V#Ic^6O%der}S_pRR#m%5$)++d`AhfY4mkq6@ofxVe z0+`RF+h_>ik4(K7zUNf-(Qj^}7vbpe?eeT_^zseR!SKjqlB zaveSkL}g9{S8ER@7KDpxn(O;4fhvzn7wXgXC3`MaZ8Tb;>)DyEK%sHkcq(e?NI2&v z)77TZx^P9bInfdDkLK6wo6;j%bmR_Dr&`Q{p8l2_>Fv-isN!=QFqhyx4kSE7K7*ov z1FuQl1u}p~N6^8^@cMl1eoeNv+Yhf<4UVqfxT&wPN}sZ|8KX_Dm)g+TxHhDtZD`O+ zu}q16|2LAqaPNE#uj(7WC(F1xUkU*2Z`Ff2`QmLx<-KHoLQ)i zqQ;9s$V4vx1G|i(+}wEbCc7qwxj2YA-T=672 zHG_(9qs7680ftM_3NWe#zeV=enbhO3mpIa%xvm?yU{n7b>L&357|^B&8U^G{>gNGK ze+Z!8JCr&wSDp*f>snbH3@(F`vyzoCjQL^KcdeyRlD#fK6IRiAfHHVU#=hQ3|3;Jvrm5Fp;6S?*2I@5*N|l%a zxudkU)!d{K<_L0$!vcUj=|EPyRCPkt4HxE503hi1N*7DOR$BZA z@k-H`qIS^X>L(7vf6bs0gYem){OK2bCAbqharxhhk(Fr3E!U!&O>!k;kEV2iWSw4T zDRG9qEiRZGup&B}{c zKv!>9RkhDw<29nZ_4FjAaiK{!UuQNn^^dsF?MGlr2|X=TvIW=CPhmv=h@DSk*WN@o z35nRqJaqh7jS*2B=tsDj=^Y8oOgo0*P4MXr{ERm1;*7SOo6)*%r5{19Lv;0jKIz@7 z%X@q+g;DkR2Eos;-wOb4@V#&oXb!!hd`9`W5|Wg6ke>mdC5oR_E>l);C~e{@ynYm^ z{et4ZghIt#U__h*E%h43B5-#d54v@o^0V^yg)y{Dr(wKBP#~YQ-;^?=qqy3`f3CTVXOx^-^lSg%`JSR~L z`{LxIzc`s`Yp$-1%}Ff@|SsbEyu0>L}Ze6iKb=PwfNl} zzg9Se7U@-!9=BeLH?+p<{UKjZo4F<{A3bPL znHg2SfJx|^JB#}}?fuD=Jqw|;233{e^7Vw~IeFVqpJ?y~z5hQ5}RkS7Sjyc%=`ijARWUkQyP5QWwnLaoM1 zb6KPvq60SSMXrmX#(0C(ZgIEQn?urNnG}DUxxBI=P#dTg?nFC0Tsfbw(c4+>Y%4Bp zAo<8n$kS!3C<`^|JM9k15*Q82Lhhm_Ta&M|y04>_UdTx$&sHbkBH2)2GK?eO9yVURU9AGEvPsH&l@&-zG1stnQq1EDw&GV5tBFCzLOfdp zRGPm53~vp%_hd^c@(39v=K%)m8p$havt$F{uYReDs0u(~P^A1)I3n~YpMbZo9&w>i z4Z02O${x{opz9=6yrK9xfPzkot`z+aypsj;1M()Y1KA9=bPnm)@Se01hSU*^b9yO2 z$HOWiTeVO*1)!7$yOToMuFGVk%09`4*bH|pcL^$pkOHow8zHkaJzFL@@K-@`X?>8%D z82Z)%9x%({DCY91=<~;vbJ#sFP{M<=;PF3GVhZa97%(-50l|wU#LHlB_%iMQS;r2+ zIke<3W0Vi!!{hiVwH|Fd1|){HXQ;)h1((V4MR`tIR%YSXHJruowoS>*;TtDNz!dHw zxg34*HDGlgIZaLC_aag3Yf{XfI72<8!yxVkh!Ts>z`n+w$F_q! z-0wjqf4OXdi~xkv2q2X5rK`m(h=D9u{X(@Kh>-;T2L1pjA?y>a<}BSruFbpXNt<$X zw`Ba&zI`3u$J7=|0S@Oh5E%f@%yAy9E)ad)_TNB{ocy_PJF>3EE^<9`KIRO|;LV83 z_0T5({<`fGp#|X_k6}tR$i*%oXmAeU1X(X}6PDqWKa&EYKx#DpBO$1h&d#I&q6Q>NJMQo0GnyCI*d8}hyTSK$ljz)FxwJ$?<~K41P^IG?5E z^g^&pyFOC@EI-t2TtR;dNwG}Q+DQs9NQF_mD3Omh{N%}**ML^c7?*^c;L3y3xO@%>zBcRPlX#j|a0`XGOe(;a4B(?z6(}8Ug zd?>I8*e@yiNuk)ZPOj2liGDGTp2!rHb9TQy07XdVl}FoR$q1@l4iC}s32?>EkI+&? zX=xGqWCBeR@S2QvjfXpYi59r1zt5#fDfi|)bj3Oua(8GnS*3P+bzRtB=PEC)y>$O0 z_i}lDrnA&0{8FXTv|(W?>IyG>!d0@Egi?XLm>|Z*PWL^+C|YS zzJ0`hx_>)#wBmSHyN6LfXnqkkUEu!;)!GD+S%cny)abEB-IyH^nh23&B2aw=_K{ z99GT13y94s3al8v6rWOlfafWXDj!qsR^F%#iDwZ#%9TnFVCJ1tTxnMtKw?Ay!KR~% zpDWfYx?$~DsW5{pi&Fl%&`W$HKQ7Dyf$43;9Qj7ur>!=FOyW?3=%uA}RxP9@#~@ocza4V%dj@d#gHrgfU|1aeFkAz%Sfrpcik}u9yi}ZL6??`| zW`J;u_Xg4}9YjG60pfeV{+J$j*K#`BINGOhLAtvSJ2YBrxB!TOp* zC!(m2o-*Ud=k$+%cTV5pdB;y?sm71HtS=pbBo86OZ$%rM=sgCA!i}&k=%tAC9O+%nUKnG@Gacjo$a@8KbG=(D!vT1M2gW z@RmRr1bg9j@S_b->);RiOgKglaO{E-3ziFkZZ8F2!TnZ< z=q;d?^|c#(RLxuP3Ka0rF7zu8onVh|0liyR>*stwob~in)V&o}ge zg5i}>ByW1pfO%jle$qZNeN)SU80% z=yGwYKiYylht914zHH-4I*enRQNv5jG#tBy9|oi_43IFW)}W%7nQ8n+Yi3l>aO;E2Ez zUS~zCwrZxK+E-x7dF&&wE?&QcnvVQYn#RoRfmXVoAR_A)pj9+Eja^wnt;JEH7Q&)j zL=eq(f?V5_Qdl#eRZ_Ib&=g)b8!58^0=9oO1PpsiDT9cR3Kk<+pU*(GA4BcW?gZZI zM^*4zWSPjQG_acIb`91|kk{+=m_W*BzE3j)EvcqJTNdDia_f9Nw9Vs_JM(uVQz`+spGaIx;yp z=Von53U-GU^!J8+mqQRTI|K0I1;^Q*iIQ{H&aCJ>nG4XwJuPVCH5{(?0;xje8A_&2 zxV^EywqUBNtF+HpRppO#cyuW{Ukw2-W8mjZ#(9y~#6`u;JoNT1@ZxMe3>ugqBH9hU z)O%3$uw*(eI1f&pcOAjxNV<{U2d31t4^43~Vx+u-ejSx>qG@z&8hm~9XY>$9pq8-L zZK5MW^!W%p1)!w6m(G_O=IV?(9WFz+Z-Jo%7SU2vv6s$egInmqA4!X{AT4?y!S}8O zf0Ne({Xy@pgLSJC=lgWUMu@VWyO$mhZ?7*XSFoR*RNjgY%GKipV0R->odz?xeX6yp z6`%*+BD@8x=;FlJplNwjI0+P2_5dpPB;2?bd?l!*tCSxoe+iV?sIn3a8qX+xr??k< zl-d;KidhOw{ulYv@}2lZ`8D$8Ab~y!oR8lC>Fb@ao?a%ifkDuB;79y|^Z;3d5oGXD zkh<6?{D6E1FoqJzfMm8fC_V|Sy$j-pBs(MxU{UN5iAA#^;5a0eNDfQqN#4h%OI=vG zG$o!PIwf|B#aI~I1ajmrO79XLRDT7MwNIwTnZt}t* zdK#f8g2+8hqeZ6<(c^i^UH;qQCn-vVzcq_+XMTP15KW?*X`1Qi%#(CJ+B8kGUzkrg z0DpZyj7srGDH)ExidOv^UM={kzGwoO&4dHpQE=@|di&!+{AExV!O_P3)D#?liG6jt zX1^3QNHCV$9Y2clzY=C|%Kc7>%u;NGeQ&;I5@zSd*GYl_0eJ_BsW+*osro>TJPA7V z9rEww3uVvA6w>XIwTt|RpMOfX_^J5AyyBl}-Z(JOIvYRu78K(`j1v8 zusGoZG@veIG3XHWEFGhu&8bQbXgzdgriWltIvE{$_FrlG|7_*LH;s1PN{i7|&(U$k z(4yhIOv{VWU!S9^YX6->{by|6Ofbp@kt7gE8lG}_5a~b-=xK19&S=l`a4jwck<=u& z%RH1bJUMgKF?8;Ex<3EMp#$CsYQd;G1m6;X>W#4H92%aKX$hTw0U`*nEy>FV@IflI zn%jbeJ+X;=7;QC|rGC;ss@?@mn<9uxkXdlSU@sD_d6BzdvxX;RdUr9fhTR6oqB}!^ zq`*OE)on@P^FSIsAhR5^$oN@88{|VTb`wzp(0PsE-8*51=91yp` z9U9KLctE?3!cNcVxl-$3lX^%soXsCg1i`Q4d4C;bJN8fdaZxOb+p!J}YcJLe;l#0; zl_jv`fXP;++zud&Etg2~-xA*{XDV355-^PJkbNuLBFhK)=_0^$WW=`zC4gWT&j!R& zt?(UToW1Hey<13x_g;zIj7EpDUgP$x_M&$_;KZ+AqkjoMnNhw5etO{q4F*(u3;CTk zcFXJZ1Z?xQR1D?6L7#+Nv(XR@x#qpeK`r*q0@-fZh<)H~p@QA;CVd59diKK5#?_OD zQIBwA(lYj*x9ENx5AQ_>?}ddJA1nN`1EN{gf1)4df|D-s-2$XO%}hq~PXm9d;xx19 z3b4I!0-aJW`&{yZ_!~*HBv*11NW5JQp{^%j2Dn}}0rr~?NOwtZhk5C&h`swP^AoK7 zeK!-`VCH2WxXd$u&qqLa-*H|IuMXSQK!Dbx&qs5o18;S#(6OJ<5;QoS5oJn_edUX1gmEMmh?mYjpDTedYfU)=LnP#d3=rR6x{O(bPS!DDV(H%1AO@$I!nS#trzFCp zARE-%o&petOQ;m14Qt@a#P&9$+e-;8dte#kC5R^JRYwk+px(fZ=Y}+8b72~vKRUo49nmlf}TcygCkMh z6$`kX`uf_|sJFjVk2Y=;PDG#U8L?Oo5&_|TXd_3?;*9#xya5J8s`n{TksHX9;20)i z;oScOUW)dK(U}Hj3fg%Myqv(L6{Dj!1BvawQ_R`_&Gn59FmYn#J_a590!+?CtC>}} zgwumqB3+9lYndT9qu)qS-aD9_U4IiZAR&JI16sd@*^K(%0KH`0&2ai2d{5Pdu_v}N d&lBkTTi_YgBXR>X3D7D98<>Siv6K1ge*u?5uucE~ From 3293ed2ce0dcf81c4a1de98bab6a67d378bd638d Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Dec 2025 22:32:27 +0200 Subject: [PATCH 28/33] docs(user): document the new layout --- .../doc_notes/en/User Guide/!!!meta.json | 2 +- .../UI Elements/1_New Layout_image.png | Bin 0 -> 21557 bytes .../UI Elements/2_New Layout_image.png | Bin 0 -> 10292 bytes .../UI Elements/3_New Layout_image.png | Bin 0 -> 3835 bytes .../UI Elements/4_New Layout_image.png | Bin 0 -> 7397 bytes .../UI Elements/5_New Layout_image.png | Bin 0 -> 23694 bytes .../UI Elements/New Layout.html | 218 +++++++++++++ .../UI Elements/New Layout/Breadcrumb.html | 55 ++++ .../New Layout/Breadcrumb_image.png | Bin 0 -> 7397 bytes .../UI Elements/New Layout/Status bar.html | 53 ++++ .../UI Elements/New Layout_image.png | Bin 0 -> 10183 bytes .../UI Elements/Note buttons.html | 11 +- .../User Guide/Collections/Kanban Board.html | 162 +++++----- .../Developer Guide/Documentation.md | 2 +- docs/User Guide/!!!meta.json | 294 ++++++++++++++++++ .../UI Elements/1_New Layout_image.png | Bin 0 -> 21557 bytes .../UI Elements/2_New Layout_image.png | Bin 0 -> 10292 bytes .../UI Elements/3_New Layout_image.png | Bin 0 -> 3835 bytes .../UI Elements/4_New Layout_image.png | Bin 0 -> 7397 bytes .../UI Elements/5_New Layout_image.png | Bin 0 -> 23694 bytes .../UI Elements/New Layout.md | 114 +++++++ .../UI Elements/New Layout/Breadcrumb.md | 26 ++ .../New Layout/Breadcrumb_image.png | Bin 0 -> 7397 bytes .../UI Elements/New Layout/Status bar.md | 27 ++ .../UI Elements/New Layout_image.png | Bin 0 -> 10183 bytes .../UI Elements/Note buttons.md | 4 +- 26 files changed, 877 insertions(+), 91 deletions(-) create mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/1_New Layout_image.png create mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/2_New Layout_image.png create mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/3_New Layout_image.png create mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/4_New Layout_image.png create mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/5_New Layout_image.png create mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout.html create mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Breadcrumb.html create mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Breadcrumb_image.png create mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Status bar.html create mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout_image.png create mode 100644 docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/1_New Layout_image.png create mode 100644 docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/2_New Layout_image.png create mode 100644 docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/3_New Layout_image.png create mode 100644 docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/4_New Layout_image.png create mode 100644 docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/5_New Layout_image.png create mode 100644 docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout.md create mode 100644 docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Breadcrumb.md create mode 100644 docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Breadcrumb_image.png create mode 100644 docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Status bar.md create mode 100644 docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout_image.png diff --git a/apps/server/src/assets/doc_notes/en/User Guide/!!!meta.json b/apps/server/src/assets/doc_notes/en/User Guide/!!!meta.json index aca2795a2..e7a752d77 100644 --- a/apps/server/src/assets/doc_notes/en/User Guide/!!!meta.json +++ b/apps/server/src/assets/doc_notes/en/User Guide/!!!meta.json @@ -1 +1 @@ -[{"id":"_help_BOCnjTMBCoxW","title":"Feature Highlights","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Feature Highlights"},{"name":"iconClass","value":"bx bx-star","type":"label"}]},{"id":"_help_Otzi9La2YAUX","title":"Installation & Setup","type":"book","attributes":[{"name":"iconClass","value":"bx bx-cog","type":"label"}],"children":[{"id":"_help_poXkQfguuA0U","title":"Desktop Installation","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Desktop Installation"},{"name":"iconClass","value":"bx bx-desktop","type":"label"}],"children":[{"id":"_help_nRqcgfTb97uV","title":"Using the desktop application as a server","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Desktop Installation/Using the desktop application "},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_Rp0q8bSP6Ayl","title":"System Requirements","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Desktop Installation/System Requirements"},{"name":"iconClass","value":"bx bx-chip","type":"label"}]},{"id":"_help_Un4wj2Mak2Ky","title":"Nix flake","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Desktop Installation/Nix flake"},{"name":"iconClass","value":"bx bxl-tux","type":"label"}]}]},{"id":"_help_WOcw2SLH6tbX","title":"Server Installation","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation"},{"name":"iconClass","value":"bx bx-server","type":"label"}],"children":[{"id":"_help_Dgg7bR3b6K9j","title":"1. Installing the server","type":"book","attributes":[{"name":"iconClass","value":"bx bx-folder","type":"label"}],"children":[{"id":"_help_3tW6mORuTHnB","title":"Packaged version for Linux","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Packaged version for Linux"},{"name":"iconClass","value":"bx bxl-tux","type":"label"}]},{"id":"_help_rWX5eY045zbE","title":"Using Docker","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Docker"},{"name":"iconClass","value":"bx bxl-docker","type":"label"}]},{"id":"_help_moVgBcoxE3EK","title":"On NixOS","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/On NixOS"},{"name":"iconClass","value":"bx bxl-tux","type":"label"}]},{"id":"_help_J1Bb6lVlwU5T","title":"Manually","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Manually"},{"name":"iconClass","value":"bx bx-code-alt","type":"label"}]},{"id":"_help_DCmT6e7clMoP","title":"Using Kubernetes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Kubernetes"},{"name":"iconClass","value":"bx bxl-kubernetes","type":"label"}]},{"id":"_help_klCWNks3ReaQ","title":"Multiple server instances","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Multiple server instances"},{"name":"iconClass","value":"bx bxs-user-account","type":"label"}]}]},{"id":"_help_vcjrb3VVYPZI","title":"2. Reverse proxy","type":"book","attributes":[{"name":"iconClass","value":"bx bx-folder","type":"label"}],"children":[{"id":"_help_ud6MShXL4WpO","title":"Nginx","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Nginx"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_fDLvzOx29Pfg","title":"Apache using Docker","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Apache using Docker"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_LLzSMXACKhUs","title":"Trusted proxy","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Trusted proxy"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_5ERVJb9s4FRD","title":"Traefik","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Traefik"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_l2VkvOwUNfZj","title":"HTTPS (TLS)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/HTTPS (TLS)"},{"name":"iconClass","value":"bx bx-lock-alt","type":"label"}]},{"id":"_help_0hzsNCP31IAB","title":"Authentication","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/Authentication"},{"name":"iconClass","value":"bx bx-user","type":"label"}]},{"id":"_help_7DAiwaf8Z7Rz","title":"Multi-Factor Authentication","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/Multi-Factor Authentication"},{"name":"iconClass","value":"bx bx-stopwatch","type":"label"}]},{"id":"_help_Un4wj2Mak2Ky","title":"Nix flake","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/Nix flake.clone"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_yeEaYqosGLSh","title":"Third-party cloud hosting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/Third-party cloud hosting"},{"name":"iconClass","value":"bx bx-cloud","type":"label"}]},{"id":"_help_iGTnKjubbXkA","title":"System Requirements","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/System Requirements"},{"name":"iconClass","value":"bx bx-chip","type":"label"}]}]},{"id":"_help_cbkrhQjrkKrh","title":"Synchronization","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Synchronization"},{"name":"iconClass","value":"bx bx-sync","type":"label"}]},{"id":"_help_RDslemsQ6gCp","title":"Mobile Frontend","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Mobile Frontend"},{"name":"iconClass","value":"bx bx-mobile-alt","type":"label"}]},{"id":"_help_MtPxeAWVAzMg","title":"Web Clipper","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Web Clipper"},{"name":"iconClass","value":"bx bx-paperclip","type":"label"}]},{"id":"_help_n1lujUxCwipy","title":"Upgrading TriliumNext","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Upgrading TriliumNext"},{"name":"iconClass","value":"bx bx-up-arrow-alt","type":"label"}]},{"id":"_help_ODY7qQn5m2FT","title":"Backup","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Backup"},{"name":"iconClass","value":"bx bx-hdd","type":"label"}]},{"id":"_help_tAassRL4RSQL","title":"Data directory","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Data directory"},{"name":"iconClass","value":"bx bx-folder-open","type":"label"}]}]},{"id":"_help_gh7bpGYxajRS","title":"Basic Concepts and Features","type":"book","attributes":[{"name":"iconClass","value":"bx bx-help-circle","type":"label"}],"children":[{"id":"_help_Vc8PjrjAGuOp","title":"UI Elements","type":"book","attributes":[{"name":"iconClass","value":"bx bx-window-alt","type":"label"}],"children":[{"id":"_help_x0JgW8UqGXvq","title":"Vertical and horizontal layout","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Vertical and horizontal layout"},{"name":"iconClass","value":"bx bxs-layout","type":"label"}]},{"id":"_help_x3i7MxGccDuM","title":"Global menu","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Global menu"},{"name":"iconClass","value":"bx bx-menu","type":"label"}]},{"id":"_help_oPVyFC7WL2Lp","title":"Note Tree","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree"},{"name":"iconClass","value":"bx bxs-tree-alt","type":"label"}],"children":[{"id":"_help_YtSN43OrfzaA","title":"Note tree contextual menu","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree/Note tree contextual menu"},{"name":"iconClass","value":"bx bx-menu","type":"label"}]},{"id":"_help_yTjUdsOi4CIE","title":"Multiple selection","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree/Multiple selection"},{"name":"iconClass","value":"bx bx-list-plus","type":"label"}]},{"id":"_help_DvdZhoQZY9Yd","title":"Keyboard shortcuts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree/Keyboard shortcuts"},{"name":"iconClass","value":"bx bxs-keyboard","type":"label"}]}]},{"id":"_help_BlN9DFI679QC","title":"Ribbon","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Ribbon"},{"name":"iconClass","value":"bx bx-dots-horizontal","type":"label"}]},{"id":"_help_3seOhtN8uLIY","title":"Tabs","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Tabs"},{"name":"iconClass","value":"bx bx-dock-top","type":"label"}]},{"id":"_help_xYmIYSP6wE3F","title":"Launch Bar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Launch Bar"},{"name":"iconClass","value":"bx bx-sidebar","type":"label"}]},{"id":"_help_8YBEPzcpUgxw","title":"Note buttons","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note buttons"},{"name":"iconClass","value":"bx bx-dots-vertical-rounded","type":"label"}]},{"id":"_help_4TIF1oA4VQRO","title":"Options","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Options"},{"name":"iconClass","value":"bx bx-cog","type":"label"}]},{"id":"_help_luNhaphA37EO","title":"Split View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Split View"},{"name":"iconClass","value":"bx bx-dock-right","type":"label"}]},{"id":"_help_XpOYSgsLkTJy","title":"Floating buttons","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Floating buttons"},{"name":"iconClass","value":"bx bx-rectangle","type":"label"}]},{"id":"_help_RnaPdbciOfeq","title":"Right Sidebar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Right Sidebar"},{"name":"iconClass","value":"bx bxs-dock-right","type":"label"}]},{"id":"_help_r5JGHN99bVKn","title":"Recent Changes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Recent Changes"},{"name":"iconClass","value":"bx bx-history","type":"label"}]},{"id":"_help_ny318J39E5Z0","title":"Zoom","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Zoom"},{"name":"iconClass","value":"bx bx-zoom-in","type":"label"}]},{"id":"_help_lgKX7r3aL30x","title":"Note Tooltip","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tooltip"},{"name":"iconClass","value":"bx bx-message-detail","type":"label"}]}]},{"id":"_help_BFs8mudNFgCS","title":"Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes"},{"name":"iconClass","value":"bx bx-notepad","type":"label"}],"children":[{"id":"_help_p9kXRFAkwN4o","title":"Note Icons","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Note Icons"},{"name":"iconClass","value":"bx bxs-grid","type":"label"}]},{"id":"_help_0vhv7lsOLy82","title":"Attachments","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Attachments"},{"name":"iconClass","value":"bx bx-paperclip","type":"label"}]},{"id":"_help_IakOLONlIfGI","title":"Cloning Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Cloning Notes"},{"name":"iconClass","value":"bx bx-duplicate","type":"label"}],"children":[{"id":"_help_TBwsyfadTA18","title":"Branch prefix","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Cloning Notes/Branch prefix"},{"name":"iconClass","value":"bx bx-rename","type":"label"}]}]},{"id":"_help_bwg0e8ewQMak","title":"Protected Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Protected Notes"},{"name":"iconClass","value":"bx bx-lock-alt","type":"label"}]},{"id":"_help_MKmLg5x6xkor","title":"Archived Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Archived Notes"},{"name":"iconClass","value":"bx bx-box","type":"label"}]},{"id":"_help_vZWERwf8U3nx","title":"Note Revisions","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Note Revisions"},{"name":"iconClass","value":"bx bx-history","type":"label"}]},{"id":"_help_aGlEvb9hyDhS","title":"Sorting Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Sorting Notes"},{"name":"iconClass","value":"bx bx-sort-up","type":"label"}]},{"id":"_help_NRnIZmSMc5sj","title":"Printing & Exporting as PDF","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Printing & Exporting as PDF"},{"name":"iconClass","value":"bx bx-printer","type":"label"}]},{"id":"_help_CoFPLs3dRlXc","title":"Read-Only Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Read-Only Notes"},{"name":"iconClass","value":"bx bx-edit-alt","type":"label"}]},{"id":"_help_0ESUbbAxVnoK","title":"Note List","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Note List"},{"name":"iconClass","value":"bx bxs-grid","type":"label"}]}]},{"id":"_help_wArbEsdSae6g","title":"Navigation","type":"book","attributes":[{"name":"iconClass","value":"bx bx-navigation","type":"label"}],"children":[{"id":"_help_kBrnXNG3Hplm","title":"Tree Concepts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Tree Concepts"},{"name":"iconClass","value":"bx bx-pyramid","type":"label"}]},{"id":"_help_MMiBEQljMQh2","title":"Note Navigation","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Note Navigation"},{"name":"iconClass","value":"bx bxs-navigation","type":"label"}]},{"id":"_help_Ms1nauBra7gq","title":"Quick search","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search"},{"name":"iconClass","value":"bx bx-search-alt-2","type":"label"}]},{"id":"_help_F1r9QtzQLZqm","title":"Jump to...","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Jump to"},{"name":"iconClass","value":"bx bx-send","type":"label"}]},{"id":"_help_eIg8jdvaoNNd","title":"Search","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Search"},{"name":"iconClass","value":"bx bx-search-alt-2","type":"label"}]},{"id":"_help_u3YFHC9tQlpm","title":"Bookmarks","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Bookmarks"},{"name":"iconClass","value":"bx bx-bookmarks","type":"label"}]},{"id":"_help_OR8WJ7Iz9K4U","title":"Note Hoisting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Note Hoisting"},{"name":"iconClass","value":"bx bxs-chevrons-up","type":"label"}]},{"id":"_help_ZjLYv08Rp3qC","title":"Quick edit","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Quick edit"},{"name":"iconClass","value":"bx bx-edit","type":"label"}]},{"id":"_help_9sRHySam5fXb","title":"Workspaces","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Workspaces"},{"name":"iconClass","value":"bx bx-door-open","type":"label"}]},{"id":"_help_xWtq5NUHOwql","title":"Similar Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Similar Notes"},{"name":"iconClass","value":"bx bx-bar-chart","type":"label"}]},{"id":"_help_McngOG2jbUWX","title":"Search in note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Search in note"},{"name":"iconClass","value":"bx bx-search-alt-2","type":"label"}]}]},{"id":"_help_A9Oc6YKKc65v","title":"Keyboard Shortcuts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Keyboard Shortcuts"},{"name":"iconClass","value":"bx bxs-keyboard","type":"label"}]},{"id":"_help_Wy267RK4M69c","title":"Themes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Themes"},{"name":"iconClass","value":"bx bx-palette","type":"label"}],"children":[{"id":"_help_VbjZvtUek0Ln","title":"Theme Gallery","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Themes/Theme Gallery"},{"name":"iconClass","value":"bx bx-book-reader","type":"label"}]}]},{"id":"_help_mHbBMPDPkVV5","title":"Import & Export","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export"},{"name":"iconClass","value":"bx bx-import","type":"label"}],"children":[{"id":"_help_Oau6X9rCuegd","title":"Markdown","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export/Markdown"},{"name":"iconClass","value":"bx bxl-markdown","type":"label"}],"children":[{"id":"_help_rJ9grSgoExl9","title":"Supported syntax","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export/Markdown/Supported syntax"},{"name":"iconClass","value":"bx bx-code-alt","type":"label"}]}]},{"id":"_help_syuSEKf2rUGr","title":"Evernote","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export/Evernote"},{"name":"iconClass","value":"bx bx-window-open","type":"label"}]},{"id":"_help_GnhlmrATVqcH","title":"OneNote","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export/OneNote"},{"name":"iconClass","value":"bx bx-window-open","type":"label"}]}]},{"id":"_help_rC3pL2aptaRE","title":"Zen mode","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Zen mode"},{"name":"iconClass","value":"bx bxs-yin-yang","type":"label"}]}]},{"id":"_help_s3YCWHBfmYuM","title":"Quick Start","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Quick Start"},{"name":"iconClass","value":"bx bx-run","type":"label"}]},{"id":"_help_i6dbnitykE5D","title":"FAQ","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/FAQ"},{"name":"iconClass","value":"bx bx-question-mark","type":"label"}]},{"id":"_help_KSZ04uQ2D1St","title":"Note Types","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types"},{"name":"iconClass","value":"bx bx-edit","type":"label"}],"children":[{"id":"_help_iPIMuisry3hd","title":"Text","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text"},{"name":"iconClass","value":"bx bx-note","type":"label"}],"children":[{"id":"_help_NwBbFdNZ9h7O","title":"Block quotes & admonitions","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Block quotes & admonitions"},{"name":"iconClass","value":"bx bx-info-circle","type":"label"}]},{"id":"_help_oSuaNgyyKnhu","title":"Bookmarks","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Bookmarks"},{"name":"iconClass","value":"bx bx-bookmark","type":"label"}]},{"id":"_help_veGu4faJErEM","title":"Content language & Right-to-left support","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Content language & Right-to-le"},{"name":"iconClass","value":"bx bx-align-right","type":"label"}]},{"id":"_help_2x0ZAX9ePtzV","title":"Cut to subnote","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Cut to subnote"},{"name":"iconClass","value":"bx bx-cut","type":"label"}]},{"id":"_help_UYuUB1ZekNQU","title":"Developer-specific formatting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Developer-specific formatting"},{"name":"iconClass","value":"bx bx-code-alt","type":"label"}],"children":[{"id":"_help_QxEyIjRBizuC","title":"Code blocks","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Developer-specific formatting/Code blocks"},{"name":"iconClass","value":"bx bx-code","type":"label"}]}]},{"id":"_help_AgjCISero73a","title":"Footnotes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Footnotes"},{"name":"iconClass","value":"bx bx-bracket","type":"label"}]},{"id":"_help_nRhnJkTT8cPs","title":"Formatting toolbar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Formatting toolbar"},{"name":"iconClass","value":"bx bx-text","type":"label"}]},{"id":"_help_Gr6xFaF6ioJ5","title":"General formatting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/General formatting"},{"name":"iconClass","value":"bx bx-bold","type":"label"}]},{"id":"_help_AxshuNRegLAv","title":"Highlights list","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Highlights list"},{"name":"iconClass","value":"bx bx-highlight","type":"label"}]},{"id":"_help_mT0HEkOsz6i1","title":"Images","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Images"},{"name":"iconClass","value":"bx bx-image-alt","type":"label"}],"children":[{"id":"_help_0Ofbk1aSuVRu","title":"Image references","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Images/Image references"},{"name":"iconClass","value":"bx bxs-file-image","type":"label"}]}]},{"id":"_help_nBAXQFj20hS1","title":"Include Note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Include Note"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_CohkqWQC1iBv","title":"Insert buttons","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Insert buttons"},{"name":"iconClass","value":"bx bx-plus","type":"label"}]},{"id":"_help_oiVPnW8QfnvS","title":"Keyboard shortcuts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Keyboard shortcuts"},{"name":"iconClass","value":"bx bxs-keyboard","type":"label"}]},{"id":"_help_QEAPj01N5f7w","title":"Links","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Links"},{"name":"iconClass","value":"bx bx-link-alt","type":"label"}],"children":[{"id":"_help_3IDVtesTQ8ds","title":"External links","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Links/External links"},{"name":"iconClass","value":"bx bx-link-external","type":"label"}]},{"id":"_help_hrZ1D00cLbal","title":"Internal (reference) links","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Links/Internal (reference) links"},{"name":"iconClass","value":"bx bx-link","type":"label"}]}]},{"id":"_help_S6Xx8QIWTV66","title":"Lists","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Lists"},{"name":"iconClass","value":"bx bx-list-ul","type":"label"}]},{"id":"_help_QrtTYPmdd1qq","title":"Markdown-like formatting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Markdown-like formatting"},{"name":"iconClass","value":"bx bxl-markdown","type":"label"}]},{"id":"_help_YfYAtQBcfo5V","title":"Math Equations","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Math Equations"},{"name":"iconClass","value":"bx bx-math","type":"label"}]},{"id":"_help_dEHYtoWWi8ct","title":"Other features","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Other features"},{"name":"iconClass","value":"bx bxs-grid","type":"label"}]},{"id":"_help_gLt3vA97tMcp","title":"Premium features","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Premium features"},{"name":"iconClass","value":"bx bx-star","type":"label"}],"children":[{"id":"_help_ZlN4nump6EbW","title":"Slash Commands","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Premium features/Slash Commands"},{"name":"iconClass","value":"bx bx-menu","type":"label"}]},{"id":"_help_pwc194wlRzcH","title":"Text Snippets","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Premium features/Text Snippets"},{"name":"iconClass","value":"bx bx-align-left","type":"label"}]},{"id":"_help_5wZallV2Qo1t","title":"Format Painter","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Premium features/Format Painter"},{"name":"iconClass","value":"bx bxs-paint-roll","type":"label"}]}]},{"id":"_help_BFvAtE74rbP6","title":"Table of contents","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Table of contents"},{"name":"iconClass","value":"bx bx-heading","type":"label"}]},{"id":"_help_NdowYOC1GFKS","title":"Tables","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Tables"},{"name":"iconClass","value":"bx bx-table","type":"label"}]}]},{"id":"_help_6f9hih2hXXZk","title":"Code","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Code"},{"name":"iconClass","value":"bx bx-code","type":"label"}]},{"id":"_help_m523cpzocqaD","title":"Saved Search","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Saved Search"},{"name":"iconClass","value":"bx bx-file-find","type":"label"}]},{"id":"_help_iRwzGnHPzonm","title":"Relation Map","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Relation Map"},{"name":"iconClass","value":"bx bxs-network-chart","type":"label"}]},{"id":"_help_bdUJEHsAPYQR","title":"Note Map","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Note Map"},{"name":"iconClass","value":"bx bxs-network-chart","type":"label"}]},{"id":"_help_HcABDtFCkbFN","title":"Render Note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Render Note"},{"name":"iconClass","value":"bx bx-extension","type":"label"}]},{"id":"_help_s1aBHPd79XYj","title":"Mermaid Diagrams","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Mermaid Diagrams"},{"name":"iconClass","value":"bx bx-selection","type":"label"}],"children":[{"id":"_help_RH6yLjjWJHof","title":"ELK layout","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Mermaid Diagrams/ELK layout"},{"name":"iconClass","value":"bx bxs-network-chart","type":"label"}]},{"id":"_help_WWgeUaBb7UfC","title":"Syntax reference","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://mermaid.js.org/intro/syntax-reference.html"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_grjYqerjn243","title":"Canvas","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Canvas"},{"name":"iconClass","value":"bx bx-pen","type":"label"}]},{"id":"_help_1vHRoWCEjj0L","title":"Web View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Web View"},{"name":"iconClass","value":"bx bx-globe-alt","type":"label"}]},{"id":"_help_gBbsAeiuUxI5","title":"Mind Map","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Mind Map"},{"name":"iconClass","value":"bx bx-sitemap","type":"label"}]},{"id":"_help_W8vYD3Q1zjCR","title":"File","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/File"},{"name":"iconClass","value":"bx bx-file-blank","type":"label"}]}]},{"id":"_help_GTwFsgaA0lCt","title":"Collections","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections"},{"name":"iconClass","value":"bx bx-book","type":"label"}],"children":[{"id":"_help_xWbu3jpNWapp","title":"Calendar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Calendar"},{"name":"iconClass","value":"bx bx-calendar","type":"label"}]},{"id":"_help_2FvYrpmOXm29","title":"Table","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Table"},{"name":"iconClass","value":"bx bx-table","type":"label"}]},{"id":"_help_CtBQqbwXDx1w","title":"Kanban Board","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Kanban Board"},{"name":"iconClass","value":"bx bx-columns","type":"label"}]},{"id":"_help_81SGnPGMk7Xc","title":"Geo Map","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Geo Map"},{"name":"iconClass","value":"bx bx-map-alt","type":"label"}]},{"id":"_help_zP3PMqaG71Ct","title":"Presentation","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Presentation"},{"name":"iconClass","value":"bx bx-slideshow","type":"label"}]},{"id":"_help_8QqnMzx393bx","title":"Grid View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Grid View"},{"name":"iconClass","value":"bx bxs-grid","type":"label"}]},{"id":"_help_mULW0Q3VojwY","title":"List View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/List View"},{"name":"iconClass","value":"bx bx-list-ul","type":"label"}]}]},{"id":"_help_BgmBlOIl72jZ","title":"Troubleshooting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting"},{"name":"iconClass","value":"bx bx-bug","type":"label"}],"children":[{"id":"_help_wy8So3yZZlH9","title":"Reporting issues","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Reporting issues"},{"name":"iconClass","value":"bx bx-bug-alt","type":"label"}]},{"id":"_help_x59R8J8KV5Bp","title":"Anonymized Database","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Anonymized Database"},{"name":"iconClass","value":"bx bx-low-vision","type":"label"}]},{"id":"_help_qzNzp9LYQyPT","title":"Error logs","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Error logs"},{"name":"iconClass","value":"bx bx-comment-error","type":"label"}],"children":[{"id":"_help_bnyigUA2UK7s","title":"Backend (server) logs","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Error logs/Backend (server) logs"},{"name":"iconClass","value":"bx bx-server","type":"label"}]},{"id":"_help_9yEHzMyFirZR","title":"Frontend logs","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Error logs/Frontend logs"},{"name":"iconClass","value":"bx bx-window-alt","type":"label"}]}]},{"id":"_help_vdlYGAcpXAgc","title":"Synchronization fails with 504 Gateway Timeout","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Synchronization fails with 504"},{"name":"iconClass","value":"bx bx-error","type":"label"}]},{"id":"_help_s8alTXmpFR61","title":"Refreshing the application","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Refreshing the application"},{"name":"iconClass","value":"bx bx-refresh","type":"label"}]}]},{"id":"_help_pKK96zzmvBGf","title":"Theme development","type":"book","attributes":[{"name":"iconClass","value":"bx bx-palette","type":"label"}],"children":[{"id":"_help_7NfNr5pZpVKV","title":"Creating a custom theme","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Theme development/Creating a custom theme"},{"name":"iconClass","value":"bx bxs-color","type":"label"}]},{"id":"_help_WFGzWeUK6arS","title":"Customize the Next theme","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Theme development/Customize the Next theme"},{"name":"iconClass","value":"bx bx-news","type":"label"}]},{"id":"_help_WN5z4M8ASACJ","title":"Reference","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Theme development/Reference"},{"name":"iconClass","value":"bx bx-book-open","type":"label"}]},{"id":"_help_AlhDUqhENtH7","title":"Custom app-wide CSS","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Theme development/Custom app-wide CSS"},{"name":"iconClass","value":"bx bxs-file-css","type":"label"}]}]},{"id":"_help_tC7s2alapj8V","title":"Advanced Usage","type":"book","attributes":[{"name":"iconClass","value":"bx bx-rocket","type":"label"}],"children":[{"id":"_help_zEY4DaJG4YT5","title":"Attributes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes"},{"name":"iconClass","value":"bx bx-list-check","type":"label"}],"children":[{"id":"_help_HI6GBBIduIgv","title":"Labels","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes/Labels"},{"name":"iconClass","value":"bx bx-hash","type":"label"}]},{"id":"_help_Cq5X6iKQop6R","title":"Relations","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes/Relations"},{"name":"iconClass","value":"bx bx-transfer","type":"label"}]},{"id":"_help_bwZpz2ajCEwO","title":"Attribute Inheritance","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes/Attribute Inheritance"},{"name":"iconClass","value":"bx bx-list-plus","type":"label"}]},{"id":"_help_OFXdgB2nNk1F","title":"Promoted Attributes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes/Promoted Attributes"},{"name":"iconClass","value":"bx bx-table","type":"label"}]}]},{"id":"_help_KC1HB96bqqHX","title":"Templates","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Templates"},{"name":"iconClass","value":"bx bx-copy","type":"label"}]},{"id":"_help_BCkXAVs63Ttv","title":"Note Map (Link map, Tree map)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Note Map (Link map, Tree map)"},{"name":"iconClass","value":"bx bxs-network-chart","type":"label"}]},{"id":"_help_R9pX4DGra2Vt","title":"Sharing","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Sharing"},{"name":"iconClass","value":"bx bx-share-alt","type":"label"}],"children":[{"id":"_help_Qjt68inQ2bRj","title":"Serving directly the content of a note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Sharing/Serving directly the content o"},{"name":"iconClass","value":"bx bx-code","type":"label"}]},{"id":"_help_ycBFjKrrwE9p","title":"Exporting static HTML for web publishing","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Sharing/Exporting static HTML for web "},{"name":"iconClass","value":"bx bxs-file-html","type":"label"}]},{"id":"_help_sLIJ6f1dkJYW","title":"Reverse proxy configuration","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Sharing/Reverse proxy configuration"},{"name":"iconClass","value":"bx bx-world","type":"label"}]}]},{"id":"_help_5668rwcirq1t","title":"Advanced Showcases","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Advanced Showcases"},{"name":"iconClass","value":"bx bxs-component","type":"label"}],"children":[{"id":"_help_l0tKav7yLHGF","title":"Day Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Advanced Showcases/Day Notes"},{"name":"iconClass","value":"bx bx-calendar","type":"label"}]},{"id":"_help_R7abl2fc6Mxi","title":"Weight Tracker","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Advanced Showcases/Weight Tracker"},{"name":"iconClass","value":"bx bx-line-chart","type":"label"}]},{"id":"_help_xYjQUYhpbUEW","title":"Task Manager","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Advanced Showcases/Task Manager"},{"name":"iconClass","value":"bx bx-calendar-check","type":"label"}]}]},{"id":"_help_J5Ex1ZrMbyJ6","title":"Custom Request Handler","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Custom Request Handler"},{"name":"iconClass","value":"bx bx-globe","type":"label"}]},{"id":"_help_d3fAXQ2diepH","title":"Custom Resource Providers","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Custom Resource Providers"},{"name":"iconClass","value":"bx bxs-file-plus","type":"label"}]},{"id":"_help_pgxEVkzLl1OP","title":"ETAPI (REST API)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/ETAPI (REST API)"},{"name":"iconClass","value":"bx bx-extension","type":"label"}],"children":[{"id":"_help_9qPsTWBorUhQ","title":"API Reference","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/rest-api/etapi/"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_47ZrP6FNuoG8","title":"Default Note Title","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Default Note Title"},{"name":"iconClass","value":"bx bx-edit-alt","type":"label"}]},{"id":"_help_wX4HbRucYSDD","title":"Database","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Database"},{"name":"iconClass","value":"bx bx-data","type":"label"}],"children":[{"id":"_help_oyIAJ9PvvwHX","title":"Manually altering the database","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Database/Manually altering the database"},{"name":"iconClass","value":"bx bxs-edit","type":"label"}],"children":[{"id":"_help_YKWqdJhzi2VY","title":"SQL Console","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Database/Manually altering the database/SQL Console"},{"name":"iconClass","value":"bx bx-data","type":"label"}]}]},{"id":"_help_6tZeKvSHEUiB","title":"Demo Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Database/Demo Notes"},{"name":"iconClass","value":"bx bx-package","type":"label"}]}]},{"id":"_help_Gzjqa934BdH4","title":"Configuration (config.ini or environment variables)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Configuration (config.ini or e"},{"name":"iconClass","value":"bx bx-cog","type":"label"}],"children":[{"id":"_help_c5xB8m4g2IY6","title":"Trilium instance","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Configuration (config.ini or environment variables)/Trilium instance"},{"name":"iconClass","value":"bx bx-windows","type":"label"}]},{"id":"_help_LWtBjFej3wX3","title":"Cross-Origin Resource Sharing (CORS)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Configuration (config.ini or environment variables)/Cross-Origin Resource Sharing "},{"name":"iconClass","value":"bx bx-lock","type":"label"}]}]},{"id":"_help_ivYnonVFBxbQ","title":"Bulk Actions","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Bulk Actions"},{"name":"iconClass","value":"bx bx-list-plus","type":"label"}]},{"id":"_help_4FahAwuGTAwC","title":"Note source","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Note source"},{"name":"iconClass","value":"bx bx-code","type":"label"}]},{"id":"_help_1YeN2MzFUluU","title":"Technologies used","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used"},{"name":"iconClass","value":"bx bx-pyramid","type":"label"}],"children":[{"id":"_help_MI26XDLSAlCD","title":"CKEditor","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used/CKEditor"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_N4IDkixaDG9C","title":"MindElixir","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used/MindElixir"},{"name":"iconClass","value":"bx bx-sitemap","type":"label"}]},{"id":"_help_H0mM1lTxF9JI","title":"Excalidraw","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used/Excalidraw"},{"name":"iconClass","value":"bx bx-pen","type":"label"}]},{"id":"_help_MQHyy2dIFgxS","title":"Leaflet","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used/Leaflet"},{"name":"iconClass","value":"bx bx-map-alt","type":"label"}]}]},{"id":"_help_m1lbrzyKDaRB","title":"Note ID","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Note ID"},{"name":"iconClass","value":"bx bx-hash","type":"label"}]},{"id":"_help_0vTSyvhPTAOz","title":"Internal API","type":"book","attributes":[{"name":"iconClass","value":"bx bxs-component","type":"label"}],"children":[{"id":"_help_z8O2VG4ZZJD7","title":"API Reference","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/rest-api/internal/"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_2mUhVmZK8RF3","title":"Hidden Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Hidden Notes"},{"name":"iconClass","value":"bx bx-hide","type":"label"}]},{"id":"_help_uYF7pmepw27K","title":"Metrics","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Metrics"},{"name":"iconClass","value":"bx bxs-data","type":"label"}],"children":[{"id":"_help_bOP3TB56fL1V","title":"grafana-dashboard.json","type":"doc","attributes":[{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_64ZTlUPgEPtW","title":"Safe mode","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Safe mode"},{"name":"iconClass","value":"bx bxs-virus-block","type":"label"}]},{"id":"_help_HAIOFBoYIIdO","title":"Nightly release","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Nightly release"},{"name":"iconClass","value":"bx bx-moon","type":"label"}]},{"id":"_help_ZmT9ln8XJX2o","title":"Read-only database","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Read-only database"},{"name":"iconClass","value":"bx bx-book-reader","type":"label"}]}]},{"id":"_help_GBBMSlVSOIGP","title":"AI","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI"},{"name":"iconClass","value":"bx bx-bot","type":"label"}],"children":[{"id":"_help_WkM7gsEUyCXs","title":"Providers","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Providers"},{"name":"iconClass","value":"bx bx-select-multiple","type":"label"}],"children":[{"id":"_help_7EdTxPADv95W","title":"Ollama","type":"book","attributes":[{"name":"iconClass","value":"bx bx-message-dots","type":"label"}],"children":[{"id":"_help_vvUCN7FDkq7G","title":"Installing Ollama","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Providers/Ollama/Installing Ollama"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_ZavFigBX9AwP","title":"OpenAI","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Providers/OpenAI"},{"name":"iconClass","value":"bx bx-message-dots","type":"label"}]},{"id":"_help_e0lkirXEiSNc","title":"Anthropic","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Providers/Anthropic"},{"name":"iconClass","value":"bx bx-message-dots","type":"label"}]}]}]},{"id":"_help_CdNpE2pqjmI6","title":"Scripting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting"},{"name":"iconClass","value":"bx bxs-file-js","type":"label"}],"children":[{"id":"_help_yIhgI5H7A2Sm","title":"Frontend Basics","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics"},{"name":"iconClass","value":"bx bx-window","type":"label"}],"children":[{"id":"_help_MgibgPcfeuGz","title":"Custom Widgets","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets"},{"name":"iconClass","value":"bx bxs-widget","type":"label"}],"children":[{"id":"_help_YNxAqkI5Kg1M","title":"Word count widget","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/Word count widget"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_SynTBQiBsdYJ","title":"Widget Basics","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/Widget Basics"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_M8IppdwVHSjG","title":"Right pane widget","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/Right pane widget"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_VqGQnnPGnqAU","title":"CSS","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/CSS"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_es8OU2GuguFU","title":"Examples","type":"book","attributes":[{"name":"iconClass","value":"bx bx-code-alt","type":"label"}],"children":[{"id":"_help_TjLYAo3JMO8X","title":"\"New Task\" launcher button","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Examples/New Task launcher button"},{"name":"iconClass","value":"bx bx-task","type":"label"}]},{"id":"_help_7kZPMD0uFwkH","title":"Downloading responses from Google Forms","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Examples/Downloading responses from Goo"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_DL92EjAaXT26","title":"Using promoted attributes to configure scripts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Examples/Using promoted attributes to c"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_4Gn3psZKsfSm","title":"Launch Bar Widgets","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Launch Bar Widgets"},{"name":"iconClass","value":"bx bx-dock-left","type":"label"}],"children":[{"id":"_help_IPArqVfDQ4We","title":"Note Title Widget","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Launch Bar Widgets/Note Title Widget"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_gcI7RPbaNSh3","title":"Analog Watch","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Launch Bar Widgets/Analog Watch"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]}]},{"id":"_help_SPirpZypehBG","title":"Backend scripts","type":"book","attributes":[{"name":"iconClass","value":"bx bx-server","type":"label"}],"children":[{"id":"_help_fZ2IGYFXjkEy","title":"Server-side imports","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Backend scripts/Server-side imports"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_GPERMystNGTB","title":"Events","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Backend scripts/Events"},{"name":"iconClass","value":"bx bx-rss","type":"label"}]}]},{"id":"_help_GLks18SNjxmC","title":"Script API","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Script API"},{"name":"iconClass","value":"bx bx-code-curly","type":"label"}],"children":[{"id":"_help_Q2z6av6JZVWm","title":"Frontend API","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/script-api/frontend"},{"name":"iconClass","value":"bx bx-folder","type":"label"}],"enforceAttributes":true,"children":[{"id":"_help_habiZ3HU8Kw8","title":"FNote","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/script-api/frontend/interfaces/FNote.html"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_MEtfsqa5VwNi","title":"Backend API","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/script-api/backend"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true},{"id":"_help_ApVHZ8JY5ofC","title":"Day.js","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Script API/Day.js"},{"name":"iconClass","value":"bx bx-calendar","type":"label"}]}]},{"id":"_help_vElnKeDNPSVl","title":"Logging","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Logging"},{"name":"iconClass","value":"bx bx-terminal","type":"label"}]}]},{"id":"_help_Fm0j45KqyHpU","title":"Miscellaneous","type":"book","attributes":[{"name":"iconClass","value":"bx bx-info-circle","type":"label"}],"children":[{"id":"_help_WFbFXrgnDyyU","title":"Privacy Policy","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Miscellaneous/Privacy Policy"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_NcsmUYZRWEW4","title":"Patterns of personal knowledge","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Miscellaneous/Patterns of personal knowledge"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]}] \ No newline at end of file +[{"id":"_help_BOCnjTMBCoxW","title":"Feature Highlights","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Feature Highlights"},{"name":"iconClass","value":"bx bx-star","type":"label"}]},{"id":"_help_Otzi9La2YAUX","title":"Installation & Setup","type":"book","attributes":[{"name":"iconClass","value":"bx bx-cog","type":"label"}],"children":[{"id":"_help_poXkQfguuA0U","title":"Desktop Installation","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Desktop Installation"},{"name":"iconClass","value":"bx bx-desktop","type":"label"}],"children":[{"id":"_help_nRqcgfTb97uV","title":"Using the desktop application as a server","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Desktop Installation/Using the desktop application "},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_Rp0q8bSP6Ayl","title":"System Requirements","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Desktop Installation/System Requirements"},{"name":"iconClass","value":"bx bx-chip","type":"label"}]},{"id":"_help_Un4wj2Mak2Ky","title":"Nix flake","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Desktop Installation/Nix flake"},{"name":"iconClass","value":"bx bxl-tux","type":"label"}]}]},{"id":"_help_WOcw2SLH6tbX","title":"Server Installation","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation"},{"name":"iconClass","value":"bx bx-server","type":"label"}],"children":[{"id":"_help_Dgg7bR3b6K9j","title":"1. Installing the server","type":"book","attributes":[{"name":"iconClass","value":"bx bx-folder","type":"label"}],"children":[{"id":"_help_3tW6mORuTHnB","title":"Packaged version for Linux","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Packaged version for Linux"},{"name":"iconClass","value":"bx bxl-tux","type":"label"}]},{"id":"_help_rWX5eY045zbE","title":"Using Docker","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Docker"},{"name":"iconClass","value":"bx bxl-docker","type":"label"}]},{"id":"_help_moVgBcoxE3EK","title":"On NixOS","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/On NixOS"},{"name":"iconClass","value":"bx bxl-tux","type":"label"}]},{"id":"_help_J1Bb6lVlwU5T","title":"Manually","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Manually"},{"name":"iconClass","value":"bx bx-code-alt","type":"label"}]},{"id":"_help_DCmT6e7clMoP","title":"Using Kubernetes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Kubernetes"},{"name":"iconClass","value":"bx bxl-kubernetes","type":"label"}]},{"id":"_help_klCWNks3ReaQ","title":"Multiple server instances","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Multiple server instances"},{"name":"iconClass","value":"bx bxs-user-account","type":"label"}]}]},{"id":"_help_vcjrb3VVYPZI","title":"2. Reverse proxy","type":"book","attributes":[{"name":"iconClass","value":"bx bx-folder","type":"label"}],"children":[{"id":"_help_ud6MShXL4WpO","title":"Nginx","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Nginx"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_fDLvzOx29Pfg","title":"Apache using Docker","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Apache using Docker"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_LLzSMXACKhUs","title":"Trusted proxy","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Trusted proxy"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_5ERVJb9s4FRD","title":"Traefik","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Traefik"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_l2VkvOwUNfZj","title":"HTTPS (TLS)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/HTTPS (TLS)"},{"name":"iconClass","value":"bx bx-lock-alt","type":"label"}]},{"id":"_help_0hzsNCP31IAB","title":"Authentication","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/Authentication"},{"name":"iconClass","value":"bx bx-user","type":"label"}]},{"id":"_help_7DAiwaf8Z7Rz","title":"Multi-Factor Authentication","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/Multi-Factor Authentication"},{"name":"iconClass","value":"bx bx-stopwatch","type":"label"}]},{"id":"_help_Un4wj2Mak2Ky","title":"Nix flake","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/Nix flake.clone"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_yeEaYqosGLSh","title":"Third-party cloud hosting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/Third-party cloud hosting"},{"name":"iconClass","value":"bx bx-cloud","type":"label"}]},{"id":"_help_iGTnKjubbXkA","title":"System Requirements","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/System Requirements"},{"name":"iconClass","value":"bx bx-chip","type":"label"}]}]},{"id":"_help_cbkrhQjrkKrh","title":"Synchronization","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Synchronization"},{"name":"iconClass","value":"bx bx-sync","type":"label"}]},{"id":"_help_RDslemsQ6gCp","title":"Mobile Frontend","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Mobile Frontend"},{"name":"iconClass","value":"bx bx-mobile-alt","type":"label"}]},{"id":"_help_MtPxeAWVAzMg","title":"Web Clipper","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Web Clipper"},{"name":"iconClass","value":"bx bx-paperclip","type":"label"}]},{"id":"_help_n1lujUxCwipy","title":"Upgrading TriliumNext","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Upgrading TriliumNext"},{"name":"iconClass","value":"bx bx-up-arrow-alt","type":"label"}]},{"id":"_help_ODY7qQn5m2FT","title":"Backup","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Backup"},{"name":"iconClass","value":"bx bx-hdd","type":"label"}]},{"id":"_help_tAassRL4RSQL","title":"Data directory","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Data directory"},{"name":"iconClass","value":"bx bx-folder-open","type":"label"}]}]},{"id":"_help_gh7bpGYxajRS","title":"Basic Concepts and Features","type":"book","attributes":[{"name":"iconClass","value":"bx bx-help-circle","type":"label"}],"children":[{"id":"_help_Vc8PjrjAGuOp","title":"UI Elements","type":"book","attributes":[{"name":"iconClass","value":"bx bx-window-alt","type":"label"}],"children":[{"id":"_help_x0JgW8UqGXvq","title":"Vertical and horizontal layout","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Vertical and horizontal layout"},{"name":"iconClass","value":"bx bxs-layout","type":"label"}]},{"id":"_help_x3i7MxGccDuM","title":"Global menu","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Global menu"},{"name":"iconClass","value":"bx bx-menu","type":"label"}]},{"id":"_help_oPVyFC7WL2Lp","title":"Note Tree","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree"},{"name":"iconClass","value":"bx bxs-tree-alt","type":"label"}],"children":[{"id":"_help_YtSN43OrfzaA","title":"Note tree contextual menu","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree/Note tree contextual menu"},{"name":"iconClass","value":"bx bx-menu","type":"label"}]},{"id":"_help_yTjUdsOi4CIE","title":"Multiple selection","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree/Multiple selection"},{"name":"iconClass","value":"bx bx-list-plus","type":"label"}]},{"id":"_help_DvdZhoQZY9Yd","title":"Keyboard shortcuts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree/Keyboard shortcuts"},{"name":"iconClass","value":"bx bxs-keyboard","type":"label"}]}]},{"id":"_help_BlN9DFI679QC","title":"Ribbon","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Ribbon"},{"name":"iconClass","value":"bx bx-dots-horizontal","type":"label"}]},{"id":"_help_3seOhtN8uLIY","title":"Tabs","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Tabs"},{"name":"iconClass","value":"bx bx-dock-top","type":"label"}]},{"id":"_help_xYmIYSP6wE3F","title":"Launch Bar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Launch Bar"},{"name":"iconClass","value":"bx bx-sidebar","type":"label"}]},{"id":"_help_8YBEPzcpUgxw","title":"Note buttons","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note buttons"},{"name":"iconClass","value":"bx bx-dots-vertical-rounded","type":"label"}]},{"id":"_help_4TIF1oA4VQRO","title":"Options","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Options"},{"name":"iconClass","value":"bx bx-cog","type":"label"}]},{"id":"_help_luNhaphA37EO","title":"Split View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Split View"},{"name":"iconClass","value":"bx bx-dock-right","type":"label"}]},{"id":"_help_XpOYSgsLkTJy","title":"Floating buttons","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Floating buttons"},{"name":"iconClass","value":"bx bx-rectangle","type":"label"}]},{"id":"_help_RnaPdbciOfeq","title":"Right Sidebar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Right Sidebar"},{"name":"iconClass","value":"bx bxs-dock-right","type":"label"}]},{"id":"_help_r5JGHN99bVKn","title":"Recent Changes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Recent Changes"},{"name":"iconClass","value":"bx bx-history","type":"label"}]},{"id":"_help_ny318J39E5Z0","title":"Zoom","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Zoom"},{"name":"iconClass","value":"bx bx-zoom-in","type":"label"}]},{"id":"_help_lgKX7r3aL30x","title":"Note Tooltip","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tooltip"},{"name":"iconClass","value":"bx bx-message-detail","type":"label"}]},{"id":"_help_IjZS7iK5EXtb","title":"New Layout","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout"},{"name":"iconClass","value":"bx bx-layout","type":"label"}],"children":[{"id":"_help_I6p2a06hdnL6","title":"Breadcrumb","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Breadcrumb"},{"name":"iconClass","value":"bx bx-chevron-right","type":"label"}]},{"id":"_help_AlJ73vBCjWDw","title":"Status bar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Status bar"},{"name":"iconClass","value":"bx bx-dock-bottom","type":"label"}]}]}]},{"id":"_help_BFs8mudNFgCS","title":"Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes"},{"name":"iconClass","value":"bx bx-notepad","type":"label"}],"children":[{"id":"_help_p9kXRFAkwN4o","title":"Note Icons","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Note Icons"},{"name":"iconClass","value":"bx bxs-grid","type":"label"}]},{"id":"_help_0vhv7lsOLy82","title":"Attachments","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Attachments"},{"name":"iconClass","value":"bx bx-paperclip","type":"label"}]},{"id":"_help_IakOLONlIfGI","title":"Cloning Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Cloning Notes"},{"name":"iconClass","value":"bx bx-duplicate","type":"label"}],"children":[{"id":"_help_TBwsyfadTA18","title":"Branch prefix","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Cloning Notes/Branch prefix"},{"name":"iconClass","value":"bx bx-rename","type":"label"}]}]},{"id":"_help_bwg0e8ewQMak","title":"Protected Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Protected Notes"},{"name":"iconClass","value":"bx bx-lock-alt","type":"label"}]},{"id":"_help_MKmLg5x6xkor","title":"Archived Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Archived Notes"},{"name":"iconClass","value":"bx bx-box","type":"label"}]},{"id":"_help_vZWERwf8U3nx","title":"Note Revisions","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Note Revisions"},{"name":"iconClass","value":"bx bx-history","type":"label"}]},{"id":"_help_aGlEvb9hyDhS","title":"Sorting Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Sorting Notes"},{"name":"iconClass","value":"bx bx-sort-up","type":"label"}]},{"id":"_help_NRnIZmSMc5sj","title":"Printing & Exporting as PDF","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Printing & Exporting as PDF"},{"name":"iconClass","value":"bx bx-printer","type":"label"}]},{"id":"_help_CoFPLs3dRlXc","title":"Read-Only Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Read-Only Notes"},{"name":"iconClass","value":"bx bx-edit-alt","type":"label"}]},{"id":"_help_0ESUbbAxVnoK","title":"Note List","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Note List"},{"name":"iconClass","value":"bx bxs-grid","type":"label"}]}]},{"id":"_help_wArbEsdSae6g","title":"Navigation","type":"book","attributes":[{"name":"iconClass","value":"bx bx-navigation","type":"label"}],"children":[{"id":"_help_kBrnXNG3Hplm","title":"Tree Concepts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Tree Concepts"},{"name":"iconClass","value":"bx bx-pyramid","type":"label"}]},{"id":"_help_MMiBEQljMQh2","title":"Note Navigation","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Note Navigation"},{"name":"iconClass","value":"bx bxs-navigation","type":"label"}]},{"id":"_help_Ms1nauBra7gq","title":"Quick search","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search"},{"name":"iconClass","value":"bx bx-search-alt-2","type":"label"}]},{"id":"_help_F1r9QtzQLZqm","title":"Jump to...","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Jump to"},{"name":"iconClass","value":"bx bx-send","type":"label"}]},{"id":"_help_eIg8jdvaoNNd","title":"Search","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Search"},{"name":"iconClass","value":"bx bx-search-alt-2","type":"label"}]},{"id":"_help_u3YFHC9tQlpm","title":"Bookmarks","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Bookmarks"},{"name":"iconClass","value":"bx bx-bookmarks","type":"label"}]},{"id":"_help_OR8WJ7Iz9K4U","title":"Note Hoisting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Note Hoisting"},{"name":"iconClass","value":"bx bxs-chevrons-up","type":"label"}]},{"id":"_help_ZjLYv08Rp3qC","title":"Quick edit","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Quick edit"},{"name":"iconClass","value":"bx bx-edit","type":"label"}]},{"id":"_help_9sRHySam5fXb","title":"Workspaces","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Workspaces"},{"name":"iconClass","value":"bx bx-door-open","type":"label"}]},{"id":"_help_xWtq5NUHOwql","title":"Similar Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Similar Notes"},{"name":"iconClass","value":"bx bx-bar-chart","type":"label"}]},{"id":"_help_McngOG2jbUWX","title":"Search in note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Search in note"},{"name":"iconClass","value":"bx bx-search-alt-2","type":"label"}]}]},{"id":"_help_A9Oc6YKKc65v","title":"Keyboard Shortcuts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Keyboard Shortcuts"},{"name":"iconClass","value":"bx bxs-keyboard","type":"label"}]},{"id":"_help_Wy267RK4M69c","title":"Themes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Themes"},{"name":"iconClass","value":"bx bx-palette","type":"label"}],"children":[{"id":"_help_VbjZvtUek0Ln","title":"Theme Gallery","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Themes/Theme Gallery"},{"name":"iconClass","value":"bx bx-book-reader","type":"label"}]}]},{"id":"_help_mHbBMPDPkVV5","title":"Import & Export","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export"},{"name":"iconClass","value":"bx bx-import","type":"label"}],"children":[{"id":"_help_Oau6X9rCuegd","title":"Markdown","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export/Markdown"},{"name":"iconClass","value":"bx bxl-markdown","type":"label"}],"children":[{"id":"_help_rJ9grSgoExl9","title":"Supported syntax","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export/Markdown/Supported syntax"},{"name":"iconClass","value":"bx bx-code-alt","type":"label"}]}]},{"id":"_help_syuSEKf2rUGr","title":"Evernote","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export/Evernote"},{"name":"iconClass","value":"bx bx-window-open","type":"label"}]},{"id":"_help_GnhlmrATVqcH","title":"OneNote","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export/OneNote"},{"name":"iconClass","value":"bx bx-window-open","type":"label"}]}]},{"id":"_help_rC3pL2aptaRE","title":"Zen mode","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Zen mode"},{"name":"iconClass","value":"bx bxs-yin-yang","type":"label"}]}]},{"id":"_help_s3YCWHBfmYuM","title":"Quick Start","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Quick Start"},{"name":"iconClass","value":"bx bx-run","type":"label"}]},{"id":"_help_i6dbnitykE5D","title":"FAQ","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/FAQ"},{"name":"iconClass","value":"bx bx-question-mark","type":"label"}]},{"id":"_help_KSZ04uQ2D1St","title":"Note Types","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types"},{"name":"iconClass","value":"bx bx-edit","type":"label"}],"children":[{"id":"_help_iPIMuisry3hd","title":"Text","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text"},{"name":"iconClass","value":"bx bx-note","type":"label"}],"children":[{"id":"_help_NwBbFdNZ9h7O","title":"Block quotes & admonitions","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Block quotes & admonitions"},{"name":"iconClass","value":"bx bx-info-circle","type":"label"}]},{"id":"_help_oSuaNgyyKnhu","title":"Bookmarks","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Bookmarks"},{"name":"iconClass","value":"bx bx-bookmark","type":"label"}]},{"id":"_help_veGu4faJErEM","title":"Content language & Right-to-left support","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Content language & Right-to-le"},{"name":"iconClass","value":"bx bx-align-right","type":"label"}]},{"id":"_help_2x0ZAX9ePtzV","title":"Cut to subnote","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Cut to subnote"},{"name":"iconClass","value":"bx bx-cut","type":"label"}]},{"id":"_help_UYuUB1ZekNQU","title":"Developer-specific formatting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Developer-specific formatting"},{"name":"iconClass","value":"bx bx-code-alt","type":"label"}],"children":[{"id":"_help_QxEyIjRBizuC","title":"Code blocks","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Developer-specific formatting/Code blocks"},{"name":"iconClass","value":"bx bx-code","type":"label"}]}]},{"id":"_help_AgjCISero73a","title":"Footnotes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Footnotes"},{"name":"iconClass","value":"bx bx-bracket","type":"label"}]},{"id":"_help_nRhnJkTT8cPs","title":"Formatting toolbar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Formatting toolbar"},{"name":"iconClass","value":"bx bx-text","type":"label"}]},{"id":"_help_Gr6xFaF6ioJ5","title":"General formatting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/General formatting"},{"name":"iconClass","value":"bx bx-bold","type":"label"}]},{"id":"_help_AxshuNRegLAv","title":"Highlights list","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Highlights list"},{"name":"iconClass","value":"bx bx-highlight","type":"label"}]},{"id":"_help_mT0HEkOsz6i1","title":"Images","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Images"},{"name":"iconClass","value":"bx bx-image-alt","type":"label"}],"children":[{"id":"_help_0Ofbk1aSuVRu","title":"Image references","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Images/Image references"},{"name":"iconClass","value":"bx bxs-file-image","type":"label"}]}]},{"id":"_help_nBAXQFj20hS1","title":"Include Note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Include Note"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_CohkqWQC1iBv","title":"Insert buttons","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Insert buttons"},{"name":"iconClass","value":"bx bx-plus","type":"label"}]},{"id":"_help_oiVPnW8QfnvS","title":"Keyboard shortcuts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Keyboard shortcuts"},{"name":"iconClass","value":"bx bxs-keyboard","type":"label"}]},{"id":"_help_QEAPj01N5f7w","title":"Links","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Links"},{"name":"iconClass","value":"bx bx-link-alt","type":"label"}],"children":[{"id":"_help_3IDVtesTQ8ds","title":"External links","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Links/External links"},{"name":"iconClass","value":"bx bx-link-external","type":"label"}]},{"id":"_help_hrZ1D00cLbal","title":"Internal (reference) links","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Links/Internal (reference) links"},{"name":"iconClass","value":"bx bx-link","type":"label"}]}]},{"id":"_help_S6Xx8QIWTV66","title":"Lists","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Lists"},{"name":"iconClass","value":"bx bx-list-ul","type":"label"}]},{"id":"_help_QrtTYPmdd1qq","title":"Markdown-like formatting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Markdown-like formatting"},{"name":"iconClass","value":"bx bxl-markdown","type":"label"}]},{"id":"_help_YfYAtQBcfo5V","title":"Math Equations","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Math Equations"},{"name":"iconClass","value":"bx bx-math","type":"label"}]},{"id":"_help_dEHYtoWWi8ct","title":"Other features","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Other features"},{"name":"iconClass","value":"bx bxs-grid","type":"label"}]},{"id":"_help_gLt3vA97tMcp","title":"Premium features","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Premium features"},{"name":"iconClass","value":"bx bx-star","type":"label"}],"children":[{"id":"_help_ZlN4nump6EbW","title":"Slash Commands","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Premium features/Slash Commands"},{"name":"iconClass","value":"bx bx-menu","type":"label"}]},{"id":"_help_pwc194wlRzcH","title":"Text Snippets","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Premium features/Text Snippets"},{"name":"iconClass","value":"bx bx-align-left","type":"label"}]},{"id":"_help_5wZallV2Qo1t","title":"Format Painter","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Premium features/Format Painter"},{"name":"iconClass","value":"bx bxs-paint-roll","type":"label"}]}]},{"id":"_help_BFvAtE74rbP6","title":"Table of contents","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Table of contents"},{"name":"iconClass","value":"bx bx-heading","type":"label"}]},{"id":"_help_NdowYOC1GFKS","title":"Tables","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Tables"},{"name":"iconClass","value":"bx bx-table","type":"label"}]}]},{"id":"_help_6f9hih2hXXZk","title":"Code","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Code"},{"name":"iconClass","value":"bx bx-code","type":"label"}]},{"id":"_help_m523cpzocqaD","title":"Saved Search","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Saved Search"},{"name":"iconClass","value":"bx bx-file-find","type":"label"}]},{"id":"_help_iRwzGnHPzonm","title":"Relation Map","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Relation Map"},{"name":"iconClass","value":"bx bxs-network-chart","type":"label"}]},{"id":"_help_bdUJEHsAPYQR","title":"Note Map","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Note Map"},{"name":"iconClass","value":"bx bxs-network-chart","type":"label"}]},{"id":"_help_HcABDtFCkbFN","title":"Render Note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Render Note"},{"name":"iconClass","value":"bx bx-extension","type":"label"}]},{"id":"_help_s1aBHPd79XYj","title":"Mermaid Diagrams","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Mermaid Diagrams"},{"name":"iconClass","value":"bx bx-selection","type":"label"}],"children":[{"id":"_help_RH6yLjjWJHof","title":"ELK layout","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Mermaid Diagrams/ELK layout"},{"name":"iconClass","value":"bx bxs-network-chart","type":"label"}]},{"id":"_help_WWgeUaBb7UfC","title":"Syntax reference","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://mermaid.js.org/intro/syntax-reference.html"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_grjYqerjn243","title":"Canvas","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Canvas"},{"name":"iconClass","value":"bx bx-pen","type":"label"}]},{"id":"_help_1vHRoWCEjj0L","title":"Web View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Web View"},{"name":"iconClass","value":"bx bx-globe-alt","type":"label"}]},{"id":"_help_gBbsAeiuUxI5","title":"Mind Map","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Mind Map"},{"name":"iconClass","value":"bx bx-sitemap","type":"label"}]},{"id":"_help_W8vYD3Q1zjCR","title":"File","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/File"},{"name":"iconClass","value":"bx bx-file-blank","type":"label"}]}]},{"id":"_help_GTwFsgaA0lCt","title":"Collections","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections"},{"name":"iconClass","value":"bx bx-book","type":"label"}],"children":[{"id":"_help_xWbu3jpNWapp","title":"Calendar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Calendar"},{"name":"iconClass","value":"bx bx-calendar","type":"label"}]},{"id":"_help_2FvYrpmOXm29","title":"Table","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Table"},{"name":"iconClass","value":"bx bx-table","type":"label"}]},{"id":"_help_CtBQqbwXDx1w","title":"Kanban Board","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Kanban Board"},{"name":"iconClass","value":"bx bx-columns","type":"label"}]},{"id":"_help_81SGnPGMk7Xc","title":"Geo Map","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Geo Map"},{"name":"iconClass","value":"bx bx-map-alt","type":"label"}]},{"id":"_help_zP3PMqaG71Ct","title":"Presentation","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Presentation"},{"name":"iconClass","value":"bx bx-slideshow","type":"label"}]},{"id":"_help_8QqnMzx393bx","title":"Grid View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Grid View"},{"name":"iconClass","value":"bx bxs-grid","type":"label"}]},{"id":"_help_mULW0Q3VojwY","title":"List View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/List View"},{"name":"iconClass","value":"bx bx-list-ul","type":"label"}]}]},{"id":"_help_BgmBlOIl72jZ","title":"Troubleshooting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting"},{"name":"iconClass","value":"bx bx-bug","type":"label"}],"children":[{"id":"_help_wy8So3yZZlH9","title":"Reporting issues","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Reporting issues"},{"name":"iconClass","value":"bx bx-bug-alt","type":"label"}]},{"id":"_help_x59R8J8KV5Bp","title":"Anonymized Database","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Anonymized Database"},{"name":"iconClass","value":"bx bx-low-vision","type":"label"}]},{"id":"_help_qzNzp9LYQyPT","title":"Error logs","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Error logs"},{"name":"iconClass","value":"bx bx-comment-error","type":"label"}],"children":[{"id":"_help_bnyigUA2UK7s","title":"Backend (server) logs","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Error logs/Backend (server) logs"},{"name":"iconClass","value":"bx bx-server","type":"label"}]},{"id":"_help_9yEHzMyFirZR","title":"Frontend logs","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Error logs/Frontend logs"},{"name":"iconClass","value":"bx bx-window-alt","type":"label"}]}]},{"id":"_help_vdlYGAcpXAgc","title":"Synchronization fails with 504 Gateway Timeout","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Synchronization fails with 504"},{"name":"iconClass","value":"bx bx-error","type":"label"}]},{"id":"_help_s8alTXmpFR61","title":"Refreshing the application","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Refreshing the application"},{"name":"iconClass","value":"bx bx-refresh","type":"label"}]}]},{"id":"_help_pKK96zzmvBGf","title":"Theme development","type":"book","attributes":[{"name":"iconClass","value":"bx bx-palette","type":"label"}],"children":[{"id":"_help_7NfNr5pZpVKV","title":"Creating a custom theme","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Theme development/Creating a custom theme"},{"name":"iconClass","value":"bx bxs-color","type":"label"}]},{"id":"_help_WFGzWeUK6arS","title":"Customize the Next theme","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Theme development/Customize the Next theme"},{"name":"iconClass","value":"bx bx-news","type":"label"}]},{"id":"_help_WN5z4M8ASACJ","title":"Reference","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Theme development/Reference"},{"name":"iconClass","value":"bx bx-book-open","type":"label"}]},{"id":"_help_AlhDUqhENtH7","title":"Custom app-wide CSS","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Theme development/Custom app-wide CSS"},{"name":"iconClass","value":"bx bxs-file-css","type":"label"}]}]},{"id":"_help_tC7s2alapj8V","title":"Advanced Usage","type":"book","attributes":[{"name":"iconClass","value":"bx bx-rocket","type":"label"}],"children":[{"id":"_help_zEY4DaJG4YT5","title":"Attributes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes"},{"name":"iconClass","value":"bx bx-list-check","type":"label"}],"children":[{"id":"_help_HI6GBBIduIgv","title":"Labels","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes/Labels"},{"name":"iconClass","value":"bx bx-hash","type":"label"}]},{"id":"_help_Cq5X6iKQop6R","title":"Relations","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes/Relations"},{"name":"iconClass","value":"bx bx-transfer","type":"label"}]},{"id":"_help_bwZpz2ajCEwO","title":"Attribute Inheritance","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes/Attribute Inheritance"},{"name":"iconClass","value":"bx bx-list-plus","type":"label"}]},{"id":"_help_OFXdgB2nNk1F","title":"Promoted Attributes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes/Promoted Attributes"},{"name":"iconClass","value":"bx bx-table","type":"label"}]}]},{"id":"_help_KC1HB96bqqHX","title":"Templates","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Templates"},{"name":"iconClass","value":"bx bx-copy","type":"label"}]},{"id":"_help_BCkXAVs63Ttv","title":"Note Map (Link map, Tree map)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Note Map (Link map, Tree map)"},{"name":"iconClass","value":"bx bxs-network-chart","type":"label"}]},{"id":"_help_R9pX4DGra2Vt","title":"Sharing","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Sharing"},{"name":"iconClass","value":"bx bx-share-alt","type":"label"}],"children":[{"id":"_help_Qjt68inQ2bRj","title":"Serving directly the content of a note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Sharing/Serving directly the content o"},{"name":"iconClass","value":"bx bx-code","type":"label"}]},{"id":"_help_ycBFjKrrwE9p","title":"Exporting static HTML for web publishing","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Sharing/Exporting static HTML for web "},{"name":"iconClass","value":"bx bxs-file-html","type":"label"}]},{"id":"_help_sLIJ6f1dkJYW","title":"Reverse proxy configuration","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Sharing/Reverse proxy configuration"},{"name":"iconClass","value":"bx bx-world","type":"label"}]}]},{"id":"_help_5668rwcirq1t","title":"Advanced Showcases","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Advanced Showcases"},{"name":"iconClass","value":"bx bxs-component","type":"label"}],"children":[{"id":"_help_l0tKav7yLHGF","title":"Day Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Advanced Showcases/Day Notes"},{"name":"iconClass","value":"bx bx-calendar","type":"label"}]},{"id":"_help_R7abl2fc6Mxi","title":"Weight Tracker","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Advanced Showcases/Weight Tracker"},{"name":"iconClass","value":"bx bx-line-chart","type":"label"}]},{"id":"_help_xYjQUYhpbUEW","title":"Task Manager","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Advanced Showcases/Task Manager"},{"name":"iconClass","value":"bx bx-calendar-check","type":"label"}]}]},{"id":"_help_J5Ex1ZrMbyJ6","title":"Custom Request Handler","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Custom Request Handler"},{"name":"iconClass","value":"bx bx-globe","type":"label"}]},{"id":"_help_d3fAXQ2diepH","title":"Custom Resource Providers","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Custom Resource Providers"},{"name":"iconClass","value":"bx bxs-file-plus","type":"label"}]},{"id":"_help_pgxEVkzLl1OP","title":"ETAPI (REST API)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/ETAPI (REST API)"},{"name":"iconClass","value":"bx bx-extension","type":"label"}],"children":[{"id":"_help_9qPsTWBorUhQ","title":"API Reference","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/rest-api/etapi/"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_47ZrP6FNuoG8","title":"Default Note Title","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Default Note Title"},{"name":"iconClass","value":"bx bx-edit-alt","type":"label"}]},{"id":"_help_wX4HbRucYSDD","title":"Database","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Database"},{"name":"iconClass","value":"bx bx-data","type":"label"}],"children":[{"id":"_help_oyIAJ9PvvwHX","title":"Manually altering the database","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Database/Manually altering the database"},{"name":"iconClass","value":"bx bxs-edit","type":"label"}],"children":[{"id":"_help_YKWqdJhzi2VY","title":"SQL Console","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Database/Manually altering the database/SQL Console"},{"name":"iconClass","value":"bx bx-data","type":"label"}]}]},{"id":"_help_6tZeKvSHEUiB","title":"Demo Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Database/Demo Notes"},{"name":"iconClass","value":"bx bx-package","type":"label"}]}]},{"id":"_help_Gzjqa934BdH4","title":"Configuration (config.ini or environment variables)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Configuration (config.ini or e"},{"name":"iconClass","value":"bx bx-cog","type":"label"}],"children":[{"id":"_help_c5xB8m4g2IY6","title":"Trilium instance","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Configuration (config.ini or environment variables)/Trilium instance"},{"name":"iconClass","value":"bx bx-windows","type":"label"}]},{"id":"_help_LWtBjFej3wX3","title":"Cross-Origin Resource Sharing (CORS)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Configuration (config.ini or environment variables)/Cross-Origin Resource Sharing "},{"name":"iconClass","value":"bx bx-lock","type":"label"}]}]},{"id":"_help_ivYnonVFBxbQ","title":"Bulk Actions","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Bulk Actions"},{"name":"iconClass","value":"bx bx-list-plus","type":"label"}]},{"id":"_help_4FahAwuGTAwC","title":"Note source","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Note source"},{"name":"iconClass","value":"bx bx-code","type":"label"}]},{"id":"_help_1YeN2MzFUluU","title":"Technologies used","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used"},{"name":"iconClass","value":"bx bx-pyramid","type":"label"}],"children":[{"id":"_help_MI26XDLSAlCD","title":"CKEditor","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used/CKEditor"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_N4IDkixaDG9C","title":"MindElixir","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used/MindElixir"},{"name":"iconClass","value":"bx bx-sitemap","type":"label"}]},{"id":"_help_H0mM1lTxF9JI","title":"Excalidraw","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used/Excalidraw"},{"name":"iconClass","value":"bx bx-pen","type":"label"}]},{"id":"_help_MQHyy2dIFgxS","title":"Leaflet","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used/Leaflet"},{"name":"iconClass","value":"bx bx-map-alt","type":"label"}]}]},{"id":"_help_m1lbrzyKDaRB","title":"Note ID","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Note ID"},{"name":"iconClass","value":"bx bx-hash","type":"label"}]},{"id":"_help_0vTSyvhPTAOz","title":"Internal API","type":"book","attributes":[{"name":"iconClass","value":"bx bxs-component","type":"label"}],"children":[{"id":"_help_z8O2VG4ZZJD7","title":"API Reference","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/rest-api/internal/"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_2mUhVmZK8RF3","title":"Hidden Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Hidden Notes"},{"name":"iconClass","value":"bx bx-hide","type":"label"}]},{"id":"_help_uYF7pmepw27K","title":"Metrics","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Metrics"},{"name":"iconClass","value":"bx bxs-data","type":"label"}],"children":[{"id":"_help_bOP3TB56fL1V","title":"grafana-dashboard.json","type":"doc","attributes":[{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_64ZTlUPgEPtW","title":"Safe mode","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Safe mode"},{"name":"iconClass","value":"bx bxs-virus-block","type":"label"}]},{"id":"_help_HAIOFBoYIIdO","title":"Nightly release","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Nightly release"},{"name":"iconClass","value":"bx bx-moon","type":"label"}]},{"id":"_help_ZmT9ln8XJX2o","title":"Read-only database","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Read-only database"},{"name":"iconClass","value":"bx bx-book-reader","type":"label"}]}]},{"id":"_help_GBBMSlVSOIGP","title":"AI","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI"},{"name":"iconClass","value":"bx bx-bot","type":"label"}],"children":[{"id":"_help_WkM7gsEUyCXs","title":"Providers","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Providers"},{"name":"iconClass","value":"bx bx-select-multiple","type":"label"}],"children":[{"id":"_help_7EdTxPADv95W","title":"Ollama","type":"book","attributes":[{"name":"iconClass","value":"bx bx-message-dots","type":"label"}],"children":[{"id":"_help_vvUCN7FDkq7G","title":"Installing Ollama","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Providers/Ollama/Installing Ollama"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_ZavFigBX9AwP","title":"OpenAI","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Providers/OpenAI"},{"name":"iconClass","value":"bx bx-message-dots","type":"label"}]},{"id":"_help_e0lkirXEiSNc","title":"Anthropic","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Providers/Anthropic"},{"name":"iconClass","value":"bx bx-message-dots","type":"label"}]}]}]},{"id":"_help_CdNpE2pqjmI6","title":"Scripting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting"},{"name":"iconClass","value":"bx bxs-file-js","type":"label"}],"children":[{"id":"_help_yIhgI5H7A2Sm","title":"Frontend Basics","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics"},{"name":"iconClass","value":"bx bx-window","type":"label"}],"children":[{"id":"_help_MgibgPcfeuGz","title":"Custom Widgets","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets"},{"name":"iconClass","value":"bx bxs-widget","type":"label"}],"children":[{"id":"_help_YNxAqkI5Kg1M","title":"Word count widget","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/Word count widget"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_SynTBQiBsdYJ","title":"Widget Basics","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/Widget Basics"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_M8IppdwVHSjG","title":"Right pane widget","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/Right pane widget"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_VqGQnnPGnqAU","title":"CSS","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/CSS"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_es8OU2GuguFU","title":"Examples","type":"book","attributes":[{"name":"iconClass","value":"bx bx-code-alt","type":"label"}],"children":[{"id":"_help_TjLYAo3JMO8X","title":"\"New Task\" launcher button","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Examples/New Task launcher button"},{"name":"iconClass","value":"bx bx-task","type":"label"}]},{"id":"_help_7kZPMD0uFwkH","title":"Downloading responses from Google Forms","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Examples/Downloading responses from Goo"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_DL92EjAaXT26","title":"Using promoted attributes to configure scripts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Examples/Using promoted attributes to c"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_4Gn3psZKsfSm","title":"Launch Bar Widgets","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Launch Bar Widgets"},{"name":"iconClass","value":"bx bx-dock-left","type":"label"}],"children":[{"id":"_help_IPArqVfDQ4We","title":"Note Title Widget","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Launch Bar Widgets/Note Title Widget"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_gcI7RPbaNSh3","title":"Analog Watch","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Launch Bar Widgets/Analog Watch"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]}]},{"id":"_help_SPirpZypehBG","title":"Backend scripts","type":"book","attributes":[{"name":"iconClass","value":"bx bx-server","type":"label"}],"children":[{"id":"_help_fZ2IGYFXjkEy","title":"Server-side imports","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Backend scripts/Server-side imports"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_GPERMystNGTB","title":"Events","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Backend scripts/Events"},{"name":"iconClass","value":"bx bx-rss","type":"label"}]}]},{"id":"_help_GLks18SNjxmC","title":"Script API","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Script API"},{"name":"iconClass","value":"bx bx-code-curly","type":"label"}],"children":[{"id":"_help_Q2z6av6JZVWm","title":"Frontend API","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/script-api/frontend"},{"name":"iconClass","value":"bx bx-folder","type":"label"}],"enforceAttributes":true,"children":[{"id":"_help_habiZ3HU8Kw8","title":"FNote","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/script-api/frontend/interfaces/FNote.html"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_MEtfsqa5VwNi","title":"Backend API","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/script-api/backend"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true},{"id":"_help_ApVHZ8JY5ofC","title":"Day.js","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Script API/Day.js"},{"name":"iconClass","value":"bx bx-calendar","type":"label"}]}]},{"id":"_help_vElnKeDNPSVl","title":"Logging","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Logging"},{"name":"iconClass","value":"bx bx-terminal","type":"label"}]}]},{"id":"_help_Fm0j45KqyHpU","title":"Miscellaneous","type":"book","attributes":[{"name":"iconClass","value":"bx bx-info-circle","type":"label"}],"children":[{"id":"_help_WFbFXrgnDyyU","title":"Privacy Policy","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Miscellaneous/Privacy Policy"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_NcsmUYZRWEW4","title":"Patterns of personal knowledge","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Miscellaneous/Patterns of personal knowledge"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]}] \ No newline at end of file diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/1_New Layout_image.png b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/1_New Layout_image.png new file mode 100644 index 0000000000000000000000000000000000000000..c9a85f777338c42c4f31f7268ebd650fea5e1ad1 GIT binary patch literal 21557 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 MikfG#<&AIsFNP9jiU0rr literal 0 HcmV?d00001 diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/2_New Layout_image.png b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/2_New Layout_image.png new file mode 100644 index 0000000000000000000000000000000000000000..10676a08ef7008a837f000e98f7ce06fb32c0b10 GIT binary patch literal 10292 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 literal 0 HcmV?d00001 diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/3_New Layout_image.png b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/3_New Layout_image.png new file mode 100644 index 0000000000000000000000000000000000000000..b4452f695280e4f0feb9deca13302bd2e76a8818 GIT binary patch literal 3835 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 m|MU~#fBV4r|7s}qw>Aui;%y0xo+SeGYHnrd< literal 0 HcmV?d00001 diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/4_New Layout_image.png b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/4_New Layout_image.png new file mode 100644 index 0000000000000000000000000000000000000000..4a2f36ae2ecc5de8f27527172960e336c54504d9 GIT binary patch literal 7397 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 New layout is a series of UI/UX changes that were introduced + in v0.101.0 that heavily change both existing UI elements, as well as adding + some new ones. The goal of this new layout is to modernize the application + and to make it more intuitive but at the same time to reduce clutter.

+

Newly introduced features

+

Status bar

+

At the bottom of the window there is a new bar called the Status bar. + This bar houses multiple items such as the Breadcrumb navigation and information + and settings about the current note, such as the content language and  + Attributes.

+

For more information, consult the dedicated page.

+
+ +
+

Inline title

+

In previous versions of Trilium, the title bar was fixed at all times. + In the new layout, there is both a fixed title bar and one that scrolls + with the text. The newly introduced title is called the Inline title and + it displays the title in a larger font, while also displaying additional + information such as the creation and the modification date.

+

Whenever the title is scrolled past, the fixed title is shown instead.

+

This only affects Text and  + Code notes. Note types that take the entirety of the screen such + as Canvas will + always have only the fixed title bar.

+

Depending on the note type, the inline title will also present some more + interactive options such as being able to switch the note type (see below).

+
+ +
The Inline title, which is displayed at the top of the note and + can be scrolled past.
+
+
+ +
The fixed title bar. The title only appears after scrolling past the Inline title.
+
+

New note type switcher

+

When a new Text or  + Code note is created, a note type switcher will appear below + the Inline title. Apart from changing the note type, it's also + possible to apply a template.

+

The switcher will disappear as soon as a text is entered.

+

+ +

+

Note badges

+

Note badges appear near the fixed note title and indicate important information + about the note such as whether it is read-only. Some of the badges are + also interactive.

+
+ +
+

The following badges are available:

+
    +
  • Read-only badge, which will be shown if the note is not + editable due to either automatic read-only or manual read-only. Clicking + on the badge will temporarily edit the note (similar to the Edit floating button).
  • +
  • Share badge, which will indicate that the current note + is shared. The badge will also indicate if the share is on the local network + (for the desktop application without Synchronization set + up) or publicly accessible (for the server). 
  • +
  • Web clip badge, which will indicate if the note was clipped + using the Web Clipper. + The badge acts as a link, so it can be clicked on to navigate to the page + or right clicked for more options.
  • +
  • Execute badge, for scripts or + saved SQL querieswhich have an execute button or a description.
  • +
+

Some of these badges replace the dedicated panels at the top of the note.

+

Collapsible sections

+
+ +
+

The following sections have been made collapsible:

+
    +
  • Promoted Attributes +
      +
    • For full-height notes such as Canvas, + the promoted attributes are collapsed by default to make room.
    • +
    • The keyboard shortcut previously used to trigger the promoted attributes + ribbon tab (which was no longer working) has been repurposed to toggle + the promoted attributes instead.
    • +
    +
  • +
  • Edited Notes, which appears for Day Notes is + now shown underneath the title. +
      +
    • Whether the section is collapsed or not depends on the choice in  + Options → Appearance.
    • +
    +
  • +
  • Search Properties, which appears for the full Search and  + Saved Search.
  • +
+

Changing to the existing layout

+

Removal of the ribbon

+

The most significant change is the removal of the ribbon. All the actions + and options from the ribbon were integrated in other places in the application.

+

Here's how all the different tabs that were once part of the ribbon are + now available in the new layout:

+
    +
  • “Formatting toolbar” was relocated to the top of the page. +
      +
    • Instead of having one per split, now there is a single formatting toolbar + per tab. This allows more space for the toolbar items.
    • +
    +
  • +
  • “Owned attributes” and “Inherited attributes” were merged and moved to + the status bar region (displayed one above the other).
  • +
  • “Basic Properties” were integrated in the Note buttons menu. +
      +
    • The only exception here is the Language combo box which can now be found + in the status bar (top-right of the screen).
    • +
    +
  • +
  • “File” and “Image” tabs +
      +
    • The buttons were moved to the right of the note title, as dedicated entries + in Note buttons.
    • +
    • The info section has been merged into the Note info section of + the status bar.
    • +
    +
  • +
  • Edited notes +
      +
    • Moved underneath the title, displayed under a collapsible area and the + notes are represented as badges/chips.
    • +
    • Whether the section is expanded or collapsed depends on the “Edited Notes + ribbon tab will automatically open on day notes” setting from Options → + Appearance.
    • +
    +
  • +
  • Search definition tab +
      +
    • Moved underneath the title under a collapsible area.
    • +
    • Expanded by default for new searches, collapsed for saved searches.
    • +
    +
  • +
  • The Note map is now available in the Note actions menu. +
      +
    • Instead of opening into a panel in the ribbon, the note map now opens + in a side split (similar to the in-app help).
    • +
    +
  • +
  • “Note info” tab was moved to a small (i) icon in the status bar.
  • +
  • “Similar notes” tab +
      +
    • Moved to the status bar, by going to the “Note info” section and pressing + the button to show similar notes.
    • +
    • Displayed as a fixed panel, similar to the attributes.
    • +
    +
  • +
  • The Collection properties tab were relocated under the note title and + grouped into: +
      +
    • A combo box to quickly switch between views.
    • +
    • Individual settings for the current view in a submenu.
    • +
    +
  • +
  • Some smaller ribbon tabs were converted to badges that appear near the + note title in the breadcrumb section: +
      +
    • Original URL indicator for clipped web pages (#pageUrl).
    • +
    • SQL and script execute buttons.
    • +
    +
  • +
+ +

Removal of the floating buttons

+

Most of the buttons were relocated to the right of the note title, in + the Note buttons area, + with the exception of:

+
    +
  • The Edit button is displayed near the note title, as a badge.
  • +
  • Backlinks is displayed in the status bar. When clicked, the same + list of backlinks is displayed.
  • +
  • Relation map zoom buttons are now part of the relation map itself.
  • +
  • Export image to PNG/SVG are now in the Note actions menu, in the Export as image option.
  • +
+

How to toggle the new layout

+

Starting with v0.101.0, this new layout is enabled by default. It is possible + to fall back to the old layout by going to Options → + Appearance and selecting Old layout.

+ \ No newline at end of file diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Breadcrumb.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Breadcrumb.html new file mode 100644 index 000000000..6ed290852 --- /dev/null +++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Breadcrumb.html @@ -0,0 +1,55 @@ +
+ +
+

The breadcrumb allows quickly viewing the note hierarchy of the current + note and navigating through it.

+

It is part of the Status bar, + displayed in the bottom-left of the screen.

+

Layout and Interaction

+
    +
  • If a note or workspace is hoisted, a badge will appear on the left-most + side. +
      +
    • Clicking on the badge will un-hoist the note/workspace.
    • +
    +
  • +
  • The left-most icon represents the root note, or the hoisted note or workspace. +
      +
    • Clicking the icon will jump to the root note.
    • +
    • Right clicking the icon will display a menu that allows opening the note + in a new tab, split, etc.
    • +
    +
  • +
  • Each segment shows the title of a note in the current note hierarchy. +
      +
    • Clicking the icon will jump to that note.
    • +
    • Right clicking will open a menu with multiple options such as opening + the note in a different tab/split/window, hoisting, moving/cloning the + note, duplicating as well as changing the color of the note.
    • +
    +
  • +
  • Clicking the arrow next to each segment will reveal the child notes of + the segment on the left. +
      +
    • Clicking on an icon will navigate to that particular note.
    • +
    • It's also possible to create a new child note from here.
    • +
    • The menu can optionally hide the archived notes.
    • +
    +
  • +
  • If the current note is deep within a hierarchy, the segments will collapse + into a […] button in order not to occupy too much space. +
      +
    • Clicking this button will display each collapsed entry as a menu item. + Clicking on it will navigate to that particular note.
    • +
    +
  • +
  • Right clicking on an empty space to the right of the breadcrumb (before + the other status bar items) will reveal another menu that allows: +
      +
    • Toggling whether archived notes are displayed in the breadcrumb and in + the note tree.
    • +
    • Copying the current note path to clipboard.
    • +
    +
  • +
\ No newline at end of file diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Breadcrumb_image.png b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Breadcrumb_image.png new file mode 100644 index 0000000000000000000000000000000000000000..4a2f36ae2ecc5de8f27527172960e336c54504d9 GIT binary patch literal 7397 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 xHWm3_ughfULT~)PcXI#7o3;ObCHM6bThe status bar displays information about the current note and allows + changing settings related to it such as configuring the language or attributes.

+

Layout and interaction

+

On the left side, the Breadcrumb is + displayed which indicates the current note as well as its parent notes + and allows for quick navigation throughout the hierarchy.

+

On the right side, specific sections will show depending on the type of + the current note.

+
    +
  1. For code notes, the language mode of the note is indicated (e.g. JavaScript, + plain text), as well as allowing easy switching to another mode.
  2. +
  3. For text notes, the content language is displayed and can be changed, + thus configuring the spell-check and the right-to-left support. +
      +
    1. Note that this applies to the entire note and not the selection, unlike + some text editors.
    2. +
    +
  4. +
  5. If a note is placed in multiple places in the tree (cloned), the number + of the note paths will be displayed. +
      +
    1. Clicking it will reveal the full list of note paths and a button to place + it somewhere else.
    2. +
    +
  6. +
  7. If a note has attachments, their number will be displayed. +
      +
    1. Clicking on it will reveal the list of attachments in a new tab.
    2. +
    +
  8. +
  9. If a note is linked from other text notes (backlinks), the number of backlinks + will be displayed. +
      +
    1. Clicking on it will show the list of notes that link to this note, as + well as an excerpt of where the note is referenced.
    2. +
    +
  10. +
+

Regardless of note type, the following items will always be displayed + if there is a note:

+
    +
  1. Note info, which displays: +
      +
    1. The creation/modification date of the note.
    2. +
    3. The type and MIME of the note.
    4. +
    5. The note ID.
    6. +
    7. An estimation of the note size of the note itself and its children.
    8. +
    9. A button to show Similar notes.
    10. +
    +
  2. +
\ No newline at end of file diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout_image.png b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout_image.png new file mode 100644 index 0000000000000000000000000000000000000000..12f5e0d5f0a5e4470faf5ab5ae73473d2c2834a6 GIT binary patch literal 10183 zcmc(FbyQaE*X9u5%S{?gmLoML`4w5kb0sNH++mh;)cF3P?*! z`R#-6%$h&GKW5FES@SHGJi_5T_r34EuYFzDKGAA-6$tTY@el+d{6|q%13@su;JqI% zHvEe<7g+`0&bv$hqlF8v09?z5@P8T)IXw?eXKN2{GdC;5#>v^y>ZZGeo0XN5yREaw z24=H3T*QH1B;#gf=3(dT#H?lKXoaZQG4tGFwzRTf=H=!UVCE4L=D95_aGRNfo0pqA z@p_B^f-och$VzGXyj+{~)k_+l!`a+uDdQp%;U)XPo@T35^PuKxngN^D+Y!&{HJxYG zLHRklrMiO|@3<=qM-_P8U%S0N?<#d(?y{>KW%5{SM7mk(G?VDIu{;U(^K%YOuNG%( ze|_=oy}jWQupY1|wsD)a){qm2^z3Cvk-oQ%{C!_37AeJg_PY6=TTvE$Wk*nBM?XYg z??~F2&n`=(G^f6NcGZA1LD<<mt|A#lr9u{;MLktWIo~Nef zA6qy%CG@{hc$1fx*H}Moj;`E!<1WeBM^r{BJYsD9^a-!3s>;RNJJ`B5DT&T%qk0WKu5^2Pf$!HQ&z-G3YfnQ@54YAZ!F9gVZ1GEa?~Q89 zk7N$tstAwv)?^+rin;8q-XoylJ+GP}YS%thK$RQ)zp*dj%r^>;vYe-z^vX=n6%-bp zLoQsnu(`kA6@KC3zS2fUxz*m!h*v?Sk9;@_aE<6KJV{`Eyv!&3KF97LU1<4BuGk2i+sv|LoE55>Ay#@Y%0r2>fqoI zKE1ZOiXadWb_PwX>SxSnn_UjMn;{yVF5=zR)rAv=LyV0C9IaI^jTF<}xN)P*wx1Pg z`Hxk1W^OJTP_y4#KiEfm|4o3QbG7yL7W19)N?qu+e!KQL7JhzydQ}ehDpnTx)z9wF z`oH9hkV?|ud@O@1%lxpv*XIDKOm$`S31{SWS zp)ruPEh8<>?YXQauwUS~`Q>lA+1@ZecNO?A;u6LPAabaH`S2 zu+iz?i(&)`!~Xf_A0eMj=DE2!{;6k=9ubFzhR)2+zW!D9_s}wKIZ|TpuTRE8wpYn% zDzT}gg{Sh_RQcBbg#(7v&URCKd-kT^3omrUE{^HLdh}{sSPTsf$BT*oy(U_|-4yb; z%4ssDpnzRP;5Bc#UfhrFl=j}<(#Cq}v#W;I`6;p6+uBIz>5HNZ46II%e^ZP3dH8#W zoh>BK$j)-`cLMGCbId|Q)MjR8YmDr=DedCI4MoI1E*}&m4pjnQ z5ZV&M+N=TJ*RNl<`PzJW*>B5qhH{Gj`2qxQ-@Y|p87W>a(y%}mH#9UPXjfQQN9(@$ zMb6XH^Tj)bziT6}jBIso`u$es2IU)c3jy0bw;V@|0|G>w4wnlB??1Bdc>msXcX{~W zc)RyoJ;&K!F~p3w%|N`rc^*A{28Y!N?**n3UcY8RW-5Bc+fR=61*RBJRF#zpMvCsW z|E)SNHbF>KRFwXa z#%P+r{W7OXVRA}J^Vzltp`hcM&hfLzuxdo;x6QPM;b?PmBrBD>{ZR7wIUvWNG77t6 zC^Bhge8eQ7^ZO-$#N42&#IRy8BFUO)I$WUb^XFvWb?*HIdQl$|DJd!1`;Yz}!S&({ zwzS8OLuzV-lDoMKs+29HNDxsmF`oM)Mb_yTsi>mD!_O1$;zI3qL4E?36C;%yQtoZb zgE6tOzjjAWELuX&l~qfSB05t+M~*@wBJF*BBzN!LeJ`=Kc>)hTe0+RbK77C(85yA#bf69m3sb*$FMmMbBHDz+xby>U;2fT^rwDL!leEbL zoRt{WkBl!QHym$u_x1Nn^=62@2wea8^lE>-w{zv5f)v|RsT-6Q&}XQ5Eph)-QSqx^ zfyoTut*2yVq34Cq?yzp+vuAHTL~q}w`S|hUSmk}Hky4XK6dXFZr7AClNN+h$K`NcM zwI&ravu_gmg&>DJdzJczMYZ6BEa(9O)96B#5qF&84iALNj}){~bGlwY4>?prFo= zt;54ZI29zMp+OXqs!5<{)P1Jq95pR19)1cfqPhd1;6dpHEZv@cVNo1g#v?#gJn=ZX%Bd2b$x zOXuEA=Z3UFDreVT{W-o0dF6U~>`TBTZkRuniy5e=M@`9PT;y>B)^25GB^}tKuAvcH z>%Q3b^(zfi&;iTg-dgP3ocT);Zz4KD2T3@>x2mraUfgn)W>02MKl*C(%4}`C5(#;L ziDUlp$(7BmEopUiQmCggSj6$~#aBQQTbP26&rwlPp?eIRtn=j1DKWf&wDBNH7T=$$ zij#)Ud~tuhLBi(&>S$h^gjE2v8=J@xv4}e{N zp)S|K@84#C4i6I&A}cEeAo4u^dk(XP9Vr+weYu5&1{=?_;^XOVVdPEHT1__vQi}%& zO-xM8tgOWLO8lYk@9*d4;gQnNcrxDHa>iBcxr*_^QaFt?bR~qtt7;fII5-@p8fYZf zl6r$rR!rE_QxX#&pxKFRu2oOBefm^jOvAvy;4t09Ko)(zqod;hNE3dh*X{@qyK{L= zJIio`FD#@=8h~8ym%{ zoTrHx(hu8*ySwi!d0Sd$EA=u74t4gumMJ%F4aM&E@%P8~rt)4LdytlvX8mvelU525 zP?D32dLQ8lUV+lZ!os3;w&{$cq2@6^kC;MAC<20Sz3l5#gO-vBc-zL%5c&N1bJNey zd61C7Tvhxo3YPVeVuKp*jSQFLQXLV)Ku*hKWWkXcF3p3P0vx=W{it9HI5AV7i8 z8il{*IXyk?4Jh{CUq|e78Afx)N-Vd&e{5srCrlOgWG5gXKoErldOIDc;|A!)@y|4i zP7gO{W#Tyn&-&4jjy^s13xAvi-+rA@3VM11U|U*RTBguxRi5dFmlqY?$kFDZI|Kwh zhvdjvM-nq}imvGFuV>CR!;SNInxXAV({zxlN6QY_k~k{Mc=J*KQ$(&w4C-oWg&!XW zAhvF1)E6&a^zrpQC)pU`NvmmSc;g*pT7&%bVBL|LVD4Gd&PpigFjFf({BELRV3bl= z$Z@*y=ag7-ZKw0k@uEaLEausQ&(`1KMV-B{m?b!4}O?u z_wn90XT-kxS>NE`eJ=?F7au3TV11Xp&D?_AYHMpt%jwN+tCfPIrZYA#Rtmcx92^|} z`iSVw&C->2VhQr9)&r;+H8nNF$Y>I~TVG!v1M%BmkN@;ZDLE*kDJ%1VLP}B!c2Bx)KER7h@*bpQU6Vixq%8Q)sl4um_?VbB05O2O2|teFzsL0mj%$T;ub=XBPY+9?BJGKK z7sHFHCeBQ+J2?4TF==VEMf#Nmt-K{AC1|TgOn(mK)CB(t3j5);F%=*D=V*GY(f^i% zqvJ|ri5?+8^aGpT3@kMX0(PBCV(tqB0O`oPHFEU`EPP5yU0tfw)KtAXkNkn4cs%co zsSa2u0RmVr3HmU}Sa*V(l_}Y$W?vS`9At$VsdhXs`&5hRyWPuyB+(}!P7JMxf(Vxp!{yGCg(n9`~9w^ zMRIk#5+9kFpU2GC8h_cX{(`IN00X!o=xI4i%gd~nF0CZPvE#$dXP1}tH!4Fy5RbKS z3OhSHZ~=IL2@qs@#ZlAIVImNB>`X72-_R6s4eW-j93A6d1sz_18)gY}o$=ee$#*_! zc@QY!qhHFNxj~;Sd9!nJuAhiD9@=<%R+5b(FXYE^c>$ZxDitF;w^@iOM0~ZgE@RAZv4^PkJCT^10 z4qPIl&fnXMJdWf1C|w;JqfQt0l!oIkx9*{xX!NI&i6pRlQ^G;L#!p=zB!RFFE6jfjZ)g#*(n3*vh#BgC*&}Uxlepl?r%36(HB)20!Ii0=kn^Er^4RrMg7c6 z3k%r5BPxgg6>jR4_L^dFR+q0{tzI$&_5hqs@LtJlUI76Cd*V!tn5&RBUcEMo3s#SXpHlyS=?V7*zdp zd*o8w?Cb>{o}za^XwLxM-ShiaTZ(^F8o9hqsuwh|i+h-e}g(@pS@p4M{kK$rWAfyjtV>K0m$0ILYGct(aXh9)a9Bj^(m6i1=`Y*fv9Jpdw z??qT))9dtf54209N$?2;pqgH-+ZAAc<&YcL-GB*{;^N{;U0d7R$)8q!{%nN=ZE9)) ztV-!Tgqy}ce29zQ29|DA@6`b$zAs<%>T6{k9m=-0w#UiISnlrb=g*(d1jJ<@WqJCs zEa>FW&+!rcZ8C_bgZ3W?UgFcIVREsQt>fc$Q!55l4pIQ5;>Vlq){`Bjh3k5C!GFXP z=x>MKc3)^28X`wrfRW0|%S!`LcR#z?4yI6lt-B2YonX=MT4lsY!X&grdWj&zgGo?t zAeuqcM!tFT29^uN1ZticNK{>2-R9n2=R?v<%#?pN{*dX5cs+gcWD|gP=)V7#m$zR& zQ3Y)ym3M`}&&S7fAp0L7znwhcg8Q1##6p3bjj!~4_|O6(9KP^r`G>}-w8EC%rT#8N45uni^`*lVPc; zH1cuO58l1wr@!rX9uOI9QQiE6tSnX}q`6t*#?70_CE7-07ccU7EUD#KfGQ*z*GajX zF8tb{+Nlk%71YrIC~_XZ9a|JKCD-;i8BV&%usjncrNXdVCno5xT)9%?I*+}#`ZX*w zlNlO`ef9lEm)z!B`#*@ud(}g2I56yH?nS?hs zHjW=LGBFV|F)_tKwxJ9x?D1og?A+Y>2r6Sq5ThWaLGTf2YHA)F9->(WUw&^76@zfM$1F_N?j0R`FPrh zxHtl&lIatAG~lvaVr9jcnws+Yk*w>oF(r0JuiL?i(XYrx~A?jH|ZESK8-rM}lS0l#?xeb~ZVhlaGmqoOWJNH76Q1^1ll(0G3rHtexHbRi6zu#dL3I4;VN&IOwzhdFQqo(_s!6MBu--DrIk9!0rAzznqSa zF829z>ZGKkmM>q3-pI$>yAJ8bzxD|?G_ufj4Fa37;&cr- zulhIJ;Sn-bcURZetsmXP_i{RKm^9G?PovEjxq20cEL!&9Z8K-SR)NQ2WV}ab#w$Blcl@dHW51>9m zi@oD$qnQ{7CyH&Q8~TQ-#7Veuqo3LOM6HX9i>(K-f?OaYBja;E8=}MAl_;=)*&`yM z;-R3;4|jf|?#+{@PhEk6VXqV(1x!}FfBzo1boJD>jtXgP2i!x_$%!*$ytx|y8^q&- zQDc8Xh@_Cm5(&6;T@MQ0SxQv$B&VX1xlG2w&rc5SEs$oqv)exK4*y00hJl6_vTVkQVQQ!9WE!QroJ|jY*OVw zGvzZM?`QSScU4$eSo$(qzNitr_^0kjNcS>uP#>dZkVl78dYhDH9VW zNymd`uQgg=M8W1`& z?hkxCJeOZ{a!?m|KgjWa=;`Zc0s8rD&Pc^list9#wG0>Pq9$fC=yo`ti2Kpe(GMab zu-H^H2!KX;tc(zXWe2n*EG2~s$cw41?L+7iK(Df(>jU3V%b(27zHHbOKm(3c6bQpU z?+zR%td0%dROK9DC;}i!h`+x-O6>l%IpK%24HoybwIjs*_n5i3h$S5nKR>*sLBG9K zAXB&vTc0?Pw1}`J^Gk`~ralQ39>_@X_xV}t z)hl1WepOUeRRF)sr3mb(nmd=sqG2u=6-&j%3iS%VM(kx;2AQU`^10w+fyF8<3JD3# zfKn&i6A%%pH}(YvZrB`T^iywAjx{bmJ|aj^7bXtS!4CH~rn9zJu(!e5o0)Bo(yR9> z-mEj^q&iGXPbbXRV!z>nA&JWx{}E~$em%RsUP4X_4)RK%i_Y=s&h+vHOZQOX=Meao+?$Sn<%TGVDbG!qEfJd zXWXRv8~N+W?rv^vpm-iXewClJfHMjdEljN#0BE^>u{x%L#)>Z7-|u3e&#`=(~NCVLgd)DZ=?9!c&e&KT2}0D9y~aQrqX;T zA;1lciQ2($23t@i!(iXJG@*Ql-;tsI=g*&yyML5bRA6Ru&M8wM2o5FsEI?}c3m6Il zC2H;J%AHDARf#i_k&ywY76ty<5s2!zU5ypKFxBnt?e@-ix|Kk>=@D>N%iz-lFN8|2 z75G7PgaQxW4Y)#U13i7gTZ7iz#wH5LAlzm)7pn1~&kwX^95oMyOcar}zNqxv(lam^J^E&2X^9(rw2+YV)^=sAxS&89oB?GOm59YOI=Xt`#oV`U zDL`{pQ?RnS0&@&bQTKy)kh$n^3)V!yUE^e%Mn>6o)n~9PVJ5ljGn55Zn-_C*0yfjhE2UGFKNlB=KI`;MJER^g4 zINoZ8hH=o{rBqdkA(OySmIm!;W@?JuzrP~C!Ux-e(a?9d+W-xTFqH$erKYCNRDC7B zThcu+Kn4sBz>=Gnw+)^Ka9N+YeI6UTZD8O(t@r&lXU@UIZD{30y z_$oNEw$}IQApM;?cU*sOSpkVbMGn|0z>*1ov0+O{NSLMN0G;WGr2-2FOH51*Ad2DY z-IwTDWoujqYZ2N^I1tpOy_ zI3@{3=nEja)b3W$@TsLGMIR1=a9BEh>pt6VPd0n z4uEaY#~*Y#i2Z>Nky{0im2!N*L39O!8lIWJ)7$_CKRm8mbyPex` z84L{(5Y@`B#2J7)LTsZz^Rg*F4*}|!Zx{ug%h-QS0NvtM)eQ2fjmUMp>d1ryBEOxb z2avfoPPWrPV6=2}SVct*$Mnq?KBu-xbN4XZQL$T|ZZol4&5#IYL`*F$!y#kQIjK_b zrhtGKI9DL?NWtwqIPd|Gw*aO~c=zI$&!5RDzXAoCdG*Xr@+

    -
  • The Note Revisions button displays the Note Revisions for +
  • The Note Revisions button displays the Note Revisions for that particular note.
  • -
  • The contextual menu offers commands for the note or its subtree, such +
  • The contextual menu offers commands for the note or its subtree, such as import, export, viewing the Note source code or  Attachments.
  • -
\ No newline at end of file + +

On the New Layout, + the button area is populated by some more buttons that are specific to + the current note. For example, for Image and File notes, + the download and copy buttons were relocated there.

\ No newline at end of file diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Collections/Kanban Board.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Collections/Kanban Board.html index c2696105a..30acffb59 100644 --- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Collections/Kanban Board.html +++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Collections/Kanban Board.html @@ -7,98 +7,94 @@ adjusted.

How it works

When first creating a collection of Board type, a few subnotes - will be created, each having a #status label - set. The board then groups each note by the value of the status attribute.

+ will be created, each having a #status label set. The board + then groups each note by the value of the status attribute.

Notes are displayed recursively, so even the child notes of the child notes will be displayed. However, unlike the Table, the notes are not displayed in a hierarchy.

Interaction

Working with columns

    -
  • Create a new column by pressing Add Column near the last column. +
  • Create a new column by pressing Add Column near the last column.
      -
    • Once pressed, a text box will be displayed to set the name of the column. +
    • Once pressed, a text box will be displayed to set the name of the column. Press Enter to confirm, or Escape to dismiss.
  • -
  • To reorder a column, simply hold the mouse over the title and drag it +
  • To reorder a column, simply hold the mouse over the title and drag it to the desired position.
  • -
  • To delete a column, right click on its title and select Delete column.
  • -
  • To rename a column, click on the note title. +
  • To delete a column, right click on its title and select Delete column.
  • +
  • To rename a column, click on the note title.
      -
    • Press Enter to confirm.
    • -
    • Upon renaming a column, the corresponding status attribute of all its +
    • Press Enter to confirm.
    • +
    • Upon renaming a column, the corresponding status attribute of all its notes will be changed in bulk.
    -
  • -
  • If there are many columns, use the mouse wheel to scroll.
  • + +
  • If there are many columns, use the mouse wheel to scroll.

Working with notes

    -
  • Create a new note in any column by pressing New item +
  • Create a new note in any column by pressing New item
      -
    • Enter the name of the note and press Enter or click away. To +
    • Enter the name of the note and press Enter or click away. To dismiss the creation of a new note, simply press Escape or leave the name empty.
    • -
    • Once created, the new note will have an attribute (status label +
    • Once created, the new note will have an attribute (status label by default) set to the name of the column.
  • -
  • To open the note, simply click on it.
  • -
  • To change the title of the note directly from the board, hover the mouse +
  • To open the note, simply click on it.
  • +
  • To change the title of the note directly from the board, hover the mouse over its card and press the edit button on the right.
  • -
  • To change the state of a note, simply drag a note from one column to the +
  • To change the state of a note, simply drag a note from one column to the other to change its state.
  • -
  • The order of the notes in each column corresponds to their position in +
  • The order of the notes in each column corresponds to their position in the tree.
      -
    • It's possible to reorder notes simply by dragging them to the desired +
    • It's possible to reorder notes simply by dragging them to the desired position within the same columns.
    • -
    • It's also possible to drag notes across columns, at the desired position.
    • +
    • It's also possible to drag notes across columns, at the desired position.
  • -
  • For more options, right click on a note to display a context menu with +
  • For more options, right click on a note to display a context menu with the following options:
      -
    • Open the note in a new tab/split/window or quick edit.
    • -
    • Move the note to any column.
    • -
    • Insert a new note above/below the current one.
    • -
    • Archive/unarchive the current note.
    • -
    • Delete the current note.
    • +
    • Open the note in a new tab/split/window or quick edit.
    • +
    • Move the note to any column.
    • +
    • Insert a new note above/below the current one.
    • +
    • Archive/unarchive the current note.
    • +
    • Delete the current note.
  • -
  • If there are many notes within the column, move the mouse over the column +
  • If there are many notes within the column, move the mouse over the column and use the mouse wheel to scroll.

Working with the note tree

It's also possible to add items on the board using the Note Tree.

    -
  1. Select the desired note in the Note Tree.
  2. -
  3. Hold the mouse on the note and drag it to the to the desired column.
  4. +
  5. Select the desired note in the Note Tree.
  6. +
  7. Hold the mouse on the note and drag it to the to the desired column.

This works for:

    -
  • Notes that are not children of the board, case in which a clone will +
  • Notes that are not children of the board, case in which a clone will be created.
  • -
  • Notes that are children of the board, but not yet assigned on the board.
  • -
  • Notes that are children of the board, case in which they will be moved +
  • Notes that are children of the board, but not yet assigned on the board.
  • +
  • Notes that are children of the board, case in which they will be moved to the new column.

Keyboard interaction

The board view has mild support for keyboard-based navigation:

    -
  • Use Tab and Shift+Tab to navigate between +
  • Use Tab and Shift+Tab to navigate between column titles, notes and the “New item” button for each of the columns, in sequential order.
  • -
  • To rename a column or a note, press F2 while it is focused.
  • -
  • To open a specific note or create a new item, press Enter while +
  • To rename a column or a note, press F2 while it is focused.
  • +
  • To open a specific note or create a new item, press Enter while it is focused.
  • -
  • To dismiss a rename of a note or a column, press Escape.
  • +
  • To dismiss a rename of a note or a column, press Escape.

Configuration

Displaying custom attributes

@@ -112,37 +108,33 @@ href="#root/_help_OFXdgB2nNk1F">Promoted Attributes). The easiest way to add these is:

    -
  1. Go to board note.
  2. -
  3. In the ribbon select Owned Attributes → plus button → Add new label/relation definition.
  4. -
  5. Configure the attribute as desired.
  6. -
  7. Check Inheritable to make it applicable to child notes automatically.
  8. +
  9. Go to board note.
  10. +
  11. In the ribbon select Owned Attributes → plus button → Add new label/relation definition.
  12. +
  13. Configure the attribute as desired.
  14. +
  15. Check Inheritable to make it applicable to child notes automatically.

After creating the attribute, click on a note and fill in the promoted attributes which should then reflect inside the board.

Of note:

    -
  • Both promoted and non-promoted attribute definitions are supported. The +
  • Both promoted and non-promoted attribute definitions are supported. The only difference is that non-promoted attributes don't have an “Alias” for assigning a custom name.
  • -
  • Both “Single value” and “Multi value” attributes are supported. In case +
  • Both “Single value” and “Multi value” attributes are supported. In case of multi-value, a badge is displayed for every instance of the attribute.
  • -
  • All label types are supported, including dates, booleans and URLs.
  • -
  • Relation attributes are also supported as well, showing a link with the - target note title and icon.
  • -
  • Currently, it's not possible to adjust which promoted attributes are displayed, - since all promoted attributes will be displayed (except the board:groupBy one). - There are plans to improve upon this being able to hide promoted attributes - individually.
  • +
  • All label types are supported, including dates, booleans and URLs.
  • +
  • Relation attributes are also supported as well, showing a link with the + target note title and icon.
  • +
  • Currently, it's not possible to adjust which promoted attributes are displayed, + since all promoted attributes will be displayed (except the board:groupBy one). + There are plans to improve upon this being able to hide promoted attributes + individually.

Grouping by another label

-

By default, the label used to group the notes is #status. - It is possible to use a different label if needed by defining a label named - #board:groupBywith the value being the attribute to use (with or - without # attribute prefix).

+

By default, the label used to group the notes is #status. + It is possible to use a different label if needed by defining a label named #board:groupBy with + the value being the attribute to use (with or without # attribute + prefix).

Grouping by relations

A more advanced use-case is grouping by Relations.

During this mode:

    -
  • The columns represent the target notes of a relation.
  • -
  • When creating a new column, a note is selected instead of a column name.
  • -
  • The column icon will match the target note.
  • -
  • Moving notes between columns will change its relation.
  • -
  • Renaming an existing column will change the target note of all the notes - in that column.
  • +
  • The columns represent the target notes of a relation.
  • +
  • When creating a new column, a note is selected instead of a column name.
  • +
  • The column icon will match the target note.
  • +
  • Moving notes between columns will change its relation.
  • +
  • Renaming an existing column will change the target note of all the notes + in that column.

Using relations instead of labels has some benefits:

    -
  • The status/grouping of the notes is visible outside the Kanban board, +
  • The status/grouping of the notes is visible outside the Kanban board, for example on the Note Map.
  • -
  • Columns can have icons.
  • -
  • Renaming columns is less intensive since it simply involves changing the - note title of the target note instead of having to do a bulk rename.
  • +
  • Columns can have icons.
  • +
  • Renaming columns is less intensive since it simply involves changing the + note title of the target note instead of having to do a bulk rename.

To do so:

    -
  1. First, create a Kanban board from scratch and not a template:
  2. -
  3. Assign #viewType=board #hidePromotedAttributes to - emulate the default template.
  4. -
  5. Set #board:groupBy to the name of a relation - to group by, including the ~ prefix (e.g. - ~status).
  6. -
  7. -

    Optionally, use Promoted Attributes for - easy status change within the note:

    #relation:status(inheritable)="promoted,alias=Status,single"
    -
  8. +
  9. +

    First, create a Kanban board from scratch and not a template:

    +
  10. +
  11. +

    Assign #viewType=board #hidePromotedAttributes to emulate the + default template.

    +
  12. +
  13. +

    Set #board:groupBy to the name of a relation to group by, including the ~ prefix (e.g. ~status).

    +
  14. +
  15. +

    Optionally, use Promoted Attributes for + easy status change within the note:

    #relation:status(inheritable)="promoted,alias=Status,single"
    +
\ No newline at end of file diff --git a/docs/Developer Guide/Developer Guide/Documentation.md b/docs/Developer Guide/Developer Guide/Documentation.md index 6dca18485..8f16c43a3 100644 --- a/docs/Developer Guide/Developer Guide/Documentation.md +++ b/docs/Developer Guide/Developer Guide/Documentation.md @@ -1,5 +1,5 @@ # Documentation -There are multiple types of documentation for Trilium: +There are multiple types of documentation for Trilium: * The _User Guide_ represents the user-facing documentation. This documentation can be browsed by users directly from within Trilium, by pressing F1. * The _Developer's Guide_ represents a set of Markdown documents that present the internals of Trilium, for developers. diff --git a/docs/User Guide/!!!meta.json b/docs/User Guide/!!!meta.json index d846c6d27..2e16e2add 100644 --- a/docs/User Guide/!!!meta.json +++ b/docs/User Guide/!!!meta.json @@ -2851,6 +2851,20 @@ "value": "note-buttons", "isInheritable": false, "position": 60 + }, + { + "type": "relation", + "name": "internalLink", + "value": "IjZS7iK5EXtb", + "isInheritable": false, + "position": 70 + }, + { + "type": "relation", + "name": "internalLink", + "value": "W8vYD3Q1zjCR", + "isInheritable": false, + "position": 80 } ], "format": "markdown", @@ -3436,6 +3450,286 @@ "dataFileName": "Note Tooltip_image.png" } ] + }, + { + "isClone": false, + "noteId": "IjZS7iK5EXtb", + "notePath": [ + "pOsGYCXsbNQG", + "gh7bpGYxajRS", + "Vc8PjrjAGuOp", + "IjZS7iK5EXtb" + ], + "title": "New Layout", + "notePosition": 220, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "label", + "name": "iconClass", + "value": "bx bx-layout", + "isInheritable": false, + "position": 30 + }, + { + "type": "relation", + "name": "internalLink", + "value": "4TIF1oA4VQRO", + "isInheritable": false, + "position": 40 + }, + { + "type": "relation", + "name": "internalLink", + "value": "iPIMuisry3hd", + "isInheritable": false, + "position": 50 + }, + { + "type": "relation", + "name": "internalLink", + "value": "6f9hih2hXXZk", + "isInheritable": false, + "position": 60 + }, + { + "type": "relation", + "name": "internalLink", + "value": "KC1HB96bqqHX", + "isInheritable": false, + "position": 70 + }, + { + "type": "relation", + "name": "internalLink", + "value": "8YBEPzcpUgxw", + "isInheritable": false, + "position": 80 + }, + { + "type": "relation", + "name": "internalLink", + "value": "grjYqerjn243", + "isInheritable": false, + "position": 90 + }, + { + "type": "relation", + "name": "internalLink", + "value": "XpOYSgsLkTJy", + "isInheritable": false, + "position": 100 + }, + { + "type": "relation", + "name": "internalLink", + "value": "cbkrhQjrkKrh", + "isInheritable": false, + "position": 110 + }, + { + "type": "relation", + "name": "internalLink", + "value": "MtPxeAWVAzMg", + "isInheritable": false, + "position": 120 + }, + { + "type": "relation", + "name": "internalLink", + "value": "CdNpE2pqjmI6", + "isInheritable": false, + "position": 140 + }, + { + "type": "relation", + "name": "internalLink", + "value": "YKWqdJhzi2VY", + "isInheritable": false, + "position": 150 + }, + { + "type": "relation", + "name": "internalLink", + "value": "veGu4faJErEM", + "isInheritable": false, + "position": 160 + }, + { + "type": "relation", + "name": "internalLink", + "value": "zEY4DaJG4YT5", + "isInheritable": false, + "position": 170 + }, + { + "type": "relation", + "name": "internalLink", + "value": "AlJ73vBCjWDw", + "isInheritable": false, + "position": 180 + }, + { + "type": "relation", + "name": "internalLink", + "value": "l0tKav7yLHGF", + "isInheritable": false, + "position": 190 + }, + { + "type": "relation", + "name": "internalLink", + "value": "eIg8jdvaoNNd", + "isInheritable": false, + "position": 200 + }, + { + "type": "relation", + "name": "internalLink", + "value": "m523cpzocqaD", + "isInheritable": false, + "position": 210 + } + ], + "format": "markdown", + "dataFileName": "New Layout.md", + "attachments": [ + { + "attachmentId": "3DFGaMiTTHQ1", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "New Layout_image.png" + }, + { + "attachmentId": "6iN5nrmdwG6z", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "1_New Layout_image.png" + }, + { + "attachmentId": "KvNAEoJjRhyr", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "2_New Layout_image.png" + }, + { + "attachmentId": "lEKxf6dYMG6u", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "3_New Layout_image.png" + }, + { + "attachmentId": "SYOTVGCyx749", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "4_New Layout_image.png" + }, + { + "attachmentId": "wCwzwfGspejR", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "5_New Layout_image.png" + } + ], + "dirFileName": "New Layout", + "children": [ + { + "isClone": false, + "noteId": "I6p2a06hdnL6", + "notePath": [ + "pOsGYCXsbNQG", + "gh7bpGYxajRS", + "Vc8PjrjAGuOp", + "IjZS7iK5EXtb", + "I6p2a06hdnL6" + ], + "title": "Breadcrumb", + "notePosition": 10, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "AlJ73vBCjWDw", + "isInheritable": false, + "position": 30 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-chevron-right", + "isInheritable": false, + "position": 40 + } + ], + "format": "markdown", + "dataFileName": "Breadcrumb.md", + "attachments": [ + { + "attachmentId": "CjYmaJD0L1D4", + "title": "image.png", + "role": "image", + "mime": "image/png", + "position": 10, + "dataFileName": "Breadcrumb_image.png" + } + ] + }, + { + "isClone": false, + "noteId": "AlJ73vBCjWDw", + "notePath": [ + "pOsGYCXsbNQG", + "gh7bpGYxajRS", + "Vc8PjrjAGuOp", + "IjZS7iK5EXtb", + "AlJ73vBCjWDw" + ], + "title": "Status bar", + "notePosition": 20, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "I6p2a06hdnL6", + "isInheritable": false, + "position": 30 + }, + { + "type": "label", + "name": "iconClass", + "value": "bx bx-dock-bottom", + "isInheritable": false, + "position": 40 + } + ], + "format": "markdown", + "dataFileName": "Status bar.md", + "attachments": [] + } + ] } ] }, diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/1_New Layout_image.png b/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/1_New Layout_image.png new file mode 100644 index 0000000000000000000000000000000000000000..c9a85f777338c42c4f31f7268ebd650fea5e1ad1 GIT binary patch literal 21557 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 MikfG#<&AIsFNP9jiU0rr literal 0 HcmV?d00001 diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/2_New Layout_image.png b/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/2_New Layout_image.png new file mode 100644 index 0000000000000000000000000000000000000000..10676a08ef7008a837f000e98f7ce06fb32c0b10 GIT binary patch literal 10292 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 literal 0 HcmV?d00001 diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/3_New Layout_image.png b/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/3_New Layout_image.png new file mode 100644 index 0000000000000000000000000000000000000000..b4452f695280e4f0feb9deca13302bd2e76a8818 GIT binary patch literal 3835 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 m|MU~#fBV4r|7s}qw>Aui;%y0xo+SeGYHnrd< literal 0 HcmV?d00001 diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/4_New Layout_image.png b/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/4_New Layout_image.png new file mode 100644 index 0000000000000000000000000000000000000000..4a2f36ae2ecc5de8f27527172960e336c54504d9 GIT binary patch literal 7397 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. + +For more information, consult the [dedicated page](New%20Layout/Status%20bar.md). + +
+ +### Inline title + +In previous versions of Trilium, the title bar was fixed at all times. In the new layout, there is both a fixed title bar and one that scrolls with the text. The newly introduced title is called the _Inline title_ and it displays the title in a larger font, while also displaying additional information such as the creation and the modification date. + +Whenever the title is scrolled past, the fixed title is shown instead. + +This only affects Text and Code notes. Note types that take the entirety of the screen such as Canvas will always have only the fixed title bar. + +Depending on the note type, the inline title will also present some more interactive options such as being able to switch the note type (see below). + +
The Inline title, which is displayed at the top of the note and can be scrolled past.
The fixed title bar. The title only appears after scrolling past the Inline title.
+ +### New note type switcher + +When a new Text or Code note is created, a note type switcher will appear below the _Inline title_. Apart from changing the note type, it's also possible to apply a [template](../../Advanced%20Usage/Templates.md). + +The switcher will disappear as soon as a text is entered. + + + +### Note badges + +Note badges appear near the fixed note title and indicate important information about the note such as whether it is read-only. Some of the badges are also interactive. + +
+ +The following badges are available: + +* **Read-only badge**, which will be shown if the note is not editable due to either automatic read-only or manual read-only. Clicking on the badge will temporarily edit the note (similar to the Edit [floating button](Floating%20buttons.md)). +* **Share badge**, which will indicate that the current note is shared. The badge will also indicate if the share is on the local network (for the desktop application without Synchronization set up) or publicly accessible (for the server). +* **Web clip badge**, which will indicate if the note was clipped using the Web Clipper. The badge acts as a link, so it can be clicked on to navigate to the page or right clicked for more options. +* **Execute badge**, for [scripts](../../Scripting.md) or [saved SQL queries](../../Advanced%20Usage/Database/Manually%20altering%20the%20database/SQL%20Console.md) which have an execute button or a description. + +Some of these badges replace the dedicated panels at the top of the note. + +### Collapsible sections + +
+ +The following sections have been made collapsible: + +* _Promoted Attributes_ + * For full-height notes such as Canvas, the promoted attributes are collapsed by default to make room. + * The keyboard shortcut previously used to trigger the promoted attributes ribbon tab (which was no longer working) has been repurposed to toggle the promoted attributes instead. +* _Edited Notes_, which appears for Day Notes is now shown underneath the title. + * Whether the section is collapsed or not depends on the choice in Options → Appearance. +* _Search Properties_, which appears for the full Search and Saved Search. + +## Changing to the existing layout + +### Removal of the ribbon + +The most significant change is the removal of the ribbon. All the actions and options from the ribbon were integrated in other places in the application. + +Here's how all the different tabs that were once part of the ribbon are now available in the new layout: + +* “Formatting toolbar” was relocated to the top of the page. + * Instead of having one per split, now there is a single formatting toolbar per tab. This allows more space for the toolbar items. +* “Owned attributes” and “Inherited attributes” were merged and moved to the status bar region (displayed one above the other). +* “Basic Properties” were integrated in the Note buttons menu. + * The only exception here is the Language combo box which can now be found in the status bar (top-right of the screen). +* “File” and “Image” tabs + * The buttons were moved to the right of the note title, as dedicated entries in Note buttons. + * The info section has been merged into the _Note info_ section of the status bar. +* Edited notes + * Moved underneath the title, displayed under a collapsible area and the notes are represented as badges/chips. + * Whether the section is expanded or collapsed depends on the “Edited Notes ribbon tab will automatically open on day notes” setting from Options → Appearance. +* Search definition tab + * Moved underneath the title under a collapsible area. + * Expanded by default for new searches, collapsed for saved searches. +* The Note map is now available in the Note actions menu. + * Instead of opening into a panel in the ribbon, the note map now opens in a side split (similar to the in-app help). +* “Note info” tab was moved to a small (i) icon in the status bar. +* “Similar notes” tab + * Moved to the status bar, by going to the “Note info” section and pressing the button to show similar notes. + * Displayed as a fixed panel, similar to the attributes. +* The Collection properties tab were relocated under the note title and grouped into: + * A combo box to quickly switch between views. + * Individual settings for the current view in a submenu. +* Some smaller ribbon tabs were converted to badges that appear near the note title in the breadcrumb section: + * Original URL indicator for clipped web pages (`#pageUrl`). + * SQL and script execute buttons. + +> [!NOTE] +> The ribbon keyboard shortcuts (e.g. `toggleRibbonTabClassicEditor`) have been repurposed to work on the new layout, where they will toggle the appropriate panel. + +### Removal of the floating buttons + +Most of the buttons were relocated to the right of the note title, in the Note buttons area, with the exception of: + +* The Edit button is displayed near the note title, as a badge. +* _Backlinks_ is displayed in the status bar. When clicked, the same list of backlinks is displayed. +* Relation map zoom buttons are now part of the relation map itself. +* Export image to PNG/SVG are now in the Note actions menu, in the _Export as image_ option. + +## How to toggle the new layout + +Starting with v0.101.0, this new layout is enabled by default. It is possible to fall back to the old layout by going to Options → Appearance and selecting _Old layout_. + +> [!IMPORTANT] +> Since a new layout was introduced, this becomes the standard one. The _Old layout_ is considered deprecated and will not receive new features (for example, the breadcrumb) as we focus on the new one. At some point the old layout will be removed entirely, as maintaining two layouts with major differences creates a maintenance burden. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Breadcrumb.md b/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Breadcrumb.md new file mode 100644 index 000000000..fb27f092a --- /dev/null +++ b/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Breadcrumb.md @@ -0,0 +1,26 @@ +# Breadcrumb +
+ +The breadcrumb allows quickly viewing the note hierarchy of the current note and navigating through it. + +It is part of the Status bar, displayed in the bottom-left of the screen. + +## Layout and Interaction + +* If a note or workspace is hoisted, a badge will appear on the left-most side. + * Clicking on the badge will un-hoist the note/workspace. +* The left-most icon represents the root note, or the hoisted note or workspace. + * Clicking the icon will jump to the root note. + * Right clicking the icon will display a menu that allows opening the note in a new tab, split, etc. +* Each segment shows the title of a note in the current note hierarchy. + * Clicking the icon will jump to that note. + * Right clicking will open a menu with multiple options such as opening the note in a different tab/split/window, hoisting, moving/cloning the note, duplicating as well as changing the color of the note. +* Clicking the arrow next to each segment will reveal the child notes of the segment on the left. + * Clicking on an icon will navigate to that particular note. + * It's also possible to create a new child note from here. + * The menu can optionally hide the archived notes. +* If the current note is deep within a hierarchy, the segments will collapse into a \[…\] button in order not to occupy too much space. + * Clicking this button will display each collapsed entry as a menu item. Clicking on it will navigate to that particular note. +* Right clicking on an empty space to the right of the breadcrumb (before the other status bar items) will reveal another menu that allows: + * Toggling whether archived notes are displayed in the breadcrumb and in the note tree. + * Copying the current note path to clipboard. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Breadcrumb_image.png b/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout/Breadcrumb_image.png new file mode 100644 index 0000000000000000000000000000000000000000..4a2f36ae2ecc5de8f27527172960e336c54504d9 GIT binary patch literal 7397 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 is displayed which indicates the current note as well as its parent notes and allows for quick navigation throughout the hierarchy. + +On the right side, specific sections will show depending on the type of the current note. + +1. For code notes, the language mode of the note is indicated (e.g. JavaScript, plain text), as well as allowing easy switching to another mode. +2. For text notes, the content language is displayed and can be changed, thus configuring the spell-check and the right-to-left support. + 1. Note that this applies to the entire note and not the selection, unlike some text editors. +3. If a note is placed in multiple places in the tree (cloned), the number of the note paths will be displayed. + 1. Clicking it will reveal the full list of note paths and a button to place it somewhere else. +4. If a note has attachments, their number will be displayed. + 1. Clicking on it will reveal the list of attachments in a new tab. +5. If a note is linked from other text notes (backlinks), the number of backlinks will be displayed. + 1. Clicking on it will show the list of notes that link to this note, as well as an excerpt of where the note is referenced. + +Regardless of note type, the following items will always be displayed if there is a note: + +1. Note info, which displays: + 1. The creation/modification date of the note. + 2. The type and MIME of the note. + 3. The note ID. + 4. An estimation of the note size of the note itself and its children. + 5. A button to show Similar notes. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout_image.png b/docs/User Guide/User Guide/Basic Concepts and Features/UI Elements/New Layout_image.png new file mode 100644 index 0000000000000000000000000000000000000000..12f5e0d5f0a5e4470faf5ab5ae73473d2c2834a6 GIT binary patch literal 10183 zcmc(FbyQaE*X9u5%S{?gmLoML`4w5kb0sNH++mh;)cF3P?*! z`R#-6%$h&GKW5FES@SHGJi_5T_r34EuYFzDKGAA-6$tTY@el+d{6|q%13@su;JqI% zHvEe<7g+`0&bv$hqlF8v09?z5@P8T)IXw?eXKN2{GdC;5#>v^y>ZZGeo0XN5yREaw z24=H3T*QH1B;#gf=3(dT#H?lKXoaZQG4tGFwzRTf=H=!UVCE4L=D95_aGRNfo0pqA z@p_B^f-och$VzGXyj+{~)k_+l!`a+uDdQp%;U)XPo@T35^PuKxngN^D+Y!&{HJxYG zLHRklrMiO|@3<=qM-_P8U%S0N?<#d(?y{>KW%5{SM7mk(G?VDIu{;U(^K%YOuNG%( ze|_=oy}jWQupY1|wsD)a){qm2^z3Cvk-oQ%{C!_37AeJg_PY6=TTvE$Wk*nBM?XYg z??~F2&n`=(G^f6NcGZA1LD<<mt|A#lr9u{;MLktWIo~Nef zA6qy%CG@{hc$1fx*H}Moj;`E!<1WeBM^r{BJYsD9^a-!3s>;RNJJ`B5DT&T%qk0WKu5^2Pf$!HQ&z-G3YfnQ@54YAZ!F9gVZ1GEa?~Q89 zk7N$tstAwv)?^+rin;8q-XoylJ+GP}YS%thK$RQ)zp*dj%r^>;vYe-z^vX=n6%-bp zLoQsnu(`kA6@KC3zS2fUxz*m!h*v?Sk9;@_aE<6KJV{`Eyv!&3KF97LU1<4BuGk2i+sv|LoE55>Ay#@Y%0r2>fqoI zKE1ZOiXadWb_PwX>SxSnn_UjMn;{yVF5=zR)rAv=LyV0C9IaI^jTF<}xN)P*wx1Pg z`Hxk1W^OJTP_y4#KiEfm|4o3QbG7yL7W19)N?qu+e!KQL7JhzydQ}ehDpnTx)z9wF z`oH9hkV?|ud@O@1%lxpv*XIDKOm$`S31{SWS zp)ruPEh8<>?YXQauwUS~`Q>lA+1@ZecNO?A;u6LPAabaH`S2 zu+iz?i(&)`!~Xf_A0eMj=DE2!{;6k=9ubFzhR)2+zW!D9_s}wKIZ|TpuTRE8wpYn% zDzT}gg{Sh_RQcBbg#(7v&URCKd-kT^3omrUE{^HLdh}{sSPTsf$BT*oy(U_|-4yb; z%4ssDpnzRP;5Bc#UfhrFl=j}<(#Cq}v#W;I`6;p6+uBIz>5HNZ46II%e^ZP3dH8#W zoh>BK$j)-`cLMGCbId|Q)MjR8YmDr=DedCI4MoI1E*}&m4pjnQ z5ZV&M+N=TJ*RNl<`PzJW*>B5qhH{Gj`2qxQ-@Y|p87W>a(y%}mH#9UPXjfQQN9(@$ zMb6XH^Tj)bziT6}jBIso`u$es2IU)c3jy0bw;V@|0|G>w4wnlB??1Bdc>msXcX{~W zc)RyoJ;&K!F~p3w%|N`rc^*A{28Y!N?**n3UcY8RW-5Bc+fR=61*RBJRF#zpMvCsW z|E)SNHbF>KRFwXa z#%P+r{W7OXVRA}J^Vzltp`hcM&hfLzuxdo;x6QPM;b?PmBrBD>{ZR7wIUvWNG77t6 zC^Bhge8eQ7^ZO-$#N42&#IRy8BFUO)I$WUb^XFvWb?*HIdQl$|DJd!1`;Yz}!S&({ zwzS8OLuzV-lDoMKs+29HNDxsmF`oM)Mb_yTsi>mD!_O1$;zI3qL4E?36C;%yQtoZb zgE6tOzjjAWELuX&l~qfSB05t+M~*@wBJF*BBzN!LeJ`=Kc>)hTe0+RbK77C(85yA#bf69m3sb*$FMmMbBHDz+xby>U;2fT^rwDL!leEbL zoRt{WkBl!QHym$u_x1Nn^=62@2wea8^lE>-w{zv5f)v|RsT-6Q&}XQ5Eph)-QSqx^ zfyoTut*2yVq34Cq?yzp+vuAHTL~q}w`S|hUSmk}Hky4XK6dXFZr7AClNN+h$K`NcM zwI&ravu_gmg&>DJdzJczMYZ6BEa(9O)96B#5qF&84iALNj}){~bGlwY4>?prFo= zt;54ZI29zMp+OXqs!5<{)P1Jq95pR19)1cfqPhd1;6dpHEZv@cVNo1g#v?#gJn=ZX%Bd2b$x zOXuEA=Z3UFDreVT{W-o0dF6U~>`TBTZkRuniy5e=M@`9PT;y>B)^25GB^}tKuAvcH z>%Q3b^(zfi&;iTg-dgP3ocT);Zz4KD2T3@>x2mraUfgn)W>02MKl*C(%4}`C5(#;L ziDUlp$(7BmEopUiQmCggSj6$~#aBQQTbP26&rwlPp?eIRtn=j1DKWf&wDBNH7T=$$ zij#)Ud~tuhLBi(&>S$h^gjE2v8=J@xv4}e{N zp)S|K@84#C4i6I&A}cEeAo4u^dk(XP9Vr+weYu5&1{=?_;^XOVVdPEHT1__vQi}%& zO-xM8tgOWLO8lYk@9*d4;gQnNcrxDHa>iBcxr*_^QaFt?bR~qtt7;fII5-@p8fYZf zl6r$rR!rE_QxX#&pxKFRu2oOBefm^jOvAvy;4t09Ko)(zqod;hNE3dh*X{@qyK{L= zJIio`FD#@=8h~8ym%{ zoTrHx(hu8*ySwi!d0Sd$EA=u74t4gumMJ%F4aM&E@%P8~rt)4LdytlvX8mvelU525 zP?D32dLQ8lUV+lZ!os3;w&{$cq2@6^kC;MAC<20Sz3l5#gO-vBc-zL%5c&N1bJNey zd61C7Tvhxo3YPVeVuKp*jSQFLQXLV)Ku*hKWWkXcF3p3P0vx=W{it9HI5AV7i8 z8il{*IXyk?4Jh{CUq|e78Afx)N-Vd&e{5srCrlOgWG5gXKoErldOIDc;|A!)@y|4i zP7gO{W#Tyn&-&4jjy^s13xAvi-+rA@3VM11U|U*RTBguxRi5dFmlqY?$kFDZI|Kwh zhvdjvM-nq}imvGFuV>CR!;SNInxXAV({zxlN6QY_k~k{Mc=J*KQ$(&w4C-oWg&!XW zAhvF1)E6&a^zrpQC)pU`NvmmSc;g*pT7&%bVBL|LVD4Gd&PpigFjFf({BELRV3bl= z$Z@*y=ag7-ZKw0k@uEaLEausQ&(`1KMV-B{m?b!4}O?u z_wn90XT-kxS>NE`eJ=?F7au3TV11Xp&D?_AYHMpt%jwN+tCfPIrZYA#Rtmcx92^|} z`iSVw&C->2VhQr9)&r;+H8nNF$Y>I~TVG!v1M%BmkN@;ZDLE*kDJ%1VLP}B!c2Bx)KER7h@*bpQU6Vixq%8Q)sl4um_?VbB05O2O2|teFzsL0mj%$T;ub=XBPY+9?BJGKK z7sHFHCeBQ+J2?4TF==VEMf#Nmt-K{AC1|TgOn(mK)CB(t3j5);F%=*D=V*GY(f^i% zqvJ|ri5?+8^aGpT3@kMX0(PBCV(tqB0O`oPHFEU`EPP5yU0tfw)KtAXkNkn4cs%co zsSa2u0RmVr3HmU}Sa*V(l_}Y$W?vS`9At$VsdhXs`&5hRyWPuyB+(}!P7JMxf(Vxp!{yGCg(n9`~9w^ zMRIk#5+9kFpU2GC8h_cX{(`IN00X!o=xI4i%gd~nF0CZPvE#$dXP1}tH!4Fy5RbKS z3OhSHZ~=IL2@qs@#ZlAIVImNB>`X72-_R6s4eW-j93A6d1sz_18)gY}o$=ee$#*_! zc@QY!qhHFNxj~;Sd9!nJuAhiD9@=<%R+5b(FXYE^c>$ZxDitF;w^@iOM0~ZgE@RAZv4^PkJCT^10 z4qPIl&fnXMJdWf1C|w;JqfQt0l!oIkx9*{xX!NI&i6pRlQ^G;L#!p=zB!RFFE6jfjZ)g#*(n3*vh#BgC*&}Uxlepl?r%36(HB)20!Ii0=kn^Er^4RrMg7c6 z3k%r5BPxgg6>jR4_L^dFR+q0{tzI$&_5hqs@LtJlUI76Cd*V!tn5&RBUcEMo3s#SXpHlyS=?V7*zdp zd*o8w?Cb>{o}za^XwLxM-ShiaTZ(^F8o9hqsuwh|i+h-e}g(@pS@p4M{kK$rWAfyjtV>K0m$0ILYGct(aXh9)a9Bj^(m6i1=`Y*fv9Jpdw z??qT))9dtf54209N$?2;pqgH-+ZAAc<&YcL-GB*{;^N{;U0d7R$)8q!{%nN=ZE9)) ztV-!Tgqy}ce29zQ29|DA@6`b$zAs<%>T6{k9m=-0w#UiISnlrb=g*(d1jJ<@WqJCs zEa>FW&+!rcZ8C_bgZ3W?UgFcIVREsQt>fc$Q!55l4pIQ5;>Vlq){`Bjh3k5C!GFXP z=x>MKc3)^28X`wrfRW0|%S!`LcR#z?4yI6lt-B2YonX=MT4lsY!X&grdWj&zgGo?t zAeuqcM!tFT29^uN1ZticNK{>2-R9n2=R?v<%#?pN{*dX5cs+gcWD|gP=)V7#m$zR& zQ3Y)ym3M`}&&S7fAp0L7znwhcg8Q1##6p3bjj!~4_|O6(9KP^r`G>}-w8EC%rT#8N45uni^`*lVPc; zH1cuO58l1wr@!rX9uOI9QQiE6tSnX}q`6t*#?70_CE7-07ccU7EUD#KfGQ*z*GajX zF8tb{+Nlk%71YrIC~_XZ9a|JKCD-;i8BV&%usjncrNXdVCno5xT)9%?I*+}#`ZX*w zlNlO`ef9lEm)z!B`#*@ud(}g2I56yH?nS?hs zHjW=LGBFV|F)_tKwxJ9x?D1og?A+Y>2r6Sq5ThWaLGTf2YHA)F9->(WUw&^76@zfM$1F_N?j0R`FPrh zxHtl&lIatAG~lvaVr9jcnws+Yk*w>oF(r0JuiL?i(XYrx~A?jH|ZESK8-rM}lS0l#?xeb~ZVhlaGmqoOWJNH76Q1^1ll(0G3rHtexHbRi6zu#dL3I4;VN&IOwzhdFQqo(_s!6MBu--DrIk9!0rAzznqSa zF829z>ZGKkmM>q3-pI$>yAJ8bzxD|?G_ufj4Fa37;&cr- zulhIJ;Sn-bcURZetsmXP_i{RKm^9G?PovEjxq20cEL!&9Z8K-SR)NQ2WV}ab#w$Blcl@dHW51>9m zi@oD$qnQ{7CyH&Q8~TQ-#7Veuqo3LOM6HX9i>(K-f?OaYBja;E8=}MAl_;=)*&`yM z;-R3;4|jf|?#+{@PhEk6VXqV(1x!}FfBzo1boJD>jtXgP2i!x_$%!*$ytx|y8^q&- zQDc8Xh@_Cm5(&6;T@MQ0SxQv$B&VX1xlG2w&rc5SEs$oqv)exK4*y00hJl6_vTVkQVQQ!9WE!QroJ|jY*OVw zGvzZM?`QSScU4$eSo$(qzNitr_^0kjNcS>uP#>dZkVl78dYhDH9VW zNymd`uQgg=M8W1`& z?hkxCJeOZ{a!?m|KgjWa=;`Zc0s8rD&Pc^list9#wG0>Pq9$fC=yo`ti2Kpe(GMab zu-H^H2!KX;tc(zXWe2n*EG2~s$cw41?L+7iK(Df(>jU3V%b(27zHHbOKm(3c6bQpU z?+zR%td0%dROK9DC;}i!h`+x-O6>l%IpK%24HoybwIjs*_n5i3h$S5nKR>*sLBG9K zAXB&vTc0?Pw1}`J^Gk`~ralQ39>_@X_xV}t z)hl1WepOUeRRF)sr3mb(nmd=sqG2u=6-&j%3iS%VM(kx;2AQU`^10w+fyF8<3JD3# zfKn&i6A%%pH}(YvZrB`T^iywAjx{bmJ|aj^7bXtS!4CH~rn9zJu(!e5o0)Bo(yR9> z-mEj^q&iGXPbbXRV!z>nA&JWx{}E~$em%RsUP4X_4)RK%i_Y=s&h+vHOZQOX=Meao+?$Sn<%TGVDbG!qEfJd zXWXRv8~N+W?rv^vpm-iXewClJfHMjdEljN#0BE^>u{x%L#)>Z7-|u3e&#`=(~NCVLgd)DZ=?9!c&e&KT2}0D9y~aQrqX;T zA;1lciQ2($23t@i!(iXJG@*Ql-;tsI=g*&yyML5bRA6Ru&M8wM2o5FsEI?}c3m6Il zC2H;J%AHDARf#i_k&ywY76ty<5s2!zU5ypKFxBnt?e@-ix|Kk>=@D>N%iz-lFN8|2 z75G7PgaQxW4Y)#U13i7gTZ7iz#wH5LAlzm)7pn1~&kwX^95oMyOcar}zNqxv(lam^J^E&2X^9(rw2+YV)^=sAxS&89oB?GOm59YOI=Xt`#oV`U zDL`{pQ?RnS0&@&bQTKy)kh$n^3)V!yUE^e%Mn>6o)n~9PVJ5ljGn55Zn-_C*0yfjhE2UGFKNlB=KI`;MJER^g4 zINoZ8hH=o{rBqdkA(OySmIm!;W@?JuzrP~C!Ux-e(a?9d+W-xTFqH$erKYCNRDC7B zThcu+Kn4sBz>=Gnw+)^Ka9N+YeI6UTZD8O(t@r&lXU@UIZD{30y z_$oNEw$}IQApM;?cU*sOSpkVbMGn|0z>*1ov0+O{NSLMN0G;WGr2-2FOH51*Ad2DY z-IwTDWoujqYZ2N^I1tpOy_ zI3@{3=nEja)b3W$@TsLGMIR1=a9BEh>pt6VPd0n z4uEaY#~*Y#i2Z>Nky{0im2!N*L39O!8lIWJ)7$_CKRm8mbyPex` z84L{(5Y@`B#2J7)LTsZz^Rg*F4*}|!Zx{ug%h-QS0NvtM)eQ2fjmUMp>d1ryBEOxb z2avfoPPWrPV6=2}SVct*$Mnq?KBu-xbN4XZQL$T|ZZol4&5#IYL`*F$!y#kQIjK_b zrhtGKI9DL?NWtwqIPd|Gw*aO~c=zI$&!5RDzXAoCdG*Xr@+New Layout, the button area is populated by some more buttons that are specific to the current note. For example, for Image and File notes, the download and copy buttons were relocated there. \ No newline at end of file From f3b274650e736d2acb27fe8fe9bf7b95106b97ee Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Dec 2025 22:33:50 +0200 Subject: [PATCH 29/33] docs(user): mark new layout in feature highlights --- .../User Guide/Feature Highlights.html | 156 ++++++++++-------- docs/User Guide/!!!meta.json | 14 ++ .../User Guide/Feature Highlights.md | 12 +- 3 files changed, 105 insertions(+), 77 deletions(-) diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Feature Highlights.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Feature Highlights.html index 523a2e819..86f103977 100644 --- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Feature Highlights.html +++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Feature Highlights.html @@ -3,81 +3,93 @@ of brevity, beta versions are skipped and the features gathered to the nearest stable version.

    -
  • v0.97.0: +
  • v0.101.0:
      -
    • Books are now Collections.
    • -
    • Table View is +
    • New Layout has + been introduced, making significant modifications to the UI/UX such as + integrating the ribbon and the floating buttons into other UI elements + and introducing new functionality such as the Breadcrumb.
    • +
    +
  • +
  • v0.97.0: +
      +
    • Books are now Collections.
    • +
    • Table is a new collection type displaying notes and attributes in an editable grid.
    • -
    • Quick edit is - introduced, adding a new way to edit notes in a popup instead of opening - a new tab. It also integrates well with Collections.
    • +
    • Quick edit is + introduced, adding a new way to edit notes in a popup instead of opening + a new tab. It also integrates well with Collections.
    -
  • -
  • v0.96.0: -
      -
    • Text gain - premium features thanks to a collaboration with the CKEditor team: - -
    • + +
    • v0.96.0: + +
    • +
    • v0.95.0: +
        +
      • A more friendly theme was introduced for Sharing, with search, expandable tree, night + mode and more.
      • +
      +
    • +
    • v0.94.0: +
        +
      • Added integration with [missing note] (using + self-hosted LLMs such as Ollama or industry standards such as ChatGPT).
      • +
      +
    • +
    • v0.92.5: + +
    • +
    • v0.92.4: + -
    • -
    • v0.95.0: -
        -
      • A more friendly theme was introduced for Sharing, with search, expandable tree, night - mode and more.
      • + +
      • v0.91.5: +
          +
        • Significant improvements for mobile.
        • +
        • Footnotes are + now supported in Text notes.
        • +
        • Mermaid diagrams can now be inserted inline within Text notes.
        • +
        • The TriliumNext theme is introduced, bringing a more modern design to + the application.
        • +
        • Geo Map, displaying + notes as markers on a geographical map for easy trip planning.
        -
      • -
      • v0.94.0: -
          -
        • Added integration with AI (using - self-hosted LLMs such as Ollama or industry standards such as ChatGPT).
        • -
        -
      • -
      • v0.92.5: - -
      • -
      • v0.92.4: - -
      • -
      • v0.91.5: -
          -
        • Significant improvements for mobile.
        • -
        • Footnotes are - now supported in Text notes.
        • -
        • Mermaid diagrams can now be inserted inline within Text notes.
        • -
        • The TriliumNext theme is introduced, bringing a more modern design to - the application.
        • -
        • Geo Map View, - displaying notes as markers on a geographical map for easy trip planning.
        • -
        -
      • -
      • v0.90.8: -
          -
        • A new note type was introduced: Mind Map -
        • -
        -
      • + +
      • v0.90.8: +
          +
        • A new note type was introduced: Mind Map +
        • +
        +
      \ No newline at end of file diff --git a/docs/User Guide/!!!meta.json b/docs/User Guide/!!!meta.json index 2e16e2add..e1b7b8047 100644 --- a/docs/User Guide/!!!meta.json +++ b/docs/User Guide/!!!meta.json @@ -237,6 +237,20 @@ "value": "feature-highlights", "isInheritable": false, "position": 170 + }, + { + "type": "relation", + "name": "internalLink", + "value": "IjZS7iK5EXtb", + "isInheritable": false, + "position": 180 + }, + { + "type": "relation", + "name": "internalLink", + "value": "I6p2a06hdnL6", + "isInheritable": false, + "position": 190 } ], "format": "markdown", diff --git a/docs/User Guide/User Guide/Feature Highlights.md b/docs/User Guide/User Guide/Feature Highlights.md index 59526c8b1..831e5c0a8 100644 --- a/docs/User Guide/User Guide/Feature Highlights.md +++ b/docs/User Guide/User Guide/Feature Highlights.md @@ -1,9 +1,11 @@ # Feature Highlights This section presents the most important changes by version. For a full set of changes, please consult the change log of each release. For purposes of brevity, beta versions are skipped and the features gathered to the nearest stable version. +* v0.101.0: + * A New Layout has been introduced, making significant modifications to the UI/UX such as integrating the ribbon and the floating buttons into other UI elements and introducing new functionality such as the Breadcrumb. * v0.97.0: * Books are now Collections. - * Table View is a new collection type displaying notes and attributes in an editable grid. + * Table is a new collection type displaying notes and attributes in an editable grid. * Quick edit is introduced, adding a new way to edit notes in a popup instead of opening a new tab. It also integrates well with Collections. * v0.96.0: * Text gain premium features thanks to a collaboration with the CKEditor team: @@ -12,21 +14,21 @@ This section presents the most important changes by version. For a full set of c * v0.95.0: * A more friendly theme was introduced for Sharing, with search, expandable tree, night mode and more. * v0.94.0: - * Added integration with AI (using self-hosted LLMs such as Ollama or industry standards such as ChatGPT). + * Added integration with [missing note] (using self-hosted LLMs such as Ollama or industry standards such as ChatGPT). * v0.92.5: * Windows binaries are now signed. * Multi-Factor Authentication was introduced. * v0.92.4: * macOS binaries are now signed. * Text notes can now have adjustable Content language & Right-to-left support. - * Export as PDF + * Printing & Exporting as PDF * Zen mode - * Calendar View, allowing notes to be displayed in a monthly grid based on start and end dates. + * Calendar, allowing notes to be displayed in a monthly grid based on start and end dates. * v0.91.5: * Significant improvements for mobile. * Footnotes are now supported in Text notes. * Mermaid diagrams can now be inserted inline within Text notes. * The TriliumNext theme is introduced, bringing a more modern design to the application. - * Geo Map View, displaying notes as markers on a geographical map for easy trip planning. + * Geo Map, displaying notes as markers on a geographical map for easy trip planning. * v0.90.8: * A new note type was introduced: Mind Map \ No newline at end of file From 851169e061d55853a75d8aa9f47a2b6f04993b00 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Dec 2025 22:39:24 +0200 Subject: [PATCH 30/33] fix(edited_notes): no message if there are no edited notes on a day --- .../client/src/widgets/layout/InlineTitle.tsx | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/apps/client/src/widgets/layout/InlineTitle.tsx b/apps/client/src/widgets/layout/InlineTitle.tsx index 6dec10c10..bb043cca2 100644 --- a/apps/client/src/widgets/layout/InlineTitle.tsx +++ b/apps/client/src/widgets/layout/InlineTitle.tsx @@ -328,20 +328,19 @@ function EditedNotes() { function EditedNotesContent({ note }: { note: FNote }) { const editedNotes = useEditedNotes(note); - return ( - <> - {editedNotes?.map(editedNote => ( - - )} - /> - ))} - - ); + return (editedNotes !== undefined && + (editedNotes.length > 0 ? editedNotes?.map(editedNote => ( + + )} + /> + )) : ( +
      {t("edited_notes.no_edited_notes_found")}
      + ))); } //#endregion From 9872a3d522af10cdf30527eb33ef954736b56fea Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Dec 2025 22:46:25 +0200 Subject: [PATCH 31/33] feat(call_to_action): add more info button for new layout --- apps/client/src/translations/en/translation.json | 1 + .../src/widgets/dialogs/call_to_action_definitions.ts | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 19c294044..0f1e12781 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -2111,6 +2111,7 @@ "background_effects_button": "Enable background effects", "new_layout_title": "New layout", "new_layout_message": "We’ve introduced a modernized layout for Trilium. The ribbon has been removed and seamlessly integrated into the main interface, with a new status bar and expandable sections (such as promoted attributes) taking over key functions.\n\nThe new layout is enabled by default, and can be temporarily disabled via Options → Appearance.", + "new_layout_button": "More info", "dismiss": "Dismiss" }, "settings": { diff --git a/apps/client/src/widgets/dialogs/call_to_action_definitions.ts b/apps/client/src/widgets/dialogs/call_to_action_definitions.ts index 056672b16..d783b1dbb 100644 --- a/apps/client/src/widgets/dialogs/call_to_action_definitions.ts +++ b/apps/client/src/widgets/dialogs/call_to_action_definitions.ts @@ -1,3 +1,4 @@ +import appContext from "../../components/app_context"; import { t } from "../../services/i18n"; import options from "../../services/options"; import utils from "../../services/utils"; @@ -50,7 +51,13 @@ const CALL_TO_ACTIONS: CallToAction[] = [ title: t("call_to_action.new_layout_title"), message: t("call_to_action.new_layout_message"), enabled: () => true, - buttons: [] + buttons: [ + { + + text: t("call_to_action.new_layout_button"), + onClick: () => appContext.tabManager.openInNewTab("_help_IjZS7iK5EXtb", "_help", true) + } + ] }, { id: "background_effects", From eceb7179b8fe761b719dda81dc5f016af51cbc63 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 18 Dec 2025 00:20:48 +0200 Subject: [PATCH 32/33] style(attachment): code block cuts off card --- apps/client/src/widgets/type_widgets/Attachment.css | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/Attachment.css b/apps/client/src/widgets/type_widgets/Attachment.css index 19c5757a2..cab629071 100644 --- a/apps/client/src/widgets/type_widgets/Attachment.css +++ b/apps/client/src/widgets/type_widgets/Attachment.css @@ -22,12 +22,13 @@ margin-bottom: 20px; display: flex; flex-direction: column; + overflow: hidden; } .attachment-title { font-size: 1.1rem; margin: 0; - + a { color: inherit !important; } @@ -72,7 +73,7 @@ .attachment-detail-wrapper.list-view { border-radius: 12px; - background-color: var(--card-background-color); + background-color: var(--card-background-color); padding: 0 6px; box-shadow: var(--card-box-shadow); } @@ -152,4 +153,4 @@ background-color: transparent !important; pointer-events: none; /* makes it unclickable */ } -/* #endregion */ \ No newline at end of file +/* #endregion */ From b2bcbdde3f95dea6e27410941ce3da854828979a Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 18 Dec 2025 00:25:16 +0200 Subject: [PATCH 33/33] style(attachment): top padding not matching side padding --- apps/client/src/widgets/type_widgets/Attachment.css | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/Attachment.css b/apps/client/src/widgets/type_widgets/Attachment.css index cab629071..ce0ae8856 100644 --- a/apps/client/src/widgets/type_widgets/Attachment.css +++ b/apps/client/src/widgets/type_widgets/Attachment.css @@ -74,7 +74,7 @@ .attachment-detail-wrapper.list-view { border-radius: 12px; background-color: var(--card-background-color); - padding: 0 6px; + padding: 6px 6px 0 6px; box-shadow: var(--card-box-shadow); } @@ -127,15 +127,6 @@ /* #endregion */ /* #region Attachment actions */ -.attachment-actions { - width: 35px; - height: 35px; -} - -.attachment-actions .select-button { - position: relative; - top: 3px; -} .attachment-actions .dropdown-menu { width: 20em;