Compare commits
	
		
			40 Commits
		
	
	
		
			feat/ui-im
			...
			main
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 859d9dcd04 | ||
|  | 76dd9baea8 | ||
|  | 82ff5f6660 | ||
|  | b52d30c55a | ||
|  | 99fd088ff5 | ||
|  | 945f29c759 | ||
|  | 98f42887d8 | ||
|  | a1b589148b | ||
|  | 70837fdc69 | ||
|  | 67d80512f6 | ||
|  | dd8a1e8aca | ||
|  | 99f43e2280 | ||
|  | bcffa77c90 | ||
|  | 8ab2069411 | ||
|  | 21fc61d132 | ||
|  | 552df50fe4 | ||
|  | c058b663ee | ||
|  | 6c19370235 | ||
|  | d332bb57ba | ||
|  | 3ef38e7f4e | ||
|  | 1abc3b5534 | ||
|  | ddcd27ddf6 | ||
|  | ff385c8c88 | ||
|  | a641e452ce | ||
|  | 5f4fa25da5 | ||
|  | ea177e972e | ||
|  | 7e3013bfdc | ||
|  | 5115baeb21 | ||
|  | 35a924a05a | ||
|  | 78f067965f | ||
|  | 413b16b51c | ||
|  | 59586c53b2 | ||
|  | 70ed1d7abb | ||
|  | 67de6c614c | ||
|  | faf030ab3a | ||
|  | 6e20d4b5dd | ||
|  | 10e809af75 | ||
|  | f1478f8149 | ||
|  | 9087adf254 | ||
|  | f944c6d8e2 | 
| @@ -1809,15 +1809,12 @@ body:not(.mobile) #launcher-pane.horizontal .dropdown-submenu > .dropdown-menu { | ||||
| } | ||||
|  | ||||
| .note-split { | ||||
|     /* Limits the maximum width of the note */ | ||||
|     --max-content-width: var(--preferred-max-content-width); | ||||
|  | ||||
|     margin-inline-start: auto; | ||||
|     margin-inline-end: auto; | ||||
| } | ||||
|  | ||||
| .note-split.full-content-width { | ||||
|     --max-content-width: unset; | ||||
|     max-width: 999999px; | ||||
| } | ||||
|  | ||||
| button.close:hover { | ||||
| @@ -2043,8 +2040,7 @@ body.zen .ribbon-container .ribbon-body:not(:has(.classic-toolbar-widget)), | ||||
| body.zen .note-icon-widget, | ||||
| body.zen .title-row .icon-action, | ||||
| body.zen .floating-buttons-children > *:not(.bx-edit-alt), | ||||
| body.zen .action-button, | ||||
| body.zen .note-list-widget { | ||||
| body.zen .action-button { | ||||
|     display: none !important; | ||||
| } | ||||
|  | ||||
| @@ -2088,33 +2084,12 @@ body.zen .note-title-widget, | ||||
| body.zen .note-title-widget input { | ||||
|     font-size: 1rem !important; | ||||
|     background: transparent !important; | ||||
|     pointer-events: none; | ||||
| } | ||||
|  | ||||
| body.zen #detail-container { | ||||
|     width: 100%; | ||||
| } | ||||
|  | ||||
| body.zen .note-split:not(.full-content-width) .scrolling-container { | ||||
|     display: flex; | ||||
|     flex-direction: column; | ||||
|     scroll-behavior: unset !important; | ||||
| } | ||||
|  | ||||
| body.zen .note-split:not(.full-content-width) .note-detail { | ||||
|     margin: auto; | ||||
|     padding-bottom: 15%; | ||||
|     width: var(--max-content-width); | ||||
| } | ||||
|  | ||||
| body.zen .note-split:not(.full-content-width) .scroll-padding-widget { | ||||
|     display: none; | ||||
| } | ||||
|  | ||||
| body.zen .note-split.type-text { | ||||
|     font-size: 1.15em; | ||||
| } | ||||
|  | ||||
| /* Content renderer */ | ||||
|  | ||||
| footer.file-footer, | ||||
|   | ||||
| @@ -15,7 +15,7 @@ | ||||
|     --native-titlebar-background: #00000000; | ||||
|     --window-background-color-bgfx: transparent; /* When background effects enabled */ | ||||
|  | ||||
|     --main-background-color: #242424; | ||||
|     --main-background-color: #272727; | ||||
|     --main-text-color: #ccc; | ||||
|     --main-border-color: #454545; | ||||
|     --subtle-border-color: #313131; | ||||
| @@ -166,9 +166,6 @@ | ||||
|     --protected-session-active-icon-color: #8edd8e; | ||||
|     --sync-status-error-pulse-color: #f47871; | ||||
|  | ||||
|     --center-pane-vert-layout-background-color-bgfx: #0c0c0c69; | ||||
|     --center-pane-horiz-layout-background-color-bgfx: #1e1e1ec7; | ||||
|  | ||||
|     --right-pane-heading-color: gray; | ||||
|  | ||||
|     --root-background: var(--left-pane-background-color); | ||||
| @@ -195,9 +192,9 @@ | ||||
|     --badge-background-color: #ffffff1a; | ||||
|     --badge-text-color: var(--muted-text-color); | ||||
|  | ||||
|     --promoted-attribute-card-background-color: #ffffff21; | ||||
|     --promoted-attribute-card-shadow: none; | ||||
|      | ||||
|     --promoted-attribute-card-background-color: var(--card-background-color); | ||||
|     --promoted-attribute-card-shadow-color: #000000b3; | ||||
|  | ||||
|     --floating-button-shadow-color: #00000080; | ||||
|     --floating-button-background-color: #494949d2; | ||||
|     --floating-button-color: var(--button-text-color); | ||||
| @@ -211,8 +208,6 @@ | ||||
|     --floating-button-hide-button-background: #00000029; | ||||
|     --floating-button-hide-button-color: #ffffff63; | ||||
|  | ||||
|     --right-pane-background-color: var(--main-background-color); | ||||
|     --right-pane-background-color-bgfx: #0c0c0c24; /* Only for the vertical layout */ | ||||
|     --right-pane-item-hover-background: #ffffff26; | ||||
|     --right-pane-item-hover-color: white; | ||||
|  | ||||
| @@ -232,8 +227,8 @@ | ||||
|     --card-background-color: #ffffff12; | ||||
|     --card-background-hover-color: #3c3c3c; | ||||
|     --card-background-press-color: #464646; | ||||
|     --card-border-color: transparent; | ||||
|     --card-box-shadow: none; | ||||
|     --card-border-color: #222222; | ||||
|     --card-box-shadow: 0 0 12px rgba(0, 0, 0, 0.15); | ||||
|  | ||||
|     --calendar-color: var(--menu-text-color); | ||||
|     --calendar-weekday-labels-color: var(--muted-text-color); | ||||
| @@ -299,10 +294,4 @@ body ::-webkit-calendar-picker-indicator { | ||||
|  | ||||
| body .todo-list input[type="checkbox"]:not(:checked):before { | ||||
|     border-color: var(--muted-text-color) !important; | ||||
| } | ||||
|  | ||||
| .tinted-quick-edit-dialog { | ||||
|     --modal-background-color: hsl(var(--custom-color-hue), 8.8%, 11.2%); | ||||
|     --modal-border-color: hsl(var(--custom-color-hue), 9.4%, 25.1%); | ||||
|     --promoted-attribute-card-background-color: hsl(var(--custom-color-hue), 13.2%, 20.8%); | ||||
| } | ||||
| @@ -159,9 +159,6 @@ | ||||
|     --protected-session-active-icon-color: #16b516; | ||||
|     --sync-status-error-pulse-color: #ff5528; | ||||
|  | ||||
|     --center-pane-vert-layout-background-color-bgfx: #ffffff75; | ||||
|     --center-pane-horiz-layout-background-color-bgfx: #ffffffd6; | ||||
|  | ||||
|     --right-pane-heading-color: gray; | ||||
|  | ||||
|     --root-background: var(--left-pane-background-color); | ||||
| @@ -188,8 +185,8 @@ | ||||
|     --badge-background-color: #00000011; | ||||
|     --badge-text-color: var(--muted-text-color); | ||||
|  | ||||
|     --promoted-attribute-card-background-color: #00000014; | ||||
|     --promoted-attribute-card-shadow: none; | ||||
|     --promoted-attribute-card-background-color: var(--card-background-color); | ||||
|     --promoted-attribute-card-shadow-color: #00000033; | ||||
|  | ||||
|     --floating-button-shadow-color: #00000042; | ||||
|     --floating-button-background-color: #eaeaeacc; | ||||
| @@ -210,8 +207,6 @@ | ||||
|     --new-tab-button-hover-background: white; | ||||
|     --new-tab-button-hover-color: black; | ||||
|  | ||||
|     --right-pane-background-color: var(--main-background-color); | ||||
|     --right-pane-background-color-bgfx: var(--center-pane-vert-layout-background-color-bgfx); /* Only for the vertical layout */ | ||||
|     --right-pane-item-hover-background: #ececec; | ||||
|     --right-pane-item-hover-color: inherit; | ||||
|  | ||||
| @@ -228,12 +223,12 @@ | ||||
|  | ||||
|     --code-block-box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.1), 0px 0px 2px rgba(0, 0, 0, 0.2); | ||||
|  | ||||
|     --card-background-color: #0000000d; | ||||
|     --card-background-color: var(--accented-background-color); | ||||
|     --card-background-hover-color: #f9f9f9; | ||||
|     --card-background-press-color: #efefef; | ||||
|     --card-border-color: transparent; | ||||
|     --card-border-color: #eaeaea; | ||||
|     --card-shadow-color: rgba(0, 0, 0, 0.1); | ||||
|     --card-box-shadow: none; | ||||
|     --card-box-shadow: 0 0 12px var(--card-shadow-color); | ||||
|  | ||||
|     --calendar-color: var(--menu-text-color); | ||||
|     --calendar-weekday-labels-color: var(--muted-text-color); | ||||
| @@ -275,10 +270,4 @@ | ||||
|      * The --custom-color-hue variable contains the hue of the user-selected note color. | ||||
|      * This value is unset for gray tones. */ | ||||
|     --custom-bg-color: hsl(var(--custom-color-hue), 37%, 89%, 1); | ||||
| } | ||||
|  | ||||
| .tinted-quick-edit-dialog { | ||||
|     --modal-background-color: hsl(var(--custom-color-hue), 56%, 96%); | ||||
|     --modal-border-color: hsl(var(--custom-color-hue), 33%, 41%); | ||||
|     --promoted-attribute-card-background-color: hsl(var(--custom-color-hue), 40%, 88%); | ||||
| } | ||||
| @@ -82,7 +82,6 @@ | ||||
|  | ||||
|     /* Theme capabilities */ | ||||
|     --tab-note-icons: true; | ||||
|     --allow-background-effects: true; | ||||
|  | ||||
|     /* To ensure that a tree item's custom color remains sufficiently contrasted and readable, | ||||
|      * the color is adjusted based on the current color scheme (light or dark). The lightness | ||||
|   | ||||
| @@ -148,7 +148,7 @@ div.note-detail-empty { | ||||
|     --options-card-min-width: 500px; | ||||
|     --options-card-max-width: 900px; | ||||
|     --options-card-padding: 17px; | ||||
|     --options-title-font-size: .75rem; | ||||
|     --options-title-font-size: 1rem; | ||||
|     --options-title-offset: 13px; | ||||
| } | ||||
| /* Create a gap at the top of the option pages */ | ||||
| @@ -173,7 +173,8 @@ div.note-detail-empty { | ||||
| } | ||||
|  | ||||
| .options-section:not(.tn-no-card) { | ||||
|     border-radius: 8px; | ||||
|     margin: auto;     | ||||
|     border-radius: 12px; | ||||
|     border: 1px solid var(--card-border-color) !important; | ||||
|     box-shadow: var(--card-box-shadow); | ||||
|     background: var(--card-background-color); | ||||
| @@ -181,7 +182,7 @@ div.note-detail-empty { | ||||
|     margin-bottom: calc(var(--options-title-offset) + 26px) !important; | ||||
| } | ||||
|  | ||||
| body.desktop .options-section:not(.tn-no-card) { | ||||
| body.desktop .option-section:not(.tn-no-card) { | ||||
|     min-width: var(--options-card-min-width); | ||||
|     max-width: var(--options-card-max-width); | ||||
| } | ||||
| @@ -192,16 +193,9 @@ body.desktop .options-section:not(.tn-no-card) { | ||||
|     padding-bottom: var(--default-padding); | ||||
| } | ||||
|  | ||||
| .options-section:not(.tn-no-card) h4, | ||||
| .options-section:not(.tn-no-card) h5 { | ||||
|     text-transform: uppercase; | ||||
|     letter-spacing: .4pt; | ||||
| } | ||||
|  | ||||
|  | ||||
| .options-section:not(.tn-no-card) h4 { | ||||
|     font-size: var(--options-title-font-size); | ||||
|     font-weight: 600; | ||||
|     font-weight: bold; | ||||
|     color: var(--launcher-pane-text-color); | ||||
|     margin-top: calc(-1 * var(--options-card-padding) - var(--options-title-font-size) - var(--options-title-offset)) !important; | ||||
|     margin-bottom: calc(var(--options-title-offset) + var(--options-card-padding)) !important; | ||||
|   | ||||
| @@ -34,7 +34,6 @@ | ||||
| div.promoted-attributes-container { | ||||
|     margin-top: 8px; | ||||
|     margin-bottom: 8px; | ||||
|     margin-inline-start: 12px; | ||||
| } | ||||
|  | ||||
| /* | ||||
|   | ||||
| @@ -8,7 +8,7 @@ | ||||
| } | ||||
|  | ||||
| :root { | ||||
|     --dropdown-backdrop-filter: blur(20px) saturate(6); | ||||
|     --dropdown-backdrop-filter: blur(10px) saturate(6); | ||||
|     --dropdown-border-radius: 10px; | ||||
| } | ||||
|  | ||||
| @@ -35,52 +35,30 @@ body.mobile { | ||||
| } | ||||
|  | ||||
| /* #region Mica */ | ||||
|  | ||||
| body.background-effects.platform-win32 { | ||||
|     /* Quirk: --background-material is read before "theme-supports-background-effects" class | ||||
|      * is applied. Apply the matterial even if the theme doesn't support it. */ | ||||
|     --background-material: tabbed; | ||||
| } | ||||
|  | ||||
| body.background-effects.theme-supports-background-effects.platform-win32 { | ||||
|     --launcher-pane-horiz-border-color: var(--launcher-pane-horiz-border-color-bgfx); | ||||
|     --launcher-pane-horiz-background-color: var(--launcher-pane-horiz-background-color-bgfx); | ||||
|     --launcher-pane-vert-background-color: var(--launcher-pane-vert-background-color-bgfx); | ||||
|     --tab-background-color: var(--window-background-color-bgfx); | ||||
|     --new-tab-button-background: var(--window-background-color-bgfx); | ||||
|     --active-tab-background-color: var(--launcher-pane-horiz-background-color); | ||||
|     --root-background: transparent; | ||||
| } | ||||
|  | ||||
| body.background-effects.platform-win32.layout-vertical { | ||||
|     --left-pane-background-color: var(--window-background-color-bgfx); | ||||
|     --background-material: mica; | ||||
| } | ||||
|  | ||||
| body.background-effects.theme-supports-background-effects.platform-win32.layout-vertical { | ||||
|     --left-pane-background-color: var(--window-background-color-bgfx); | ||||
|     --center-pane-background-color-bgfx: var(--center-pane-vert-layout-background-color-bgfx); | ||||
|     --right-pane-background-color: var(--right-pane-background-color-bgfx); | ||||
| } | ||||
|  | ||||
| body.background-effects.theme-supports-background-effects.platform-win32.layout-horizontal { | ||||
|     --center-pane-background-color-bgfx: var(--center-pane-horiz-layout-background-color-bgfx); | ||||
| } | ||||
|  | ||||
| body.background-effects.theme-supports-background-effects.platform-win32, | ||||
| body.background-effects.theme-supports-background-effects.platform-win32 #root-widget { | ||||
| body.background-effects.platform-win32, | ||||
| body.background-effects.platform-win32 #root-widget { | ||||
|     background: var(--window-background-color-bgfx) !important; | ||||
| } | ||||
|  | ||||
| body.background-effects.theme-supports-background-effects.platform-win32.layout-horizontal #horizontal-main-container, | ||||
| body.background-effects.theme-supports-background-effects.platform-win32.layout-vertical #vertical-main-container { | ||||
| body.background-effects.platform-win32.layout-horizontal #horizontal-main-container, | ||||
| body.background-effects.platform-win32.layout-vertical #vertical-main-container { | ||||
|     background-color: var(--root-background); | ||||
| } | ||||
|  | ||||
| /* Note split with background effects */ | ||||
| body.background-effects.theme-supports-background-effects.platform-win32 #center-pane .note-split.bgfx { | ||||
|     --note-split-background-color: var(--center-pane-background-color-bgfx); | ||||
| } | ||||
|  | ||||
| /* #endregion */ | ||||
|  | ||||
| /* Matches when the left pane is collapsed */ | ||||
| @@ -1193,18 +1171,23 @@ body.layout-vertical .tab-row-widget-is-sorting .note-tab.note-tab-is-dragging . | ||||
|  * CENTER PANE | ||||
|  */ | ||||
|  | ||||
|  /* The first visible note split */ | ||||
| .vertical-layout #center-pane .note-split:not(.visible ~ .visible) { | ||||
| #center-pane { | ||||
|     background: var(--main-background-color); | ||||
| } | ||||
|  | ||||
| .vertical-layout #center-pane { | ||||
|     border-radius: var(--center-pane-border-radius) 0 0 0; | ||||
| } | ||||
|  | ||||
| #center-pane .note-split { | ||||
| .note-split { | ||||
|     padding-top: 2px; | ||||
|     background-color: var(--note-split-background-color, var(--main-background-color)); | ||||
|     animation: note-entrance 100ms linear; | ||||
|     /* will-change: opacity; -- causes some weird artifacts to the note menu in split view */ | ||||
| } | ||||
|  | ||||
| body:not(.background-effects) #center-pane .note-split { | ||||
|     animation: note-entrance 100ms linear; | ||||
| .split-note-container-widget > .gutter { | ||||
|     background: var(--root-background) !important; | ||||
|     transition: background 150ms ease-out; | ||||
| } | ||||
|  | ||||
| /* | ||||
| @@ -1217,9 +1200,9 @@ body:not(.background-effects) #center-pane .note-split { | ||||
|  | ||||
| @keyframes note-entrance { | ||||
|     from { | ||||
|         filter: opacity(0); | ||||
|         opacity: 0; | ||||
|     } to { | ||||
|         filter: opacity(1); | ||||
|         opacity: 1; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @@ -1345,7 +1328,8 @@ div.promoted-attribute-cell { | ||||
|     --pa-card-padding-inline-end: 2px; | ||||
|     --input-background-color: transparent; | ||||
|  | ||||
|     box-shadow: var(--promoted-attribute-card-shadow); | ||||
|     box-shadow: 1px 1px 2px var(--promoted-attribute-card-shadow-color); | ||||
|  | ||||
|     display: inline-flex; | ||||
|     margin: 0; | ||||
|     border-radius: 8px; | ||||
| @@ -1732,7 +1716,7 @@ div.find-replace-widget div.find-widget-found-wrapper > span { | ||||
|  */ | ||||
|  | ||||
| #right-pane { | ||||
|     background: var(--right-pane-background-color); | ||||
|     background: var(--main-background-color); | ||||
| } | ||||
|  | ||||
| #right-pane div.card-header { | ||||
|   | ||||
| @@ -520,7 +520,9 @@ | ||||
|   "max_content_width": { | ||||
|     "max_width_unit": "بكسل", | ||||
|     "title": "عرض المحتوى", | ||||
|     "max_width_label": "اقصى عرض للمحتوى" | ||||
|     "reload_button": "اعادة تحميل الواجهة", | ||||
|     "max_width_label": "اقصى عرض للمحتوى", | ||||
|     "reload_description": "تغييرات من خيارات المظهر" | ||||
|   }, | ||||
|   "native_title_bar": { | ||||
|     "enabled": "مفعل", | ||||
|   | ||||
| @@ -51,7 +51,7 @@ | ||||
|     "bulk_actions_executed": "批量操作已成功执行。", | ||||
|     "none_yet": "暂无操作 ... 通过点击上方的可用操作添加一个操作。", | ||||
|     "labels": "标签", | ||||
|     "relations": "关联关系", | ||||
|     "relations": "关系", | ||||
|     "notes": "笔记", | ||||
|     "other": "其它" | ||||
|   }, | ||||
| @@ -104,7 +104,8 @@ | ||||
|     "export_status": "导出状态", | ||||
|     "export_in_progress": "导出进行中:{{progressCount}}", | ||||
|     "export_finished_successfully": "导出成功完成。", | ||||
|     "format_pdf": "PDF - 用于打印或共享目的。" | ||||
|     "format_pdf": "PDF - 用于打印或共享目的。", | ||||
|     "share-format": "HTML 网页发布——采用与共享笔记相同的主题,但可发布为静态网站。" | ||||
|   }, | ||||
|   "help": { | ||||
|     "noteNavigation": "笔记导航", | ||||
| @@ -184,7 +185,8 @@ | ||||
|     }, | ||||
|     "import-status": "导入状态", | ||||
|     "in-progress": "导入进行中:{{progress}}", | ||||
|     "successful": "导入成功完成。" | ||||
|     "successful": "导入成功完成。", | ||||
|     "importZipRecommendation": "导入 ZIP 文件时,笔记层级将反映压缩文件内的子目录结构。" | ||||
|   }, | ||||
|   "include_note": { | ||||
|     "dialog_title": "包含笔记", | ||||
| @@ -1105,6 +1107,9 @@ | ||||
|     "title": "内容宽度", | ||||
|     "default_description": "Trilium默认会限制内容的最大宽度以提高在宽屏中全屏时的可读性。", | ||||
|     "max_width_label": "内容最大宽度(像素)", | ||||
|     "apply_changes_description": "要应用内容宽度更改,请点击", | ||||
|     "reload_button": "重载前端", | ||||
|     "reload_description": "来自外观选项的更改", | ||||
|     "max_width_unit": "像素" | ||||
|   }, | ||||
|   "native_title_bar": { | ||||
| @@ -1554,7 +1559,9 @@ | ||||
|     "window-on-top": "保持此窗口置顶" | ||||
|   }, | ||||
|   "note_detail": { | ||||
|     "could_not_find_typewidget": "找不到类型为 '{{type}}' 的 typeWidget" | ||||
|     "could_not_find_typewidget": "找不到类型为 '{{type}}' 的 typeWidget", | ||||
|     "printing": "正在打印…", | ||||
|     "printing_pdf": "正在导出为PDF…" | ||||
|   }, | ||||
|   "note_title": { | ||||
|     "placeholder": "请输入笔记标题..." | ||||
|   | ||||
| @@ -104,7 +104,8 @@ | ||||
|     "export_status": "Exportstatus", | ||||
|     "export_in_progress": "Export läuft: {{progressCount}}", | ||||
|     "export_finished_successfully": "Der Export wurde erfolgreich abgeschlossen.", | ||||
|     "format_pdf": "PDF - für Ausdrucke oder Teilen." | ||||
|     "format_pdf": "PDF - für Ausdrucke oder Teilen.", | ||||
|     "share-format": "HTML für die Web-Veröffentlichung – verwendet dasselbe Theme wie bei freigegebenen Notizen, kann jedoch als statische Website veröffentlicht werden." | ||||
|   }, | ||||
|   "help": { | ||||
|     "noteNavigation": "Notiz Navigation", | ||||
| @@ -1103,6 +1104,9 @@ | ||||
|     "title": "Inhaltsbreite", | ||||
|     "default_description": "Trilium begrenzt standardmäßig die maximale Inhaltsbreite, um die Lesbarkeit für maximierte Bildschirme auf Breitbildschirmen zu verbessern.", | ||||
|     "max_width_label": "Maximale Inhaltsbreite in Pixel", | ||||
|     "apply_changes_description": "Um Änderungen an der Inhaltsbreite anzuwenden, klicke auf", | ||||
|     "reload_button": "Frontend neu laden", | ||||
|     "reload_description": "Änderungen an den Darstellungsoptionen", | ||||
|     "max_width_unit": "Pixel" | ||||
|   }, | ||||
|   "native_title_bar": { | ||||
|   | ||||
| @@ -1107,7 +1107,10 @@ | ||||
|     "title": "Content Width", | ||||
|     "default_description": "Trilium by default limits max content width to improve readability for maximized screens on wide screens.", | ||||
|     "max_width_label": "Max content width", | ||||
|     "max_width_unit": "pixels" | ||||
|     "max_width_unit": "pixels", | ||||
|     "apply_changes_description": "To apply content width changes, click on", | ||||
|     "reload_button": "reload frontend", | ||||
|     "reload_description": "changes from appearance options" | ||||
|   }, | ||||
|   "native_title_bar": { | ||||
|     "title": "Native Title Bar (requires app restart)", | ||||
|   | ||||
| @@ -104,7 +104,8 @@ | ||||
|     "export_status": "Estado de exportación", | ||||
|     "export_in_progress": "Exportación en curso: {{progressCount}}", | ||||
|     "export_finished_successfully": "La exportación finalizó exitosamente.", | ||||
|     "format_pdf": "PDF - para propósitos de impresión o compartición." | ||||
|     "format_pdf": "PDF - para propósitos de impresión o compartición.", | ||||
|     "share-format": "HTML para publicación web: utiliza el mismo tema que se utiliza en las notas compartidas, pero se puede publicar como un sitio web estático." | ||||
|   }, | ||||
|   "help": { | ||||
|     "noteNavigation": "Navegación de notas", | ||||
| @@ -184,7 +185,8 @@ | ||||
|     }, | ||||
|     "import-status": "Estado de importación", | ||||
|     "in-progress": "Importación en progreso: {{progress}}", | ||||
|     "successful": "Importación finalizada exitosamente." | ||||
|     "successful": "Importación finalizada exitosamente.", | ||||
|     "importZipRecommendation": "Al importar un archivo ZIP, la jerarquía de notas reflejará la estructura de subdirectorios dentro del archivo comprimido." | ||||
|   }, | ||||
|   "include_note": { | ||||
|     "dialog_title": "Incluir nota", | ||||
| @@ -1105,7 +1107,10 @@ | ||||
|     "title": "Ancho del contenido", | ||||
|     "default_description": "Trilium limita de forma predeterminada el ancho máximo del contenido para mejorar la legibilidad de ventanas maximizadas en pantallas anchas.", | ||||
|     "max_width_label": "Ancho máximo del contenido en píxeles", | ||||
|     "max_width_unit": "píxeles" | ||||
|     "max_width_unit": "píxeles", | ||||
|     "apply_changes_description": "Para aplicar cambios en el ancho del contenido, haga clic en", | ||||
|     "reload_button": "recargar la interfaz", | ||||
|     "reload_description": "cambios desde las opciones de apariencia" | ||||
|   }, | ||||
|   "native_title_bar": { | ||||
|     "title": "Barra de título nativa (requiere reiniciar la aplicación)", | ||||
| @@ -1711,7 +1716,9 @@ | ||||
|     "window-on-top": "Mantener esta ventana en la parte superior" | ||||
|   }, | ||||
|   "note_detail": { | ||||
|     "could_not_find_typewidget": "No se pudo encontrar typeWidget para el tipo '{{type}}'" | ||||
|     "could_not_find_typewidget": "No se pudo encontrar typeWidget para el tipo '{{type}}'", | ||||
|     "printing": "Impresión en curso...", | ||||
|     "printing_pdf": "Exportando a PDF en curso.." | ||||
|   }, | ||||
|   "note_title": { | ||||
|     "placeholder": "escriba el título de la nota aquí..." | ||||
|   | ||||
| @@ -1106,6 +1106,9 @@ | ||||
|     "title": "Largeur du contenu", | ||||
|     "default_description": "Trilium limite par défaut la largeur maximale du contenu pour améliorer la lisibilité sur des écrans larges.", | ||||
|     "max_width_label": "Largeur maximale du contenu en pixels", | ||||
|     "apply_changes_description": "Pour appliquer les modifications de largeur du contenu, cliquez sur", | ||||
|     "reload_button": "recharger l'interface", | ||||
|     "reload_description": "changements par rapport aux options d'apparence", | ||||
|     "max_width_unit": "Pixels" | ||||
|   }, | ||||
|   "native_title_bar": { | ||||
|   | ||||
| @@ -1573,7 +1573,10 @@ | ||||
|     "title": "Larghezza del contenuto", | ||||
|     "default_description": "Per impostazione predefinita, Trilium limita la larghezza massima del contenuto per migliorare la leggibilità sugli schermi più grandi.", | ||||
|     "max_width_label": "Larghezza massima del contenuto", | ||||
|     "max_width_unit": "pixel" | ||||
|     "max_width_unit": "pixel", | ||||
|     "apply_changes_description": "Per applicare le modifiche alla larghezza del contenuto, fare clic su", | ||||
|     "reload_button": "ricarica frontend", | ||||
|     "reload_description": "modifiche dalle opzioni di aspetto" | ||||
|   }, | ||||
|   "native_title_bar": { | ||||
|     "title": "Barra del titolo nativa (richiede il riavvio dell'app)", | ||||
|   | ||||
| @@ -254,7 +254,8 @@ | ||||
|     "export_status": "エクスポート状況", | ||||
|     "export_in_progress": "エクスポート処理中: {{progressCount}}", | ||||
|     "export_finished_successfully": "エクスポートが正常に完了しました。", | ||||
|     "format_pdf": "PDF - 印刷または共有目的に。" | ||||
|     "format_pdf": "PDF - 印刷または共有目的に。", | ||||
|     "share-format": "Web 公開用の HTML - 共有ノートで使用されるのと同じテーマを使用しますが、静的 Web サイトとして公開できます。" | ||||
|   }, | ||||
|   "help": { | ||||
|     "title": "チートシート", | ||||
| @@ -833,10 +834,13 @@ | ||||
|     "theme_defined": "テーマが定義されました" | ||||
|   }, | ||||
|   "max_content_width": { | ||||
|     "reload_button": "フロントエンドをリロード", | ||||
|     "title": "コンテンツ幅", | ||||
|     "default_description": "Triliumは、ワイドスクリーンで最大化された画面での可読性を向上させるために、デフォルトでコンテンツの最大幅を制限しています。", | ||||
|     "max_width_label": "最大コンテンツ幅", | ||||
|     "max_width_unit": "ピクセル" | ||||
|     "max_width_unit": "ピクセル", | ||||
|     "apply_changes_description": "コンテンツ幅の変更を適用するには、クリックしてください", | ||||
|     "reload_description": "外観設定から変更" | ||||
|   }, | ||||
|   "theme": { | ||||
|     "title": "アプリのテーマ", | ||||
|   | ||||
| @@ -1464,7 +1464,10 @@ | ||||
|     "title": "Szerokość zawartości", | ||||
|     "default_description": "Trilium domyślnie ogranicza maksymalną szerokość zawartości, aby poprawić czytelność na zmaksymalizowanych ekranach o dużej szerokości.", | ||||
|     "max_width_label": "Maksymalna szerokość zawartości", | ||||
|     "max_width_unit": "piksele" | ||||
|     "max_width_unit": "piksele", | ||||
|     "apply_changes_description": "Aby zastosować zmiany szerokości zawartości, kliknij na", | ||||
|     "reload_button": "przeładuj frontend", | ||||
|     "reload_description": "zmiany z opcji wyglądu" | ||||
|   }, | ||||
|   "native_title_bar": { | ||||
|     "title": "Natywny pasek tytułu (wymaga ponownego uruchomienia aplikacji)", | ||||
|   | ||||
| @@ -1082,7 +1082,10 @@ | ||||
|     "title": "Largura do Conteúdo", | ||||
|     "default_description": "Por padrão, o Trilium limita a largura máxima do conteúdo para melhorar a legibilidade em janelas maximizadas em ecrãs largos.", | ||||
|     "max_width_label": "Largura máxima do conteúdo", | ||||
|     "max_width_unit": "pixels" | ||||
|     "max_width_unit": "pixels", | ||||
|     "apply_changes_description": "Para aplicar as alterações de largura do conteúdo, clique em", | ||||
|     "reload_button": "recarregar frontend", | ||||
|     "reload_description": "alterações de opções de aparência" | ||||
|   }, | ||||
|   "native_title_bar": { | ||||
|     "title": "Barra de Título Nativa (requer recarregar a app)", | ||||
|   | ||||
| @@ -1304,6 +1304,9 @@ | ||||
|     "title": "Largura do Conteúdo", | ||||
|     "max_width_label": "Largura máxima do conteúdo", | ||||
|     "max_width_unit": "pixels", | ||||
|     "apply_changes_description": "Para aplicar as alterações de largura do conteúdo, clique em", | ||||
|     "reload_button": "recarregar frontend", | ||||
|     "reload_description": "alterações de opções de aparência", | ||||
|     "default_description": "Por padrão, o Trilium limita a largura máxima do conteúdo para melhorar a legibilidade em janelas maximizadas em telas wide." | ||||
|   }, | ||||
|   "native_title_bar": { | ||||
|   | ||||
| @@ -800,9 +800,12 @@ | ||||
|     "modal_body_text": "Din cauza limitărilor la nivel de navigator, nu este posibilă citirea clipboard-ului din JavaScript. Inserați Markdown-ul pentru a-l importa în caseta de mai jos și dați clic pe butonul Import" | ||||
|   }, | ||||
|   "max_content_width": { | ||||
|     "apply_changes_description": "Pentru a aplica schimbările de lățime a conținutului, dați click pe", | ||||
|     "default_description": "În mod implicit Trilium limitează lățimea conținutului pentru a îmbunătăți lizibilitatea pentru ferestrele maximizate pe ecrane late.", | ||||
|     "max_width_label": "Lungimea maximă a conținutului", | ||||
|     "max_width_unit": "pixeli", | ||||
|     "reload_button": "reîncarcă interfața", | ||||
|     "reload_description": "schimbări din opțiunile de afișare", | ||||
|     "title": "Lățime conținut" | ||||
|   }, | ||||
|   "mobile_detail_menu": { | ||||
|   | ||||
| @@ -1203,8 +1203,11 @@ | ||||
|   "max_content_width": { | ||||
|     "max_width_unit": "пикселей", | ||||
|     "title": "Ширина контентной области", | ||||
|     "reload_button": "перезагрузить интерфейс", | ||||
|     "default_description": "Trilium по умолчанию ограничивает максимальную ширину контента, чтобы улучшить читаемость на широких экранах.", | ||||
|     "max_width_label": "Максимальная ширина контентной области" | ||||
|     "max_width_label": "Максимальная ширина контентной области", | ||||
|     "apply_changes_description": "Чтобы применить изменения, нажмите на", | ||||
|     "reload_description": "изменения в параметрах внешнего вида" | ||||
|   }, | ||||
|   "native_title_bar": { | ||||
|     "enabled": "включено", | ||||
|   | ||||
| @@ -104,7 +104,8 @@ | ||||
|     "export_in_progress": "正在匯出:{{progressCount}}", | ||||
|     "export_finished_successfully": "成功匯出。", | ||||
|     "format_html": "HTML - 推薦,因為它保留了所有格式", | ||||
|     "format_pdf": "PDF - 用於列印或與他人分享。" | ||||
|     "format_pdf": "PDF - 用於列印或與他人分享。", | ||||
|     "share-format": "HTML 網頁發佈——使用與共享筆記相同的佈景主題,但可發佈為靜態網站。" | ||||
|   }, | ||||
|   "help": { | ||||
|     "noteNavigation": "筆記導航", | ||||
| @@ -1103,6 +1104,9 @@ | ||||
|     "title": "內容寬度", | ||||
|     "default_description": "Trilium 預設會限制內容的最大寬度以提高在寬螢幕中全螢幕時的可讀性。", | ||||
|     "max_width_label": "內容最大寬度(像素)", | ||||
|     "apply_changes_description": "要套用內容寬度更改,請點擊", | ||||
|     "reload_button": "重新載入前端", | ||||
|     "reload_description": "來自外觀選項的更改", | ||||
|     "max_width_unit": "像素" | ||||
|   }, | ||||
|   "native_title_bar": { | ||||
|   | ||||
| @@ -1204,7 +1204,10 @@ | ||||
|     "title": "Ширина вмісту", | ||||
|     "default_description": "Trilium за замовчуванням обмежує максимальну ширину вмісту, щоб поліпшити читабельність на широкоформатних екранах у режимі максимального розширення.", | ||||
|     "max_width_label": "Максимальна ширина вмісту", | ||||
|     "max_width_unit": "пікселів" | ||||
|     "max_width_unit": "пікселів", | ||||
|     "apply_changes_description": "Щоб застосувати зміни ширини вмісту, натисніть на", | ||||
|     "reload_button": "перезавантажити інтерфейс", | ||||
|     "reload_description": "зміни в параметрах зовнішнього вигляду" | ||||
|   }, | ||||
|   "native_title_bar": { | ||||
|     "title": "Нативний рядок заголовка (потрібен перезапуск)", | ||||
|   | ||||
| @@ -23,24 +23,6 @@ export class CssVarReader { | ||||
|         return (!isNaN(number.valueOf()) ? number.valueOf() : defaultValue) | ||||
|     } | ||||
|  | ||||
|     asBoolean(defaultValue?: boolean) { | ||||
|         let value = this.value.toLocaleLowerCase().trim(); | ||||
|         let result: boolean | undefined; | ||||
|  | ||||
|         switch (value) { | ||||
|             case "true": | ||||
|             case "1": | ||||
|                 result = true; | ||||
|                 break; | ||||
|             case "false": | ||||
|             case "0": | ||||
|                 result = false; | ||||
|                 break; | ||||
|         } | ||||
|  | ||||
|         return (result !== undefined) ? result : defaultValue; | ||||
|     } | ||||
|  | ||||
|     asEnum<T>(enumType: T, defaultValue?: T[keyof T]): T[keyof T] | undefined { | ||||
|         let result: T[keyof T] | undefined; | ||||
|  | ||||
|   | ||||
| @@ -6,7 +6,7 @@ | ||||
| .floating-buttons-children, | ||||
| .show-floating-buttons { | ||||
|     position: absolute; | ||||
|     top: var(--floating-buttons-vert-offset, 14px); | ||||
|     top: var(--floating-buttons-vert-offset, 10px); | ||||
|     inset-inline-end: var(--floating-buttons-horiz-offset, 10px); | ||||
|     display: flex; | ||||
|     flex-direction: row; | ||||
|   | ||||
| @@ -1,6 +1,5 @@ | ||||
| .note-list-widget { | ||||
|     min-height: 0; | ||||
|     max-width: var(--max-content-width); /* Inherited from .note-split */ | ||||
|     overflow: auto; | ||||
|     contain: none !important; | ||||
| } | ||||
|   | ||||
| @@ -1,10 +1,9 @@ | ||||
| import { EventData } from "../../components/app_context.js"; | ||||
| import { LOCALES } from "@triliumnext/commons"; | ||||
| import { readCssVar } from "../../utils/css-var.js"; | ||||
| import FlexContainer from "./flex_container.js"; | ||||
| import options from "../../services/options.js"; | ||||
| import type BasicWidget from "../basic_widget.js"; | ||||
| import utils from "../../services/utils.js"; | ||||
| import { LOCALES } from "@triliumnext/commons"; | ||||
|  | ||||
| /** | ||||
|  * The root container is the top-most widget/container, from which the entire layout derives. | ||||
| @@ -31,11 +30,9 @@ export default class RootContainer extends FlexContainer<BasicWidget> { | ||||
|             window.visualViewport?.addEventListener("resize", () => this.#onMobileResize()); | ||||
|         } | ||||
|  | ||||
|         this.#setMaxContentWidth(options.getInt("maxContentWidth") ?? 0); | ||||
|         this.#setMotion(options.is("motionEnabled")); | ||||
|         this.#setShadows(options.is("shadowsEnabled")); | ||||
|         this.#setBackdropEffects(options.is("backdropEffectsEnabled")); | ||||
|         this.#setThemeCapabilities(); | ||||
|         this.#setLocaleAndDirection(options.get("locale")); | ||||
|  | ||||
|         return super.render(); | ||||
| @@ -53,24 +50,14 @@ export default class RootContainer extends FlexContainer<BasicWidget> { | ||||
|         if (loadResults.isOptionReloaded("backdropEffectsEnabled")) { | ||||
|             this.#setBackdropEffects(options.is("backdropEffectsEnabled")); | ||||
|         } | ||||
|  | ||||
|         if (loadResults.isOptionReloaded("maxContentWidth")) { | ||||
|             this.#setMaxContentWidth(options.getInt("maxContentWidth") ?? 0); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|  | ||||
|     #onMobileResize() { | ||||
|         const currentViewportHeight = getViewportHeight(); | ||||
|         const isKeyboardOpened = (currentViewportHeight < this.originalViewportHeight); | ||||
|         this.$widget.toggleClass("virtual-keyboard-opened", isKeyboardOpened); | ||||
|     } | ||||
|  | ||||
|     #setMaxContentWidth(width: number) { | ||||
|         width = Math.max(width, 640); | ||||
|         document.body.style.setProperty("--preferred-max-content-width", `${width}px`); | ||||
|     } | ||||
|  | ||||
|     #setMotion(enabled: boolean) { | ||||
|         document.body.classList.toggle("motion-disabled", !enabled); | ||||
|         jQuery.fx.off = !enabled; | ||||
| @@ -84,15 +71,6 @@ export default class RootContainer extends FlexContainer<BasicWidget> { | ||||
|         document.body.classList.toggle("backdrop-effects-disabled", !enabled); | ||||
|     } | ||||
|  | ||||
|     #setThemeCapabilities() { | ||||
|         // Supports background effects | ||||
|  | ||||
|         const useBgfx = readCssVar(document.documentElement, "allow-background-effects") | ||||
|                         .asBoolean(false); | ||||
|  | ||||
|         document.body.classList.toggle("theme-supports-background-effects", useBgfx); | ||||
|     } | ||||
|  | ||||
|     #setLocaleAndDirection(locale: string) { | ||||
|         const correspondingLocale = LOCALES.find(l => l.id === locale); | ||||
|         document.body.lang = locale; | ||||
|   | ||||
| @@ -79,8 +79,8 @@ export default function ExportDialog() { | ||||
|                         values={[ | ||||
|                             { value: "html", label: t("export.format_html_zip") }, | ||||
|                             { value: "markdown", label: t("export.format_markdown") }, | ||||
|                             { value: "opml", label: t("export.format_opml") }, | ||||
|                             { value: "share", label: t("export.share-format") } | ||||
|                             { value: "share", label: t("export.share-format") }, | ||||
|                             { value: "opml", label: t("export.format_opml") } | ||||
|                         ]} | ||||
|                     /> | ||||
|  | ||||
|   | ||||
| @@ -57,19 +57,17 @@ const TPL = /*html*/`\ | ||||
|         } | ||||
|     </style> | ||||
|  | ||||
|     <div class="quick-edit-dialog-wrapper"> | ||||
|         <div class="modal-dialog modal-lg" role="document"> | ||||
|             <div class="modal-content"> | ||||
|                 <div class="modal-header"> | ||||
|                     <div class="modal-title"> | ||||
|                         <!-- This is where the first child will be injected --> | ||||
|                     </div> | ||||
|                     <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> | ||||
|     <div class="modal-dialog modal-lg" role="document"> | ||||
|         <div class="modal-content"> | ||||
|             <div class="modal-header"> | ||||
|                 <div class="modal-title"> | ||||
|                     <!-- This is where the first child will be injected --> | ||||
|                 </div> | ||||
|                 <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> | ||||
|             </div> | ||||
|  | ||||
|                 <div class="modal-body"> | ||||
|                     <!-- This is where all but the first child will be injected. --> | ||||
|                 </div> | ||||
|             <div class="modal-body"> | ||||
|                 <!-- This is where all but the first child will be injected. --> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
| @@ -81,7 +79,6 @@ export default class PopupEditorDialog extends Container<BasicWidget> { | ||||
|     private noteContext: NoteContext; | ||||
|     private $modalHeader!: JQuery<HTMLElement>; | ||||
|     private $modalBody!: JQuery<HTMLElement>; | ||||
|     private $wrapper!: JQuery<HTMLDivElement>; | ||||
|  | ||||
|     constructor() { | ||||
|         super(); | ||||
| @@ -96,7 +93,6 @@ export default class PopupEditorDialog extends Container<BasicWidget> { | ||||
|         const $newWidget = $(TPL); | ||||
|         this.$modalHeader = $newWidget.find(".modal-title"); | ||||
|         this.$modalBody = $newWidget.find(".modal-body"); | ||||
|         this.$wrapper = $newWidget.find(".quick-edit-dialog-wrapper"); | ||||
|  | ||||
|         const children = this.$widget.children(); | ||||
|         this.$modalHeader.append(children[0]); | ||||
| @@ -116,21 +112,6 @@ export default class PopupEditorDialog extends Container<BasicWidget> { | ||||
|             } | ||||
|         }); | ||||
|  | ||||
|         const colorClass = this.noteContext.note?.getColorClass(); | ||||
|         const wrapperElement = this.$wrapper.get(0)!; | ||||
|  | ||||
|         if (colorClass) { | ||||
|             wrapperElement.className = "quick-edit-dialog-wrapper " + colorClass; | ||||
|         } else { | ||||
|             wrapperElement.className = "quick-edit-dialog-wrapper"; | ||||
|         } | ||||
|  | ||||
|         const customHue = getComputedStyle(wrapperElement).getPropertyValue("--custom-color-hue"); | ||||
|         if (customHue) { | ||||
|             /* Apply the tinted-dialog class only if the custom color CSS class specifies a hue */ | ||||
|             wrapperElement.classList.add("tinted-quick-edit-dialog"); | ||||
|         } | ||||
|  | ||||
|         const activeEl = document.activeElement; | ||||
|         if (activeEl && "blur" in activeEl) { | ||||
|             (activeEl as HTMLElement).blur(); | ||||
|   | ||||
| @@ -39,7 +39,6 @@ const TPL = /*html*/` | ||||
| <div class="note-detail"> | ||||
|     <style> | ||||
|     .note-detail { | ||||
|         max-width: var(--max-content-width); /* Inherited from .note-split */ | ||||
|         font-family: var(--detail-font-family); | ||||
|         font-size: var(--detail-font-size); | ||||
|     } | ||||
|   | ||||
| @@ -52,7 +52,6 @@ export default class NoteWrapperWidget extends FlexContainer<BasicWidget> { | ||||
|  | ||||
|         const note = this.noteContext?.note; | ||||
|         if (!note) { | ||||
|             this.$widget.addClass("bgfx"); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
| @@ -62,7 +61,7 @@ export default class NoteWrapperWidget extends FlexContainer<BasicWidget> { | ||||
|  | ||||
|         this.$widget.addClass(utils.getNoteTypeClass(note.type)); | ||||
|         this.$widget.addClass(utils.getMimeTypeClass(note.mime)); | ||||
|         this.$widget.toggleClass("bgfx", note.isOptions()); | ||||
|  | ||||
|         this.$widget.toggleClass("protected", note.isProtected); | ||||
|  | ||||
|         const noteLanguage = note?.getLabelValue("language"); | ||||
| @@ -71,7 +70,7 @@ export default class NoteWrapperWidget extends FlexContainer<BasicWidget> { | ||||
|     } | ||||
|  | ||||
|     #isFullWidthNote(note: FNote) { | ||||
|         if (["code", "image", "mermaid", "book", "render", "canvas", "webView", "mindMap"].includes(note.type)) { | ||||
|         if (["image", "mermaid", "book", "render", "canvas", "webView", "mindMap"].includes(note.type)) { | ||||
|             return true; | ||||
|         } | ||||
|  | ||||
|   | ||||
| @@ -299,6 +299,10 @@ function MaxContentWidth() { | ||||
|                     /> | ||||
|                 </FormGroup> | ||||
|             </Column> | ||||
|  | ||||
|             <p> | ||||
|                 {t("max_content_width.apply_changes_description")} <Button text={t("max_content_width.reload_button")} size="micro" onClick={reloadFrontendApp} /> | ||||
|             </p> | ||||
|         </OptionsSection> | ||||
|     ) | ||||
| } | ||||
|   | ||||
| @@ -101,7 +101,7 @@ function TokenList({ tokens }: { tokens: EtapiToken[] }) { | ||||
|  | ||||
|     return ( | ||||
|         tokens.length ? ( | ||||
|             <div style={{ overflow: "auto"}}> | ||||
|             <div style={{ overflow: "auto", height: "500px"}}> | ||||
|                 <table className="table table-stripped"> | ||||
|                     <thead> | ||||
|                         <tr> | ||||
|   | ||||
							
								
								
									
										2
									
								
								apps/server/src/assets/doc_notes/en/User Guide/!!!meta.json
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						| Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 168 KiB | 
| Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB | 
| Before Width: | Height: | Size: 172 KiB After Width: | Height: | Size: 172 KiB | 
| Before Width: | Height: | Size: 167 KiB After Width: | Height: | Size: 167 KiB | 
| Before Width: | Height: | Size: 237 KiB After Width: | Height: | Size: 237 KiB | 
| Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 202 KiB | 
| Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB | 
| Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB | 
| Before Width: | Height: | Size: 191 KiB After Width: | Height: | Size: 191 KiB | 
| @@ -1,5 +1,5 @@ | ||||
| <figure class="image image_resized" style="width:63.68%;"> | ||||
|   <img style="aspect-ratio:1363/1364;" src="Introduction_image.png" | ||||
|   <img style="aspect-ratio:1363/1364;" src="AI_image.png" | ||||
|   width="1363" height="1364"> | ||||
|   <figcaption>An example chat with an LLM</figcaption> | ||||
| </figure> | ||||
| @@ -11,12 +11,12 @@ | ||||
| <p>The quickest way to get started is to navigate to the “AI/LLM” settings:</p> | ||||
| <figure | ||||
| class="image image_resized" style="width:74.04%;"> | ||||
|   <img style="aspect-ratio:1916/1906;" src="5_Introduction_image.png" | ||||
|   <img style="aspect-ratio:1916/1906;" src="5_AI_image.png" | ||||
|   width="1916" height="1906"> | ||||
|   </figure> | ||||
|   <p>Enable the feature:</p> | ||||
|   <figure class="image image_resized" style="width:82.82%;"> | ||||
|     <img style="aspect-ratio:1911/997;" src="1_Introduction_image.png" | ||||
|     <img style="aspect-ratio:1911/997;" src="1_AI_image.png" | ||||
|     width="1911" height="997"> | ||||
|   </figure> | ||||
|    | ||||
| @@ -43,7 +43,7 @@ class="image image_resized" style="width:74.04%;"> | ||||
|     We will then hit the “refresh” button to have it fetch our models:</p> | ||||
|   <figure | ||||
|   class="image image_resized" style="width:82.28%;"> | ||||
|     <img style="aspect-ratio:1912/1075;" src="4_Introduction_image.png" | ||||
|     <img style="aspect-ratio:1912/1075;" src="4_AI_image.png" | ||||
|     width="1912" height="1075"> | ||||
|     </figure> | ||||
|     <p>When selecting the dropdown for the “Embedding Model”, embedding models | ||||
| @@ -51,21 +51,21 @@ class="image image_resized" style="width:74.04%;"> | ||||
|       a horizontal line, as seen below:</p> | ||||
|     <figure class="image image_resized" | ||||
|     style="width:61.73%;"> | ||||
|       <img style="aspect-ratio:1232/959;" src="8_Introduction_image.png" | ||||
|       <img style="aspect-ratio:1232/959;" src="8_AI_image.png" | ||||
|       width="1232" height="959"> | ||||
|     </figure> | ||||
|     <p>After selecting an embedding model, embeddings should automatically begin | ||||
|       to be generated by checking the embedding statistics at the top of the | ||||
|       “AI/LLM” settings panel:</p> | ||||
|     <figure class="image image_resized" style="width:67.06%;"> | ||||
|       <img style="aspect-ratio:1333/499;" src="7_Introduction_image.png" | ||||
|       <img style="aspect-ratio:1333/499;" src="7_AI_image.png" | ||||
|       width="1333" height="499"> | ||||
|     </figure> | ||||
|     <p>If you don't see any embeddings being created, you will want to scroll | ||||
|       to the bottom of the settings, and hit “Recreate All Embeddings”:</p> | ||||
|     <figure | ||||
|     class="image image_resized" style="width:65.69%;"> | ||||
|       <img style="aspect-ratio:1337/1490;" src="3_Introduction_image.png" | ||||
|       <img style="aspect-ratio:1337/1490;" src="3_AI_image.png" | ||||
|       width="1337" height="1490"> | ||||
|       </figure> | ||||
|       <p>Creating the embeddings will take some time, and will be regenerated when | ||||
| @@ -139,7 +139,7 @@ class="image image_resized" style="width:74.04%;"> | ||||
|       <p>When Tools are executed within your Chat, you'll see output like the following:</p> | ||||
|       <figure | ||||
|       class="image image_resized" style="width:66.88%;"> | ||||
|         <img style="aspect-ratio:1372/1591;" src="6_Introduction_image.png" | ||||
|         <img style="aspect-ratio:1372/1591;" src="6_AI_image.png" | ||||
|         width="1372" height="1591"> | ||||
|         </figure> | ||||
|         <p>You don't need to tell the LLM to execute a certain tool, it should “smartly” | ||||
| @@ -149,13 +149,13 @@ class="image image_resized" style="width:74.04%;"> | ||||
|           use the “Chat with Notes” button, where you can go ahead and start chatting!:</p> | ||||
|         <figure | ||||
|         class="image image_resized" style="width:60.77%;"> | ||||
|           <img style="aspect-ratio:1378/539;" src="2_Introduction_image.png" | ||||
|           <img style="aspect-ratio:1378/539;" src="2_AI_image.png" | ||||
|           width="1378" height="539"> | ||||
|           </figure> | ||||
|           <p>If you don't see the “Chat with Notes” button on your side launchbar, | ||||
|             you might need to move it from the “Available Launchers” section to the | ||||
|             “Visible Launchers” section:</p> | ||||
|           <figure class="image image_resized" style="width:69.81%;"> | ||||
|             <img style="aspect-ratio:1765/1287;" src="9_Introduction_image.png" | ||||
|             <img style="aspect-ratio:1765/1287;" src="9_AI_image.png" | ||||
|             width="1765" height="1287"> | ||||
|           </figure> | ||||
| Before Width: | Height: | Size: 186 KiB After Width: | Height: | Size: 186 KiB | 
| @@ -11,12 +11,12 @@ | ||||
| <p>To set your preferred chat model, you'll want to enter the provider's | ||||
|   name here:</p> | ||||
| <figure class="image image_resized" style="width:88.38%;"> | ||||
|   <img style="aspect-ratio:1884/1267;" src="AI Provider Information_im.png" | ||||
|   <img style="aspect-ratio:1884/1267;" src="Providers_image.png" | ||||
|   width="1884" height="1267"> | ||||
| </figure> | ||||
| <p>And to set your preferred embedding provider:</p> | ||||
| <figure class="image image_resized" | ||||
| style="width:93.47%;"> | ||||
|   <img style="aspect-ratio:1907/1002;" src="1_AI Provider Information_im.png" | ||||
|   <img style="aspect-ratio:1907/1002;" src="1_Providers_image.png" | ||||
|   width="1907" height="1002"> | ||||
| </figure> | ||||
| Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB | 
| Before Width: | Height: | Size: 270 KiB After Width: | Height: | Size: 270 KiB | 
| Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB | 
| Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB | 
| Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB | 
| Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB | 
| Before Width: | Height: | Size: 198 KiB After Width: | Height: | Size: 198 KiB | 
| Before Width: | Height: | Size: 175 KiB After Width: | Height: | Size: 175 KiB | 
| @@ -6,7 +6,16 @@ | ||||
|   <li>Note Map, which shows the hierarchical tree structure.</li> | ||||
| </ul> | ||||
| <h2>Link Map</h2> | ||||
| <p>Shows <a href="#root/_help_zEY4DaJG4YT5">relations</a> between notes:</p> | ||||
| <p>The Link map is a visualization of links and <a class="reference-link" | ||||
|   href="#root/_help_Cq5X6iKQop6R">Relations</a> incoming to and outgoing from | ||||
|   a particular note.</p> | ||||
| <p>The map indicates the following types of relations:</p> | ||||
| <ul> | ||||
|   <li><a class="reference-link" href="#root/_help_hrZ1D00cLbal">Internal (reference) links</a> between | ||||
|     notes.</li> | ||||
|   <li><a class="reference-link" href="#root/_help_Cq5X6iKQop6R">Relations</a> | ||||
|   </li> | ||||
| </ul> | ||||
| <p> | ||||
|   <img src="1_Note Map (Link map, Tree m.png"> | ||||
| </p> | ||||
|   | ||||
							
								
								
									
										125
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Advanced Usage/Sharing.html
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						| @@ -149,7 +149,7 @@ class="image"> | ||||
|         </td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <th><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map View</a> | ||||
|         <th><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map</a> | ||||
|         </th> | ||||
|         <td>Not supported.</td> | ||||
|         <td> </td> | ||||
| @@ -208,9 +208,19 @@ class="image"> | ||||
|     This allows you to manage and navigate through all the notes you have made | ||||
|     public.</p> | ||||
|   <h2>Security considerations</h2> | ||||
|   <p>Shared notes are published on the open internet and can be accessed by | ||||
|     anyone with the URL. The URL's randomness does not provide security, so | ||||
|     it is crucial not to share sensitive information through this feature.</p> | ||||
|   <ul> | ||||
|     <li>Shared notes are published on the open internet and can be accessed by | ||||
|       anyone with the URL unless the notes are password-protected.</li> | ||||
|     <li>The URL's randomness does not provide security, so it is crucial not to | ||||
|       share sensitive information through this feature.</li> | ||||
|     <li>Trilium takes precautions to protect your publicly shared instance from | ||||
|       leaking information for non-shared notes, including opening a separate | ||||
|       read-only connection to the <a class="reference-link" href="#root/_help_wX4HbRucYSDD">Database</a>. | ||||
|       Depending on your threat model, it might make more sense to use  | ||||
|       <a | ||||
|       class="reference-link" href="#root/_help_ycBFjKrrwE9p">Exporting HTML for web publishing</a> and use battle-tested web servers | ||||
|         such as Nginx or Apache to serve static content.</li> | ||||
|   </ul> | ||||
|   <h3>Password protection</h3> | ||||
|   <p>To protect shared notes with a username and password, you can use the <code>#shareCredentials</code> attribute. | ||||
|     Add this label to the note with the format <code>#shareCredentials="username:password"</code>. | ||||
| @@ -280,6 +290,15 @@ for (const attr of parentNote.attributes) { | ||||
|     <li>Using slashes (<code>/</code>) within aliases to create subpaths is not | ||||
|       supported.</li> | ||||
|   </ol> | ||||
|   <aside class="admonition tip"> | ||||
|     <ul> | ||||
|       <li>To easily identify pages that don't have a share alias, run a  | ||||
|         <a | ||||
|         class="reference-link" href="#root/_help_eIg8jdvaoNNd">Search</a> with <code>#!shareAlias</code>.</li> | ||||
|       <li>To be able to enter the share alias faster, consider using <a class="reference-link" | ||||
|         href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a> (for example <code>#label:shareAlias(inheritable)="promoted,alias=Slug,single,text"</code>).</li> | ||||
|     </ul> | ||||
|   </aside> | ||||
|   <h3>Setting a custom favicon</h3> | ||||
|   <p>To customize the favicon for your shared pages, create a relation <code>~shareFavicon</code> pointing | ||||
|     to a file note containing the favicon (e.g., in <code>.ico</code> format).</p> | ||||
| @@ -300,7 +319,11 @@ for (const attr of parentNote.attributes) { | ||||
|     When viewed, the list of shared roots will be displayed at the bottom of | ||||
|     the note.</p> | ||||
|   <h2>Attribute reference</h2> | ||||
|   <table> | ||||
|   <table class="ck-table-resized"> | ||||
|     <colgroup> | ||||
|       <col style="width:18.38%;"> | ||||
|         <col style="width:81.62%;"> | ||||
|     </colgroup> | ||||
|     <thead> | ||||
|       <tr> | ||||
|         <th>Attribute</th> | ||||
| @@ -309,40 +332,40 @@ for (const attr of parentNote.attributes) { | ||||
|     </thead> | ||||
|     <tbody> | ||||
|       <tr> | ||||
|         <td><code>shareHiddenFromTree</code> | ||||
|         <td><code>#shareHiddenFromTree</code> | ||||
|         </td> | ||||
|         <td>this note is hidden from left navigation tree, but still accessible with | ||||
|           its URL</td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td><code>shareExternalLink</code> | ||||
|         <td><code>#shareExternalLink</code> | ||||
|         </td> | ||||
|         <td>note will act as a link to an external website in the share tree</td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td><code>shareAlias</code> | ||||
|         <td><code>#shareAlias</code> | ||||
|         </td> | ||||
|         <td>define an alias using which the note will be available under <code>https://your_trilium_host/share/[your_alias]</code> | ||||
|         </td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td><code>shareOmitDefaultCss</code> | ||||
|         <td><code>#shareOmitDefaultCss</code> | ||||
|         </td> | ||||
|         <td>default share page CSS will be omitted. Use when you make extensive styling | ||||
|           changes.</td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td><code>shareRoot</code> | ||||
|         <td><code>#shareRoot</code> | ||||
|         </td> | ||||
|         <td>marks note which is served on /share root.</td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td><code>shareDescription</code> | ||||
|         <td><code>#shareDescription</code> | ||||
|         </td> | ||||
|         <td>define text to be added to the HTML meta tag for description</td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td><code>shareRaw</code> | ||||
|         <td><code>#shareRaw</code> | ||||
|         </td> | ||||
|         <td>Note will be served in its raw format, without HTML wrapper. See also  | ||||
|           <a | ||||
| @@ -350,7 +373,7 @@ for (const attr of parentNote.attributes) { | ||||
|             without setting an attribute.</td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td><code>shareDisallowRobotIndexing</code> | ||||
|         <td><code>#shareDisallowRobotIndexing</code> | ||||
|         </td> | ||||
|         <td> | ||||
|           <p>Indicates to web crawlers that the page should not be indexed of this | ||||
| @@ -362,19 +385,19 @@ for (const attr of parentNote.attributes) { | ||||
|         </td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td><code>shareCredentials</code> | ||||
|         <td><code>#shareCredentials</code> | ||||
|         </td> | ||||
|         <td>require credentials to access this shared note. Value is expected to be | ||||
|           in format <code>username:password</code>. Don't forget to make this inheritable | ||||
|           to apply to child-notes/images.</td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td><code>shareIndex</code> | ||||
|         <td><code>#shareIndex</code> | ||||
|         </td> | ||||
|         <td>Note with this label will list all roots of shared notes.</td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td><code>shareHtmlLocation</code> | ||||
|         <td><code>#shareHtmlLocation</code> | ||||
|         </td> | ||||
|         <td>defines where custom HTML injected via <code>~shareHtml</code> relation | ||||
|           should be placed. Applied to the HTML snippet note itself. Format: <code>location:position</code> where | ||||
| @@ -384,6 +407,76 @@ for (const attr of parentNote.attributes) { | ||||
|     </tbody> | ||||
|   </table> | ||||
|    | ||||
| <h3>Customizing logo</h3> | ||||
|   <p>It's possible to adjust the logo which is displayed on the top-left of | ||||
|     the left pane.</p> | ||||
|   <table> | ||||
|     <thead> | ||||
|       <tr> | ||||
|         <th>Attribute</th> | ||||
|         <th>Description</th> | ||||
|       </tr> | ||||
|     </thead> | ||||
|     <tbody> | ||||
|       <tr> | ||||
|         <td><code>~shareLogo</code> | ||||
|         </td> | ||||
|         <td>Relation set to an image to use as logo. The image must be part of the | ||||
|           share tree (it can be hidden if needed).</td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td><code>#shareLogoWidth</code> | ||||
|         </td> | ||||
|         <td>The width (in pixels, without unit) to set for the logo. Default is <code>53</code>.</td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td><code>#shareLogoHeight</code> | ||||
|         </td> | ||||
|         <td>The height (in pixels, without unit) to set for the logo. Default is <code>40</code>.</td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td><code>#shareRootLink</code> | ||||
|         </td> | ||||
|         <td>URL to navigate to when the logo is pressed.</td> | ||||
|       </tr> | ||||
|     </tbody> | ||||
|   </table> | ||||
|    | ||||
| <h3>Customizing OpenGraph</h3> | ||||
|   <table> | ||||
|     <thead> | ||||
|       <tr> | ||||
|         <th>Attribute</th> | ||||
|         <th>Description</th> | ||||
|       </tr> | ||||
|     </thead> | ||||
|     <tbody> | ||||
|       <tr> | ||||
|         <td><code>#shareOpenGraphColor</code> | ||||
|         </td> | ||||
|         <td>This adjusts the <code>theme-color</code> meta-property.</td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td><code>#shareOpenGraphURL</code> | ||||
|         </td> | ||||
|         <td>This adjusts the <code>og:url</code> and <code>twitter:url</code> meta-properties.</td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td><code>#shareOpenGraphDomain</code> | ||||
|         </td> | ||||
|         <td>Adjusts the <code>twitter:domain</code> meta-property.</td> | ||||
|       </tr> | ||||
|       <tr> | ||||
|         <td><code>#shareOpenGraphImage</code>  | ||||
|           <br><code>~shareOpenGraphImage</code> | ||||
|         </td> | ||||
|         <td>Can be either a label, case in which the value is passed on as-is, or | ||||
|           it can be a relation to an image <a class="reference-link" href="#root/_help_W8vYD3Q1zjCR">File</a>. | ||||
|           This controls the <code>og:image</code> meta-property.</td> | ||||
|       </tr> | ||||
|     </tbody> | ||||
|   </table> | ||||
|    | ||||
| <h2>Credits</h2> | ||||
|   <p>Since v0.95.0, a new theme was introduced (and enabled by default) which | ||||
|     greatly improves the visual aspect of the Share feature, as well as its | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| <p>As described in <a class="reference-link" href="#root/pOsGYCXsbNQG/tC7s2alapj8V/_help_R9pX4DGra2Vt">Sharing</a>, | ||||
| <p>As described in <a class="reference-link" href="#root/_help_R9pX4DGra2Vt">Sharing</a>, | ||||
|   Trilium can act as a public server in which the shared notes are displayed | ||||
|   in read-only mode. While this can work in most cases, it's generally not | ||||
|   meant for high-traffic websites and since it's running on a Node.js server | ||||
| @@ -7,7 +7,7 @@ | ||||
|   static site generators such as <a href="https://www.mkdocs.org/">MkDocs</a>). | ||||
|   Since the normal HTML ZIP export does not contain any styling or additional | ||||
|   functionality, Trilium provides a way to export the same layout and style | ||||
|   as the <a class="reference-link" href="#root/pOsGYCXsbNQG/tC7s2alapj8V/_help_R9pX4DGra2Vt">Sharing</a> function | ||||
|   as the <a class="reference-link" href="#root/_help_R9pX4DGra2Vt">Sharing</a> function | ||||
|   into static HTML files.</p> | ||||
| <p>Apart from the enhanced security, these HTML files are also easy to deploy | ||||
|   on “serverless” deployments such as GitHub Pages or CloudFlare Pages and | ||||
| @@ -20,26 +20,25 @@ | ||||
|     importing the Markdown documentation and exporting it via a script to the | ||||
|     static web format.</p> | ||||
| </aside> | ||||
| <h2>Differences from normal sharing and export</h2> | ||||
| <p>Apart from normal <a class="reference-link" href="#root/pOsGYCXsbNQG/tC7s2alapj8V/_help_R9pX4DGra2Vt">Sharing</a>, | ||||
| <h2>Differences from normal sharing</h2> | ||||
| <p>Apart from normal <a class="reference-link" href="#root/_help_R9pX4DGra2Vt">Sharing</a>, | ||||
|   exporting to static HTML files comes with a few subtle differences:</p> | ||||
| <ul> | ||||
|   <li data-list-item-id="e9e5a7d50e33698fb322f4dc65108f3a9">The URL structure is different. Where in normal sharing it's something | ||||
|   <li>The URL structure is different. Where in normal sharing it's something | ||||
|     along the way of <code>example.com/share/noteid</code>, the notes follow | ||||
|     an hierarchical structure, such as <code>docs.triliumnotes.org/user-guide/concepts/navigation/tree-concepts</code>.</li> | ||||
|   <li | ||||
|   data-list-item-id="e3995e60b9751ea177ac920a901635d4b">The <code>favicon.ico</code> is not handled automatically, it needs to be | ||||
|   <li>The <code>favicon.ico</code> is not handled automatically, it needs to be | ||||
|     manually added on the server after the export is generated.</li> | ||||
|     <li data-list-item-id="e72c2a986808ce27eb3bb5001fe4710cb">The “Last updated” for notes is not available.</li> | ||||
|     <li data-list-item-id="e53e8959701206c7a064ba811c0123bef">The search functionality works slightly different since the normal one | ||||
|       requires an active API to work. In the static export, search still works | ||||
|       but uses a different mechanism so results might be different.</li> | ||||
|   <li>The “Last updated” for notes is not available.</li> | ||||
|   <li>The search functionality works slightly different since the normal one | ||||
|     requires an active API to work. In the static export, search still works | ||||
|     but uses a different mechanism so results might be different.</li> | ||||
| </ul> | ||||
| <h2>Differences from normal .zip export</h2> | ||||
| <ul> | ||||
|   <li data-list-item-id="e8a16c7135d6f6c4de3bc448bd8795289">The name of the files/URLs will prefer <code>shareAlias</code> to allow | ||||
|   <li>The name of the files/URLs will prefer <code>shareAlias</code> to allow | ||||
|     for clean URLs.</li> | ||||
|   <li data-list-item-id="ef8bfdfc599c07ba70fbb4be97a3e26ab">The export requires a functional web server as the pages will not render | ||||
|   <li>The export requires a functional web server as the pages will not render | ||||
|     properly if accessed locally via a web browser due to the use of module | ||||
|     scripts.</li> | ||||
| </ul> | ||||
| @@ -50,7 +49,10 @@ | ||||
|   can be installed via:</p><pre><code class="language-text-x-trilium-auto">npm i -g http-server</code></pre> | ||||
| <p>Once installed simply:</p> | ||||
| <ol> | ||||
|   <li data-list-item-id="ebc8d02c8cdcdb030c746f1fd5eccb5bd">Extract the exported .zip file.</li> | ||||
|   <li data-list-item-id="e1d20f408fb89d0af0c1003984373f808">Inside the extracted directory, run <code>http-server</code>.</li> | ||||
|   <li data-list-item-id="ecf0c59f3a26c8e766bb1d739f8355e33">Access the indicated address (e.g. http://localhost:8080).</li> | ||||
| </ol> | ||||
|   <li>Extract the exported .zip file.</li> | ||||
|   <li>Inside the extracted directory, run <code>http-server</code>.</li> | ||||
|   <li>Access the indicated address (e.g. <a href="http://localhost:8080">http://localhost:8080</a>).</li> | ||||
| </ol> | ||||
| <h2>Automation</h2> | ||||
| <p><a class="reference-link" href="#root/_help_pgxEVkzLl1OP">ETAPI (REST API)</a> could | ||||
|   potentially be used to automate an export on a scheduled task.</p> | ||||
							
								
								
									
										18
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Advanced Usage/Sharing/Reverse proxy configuration.html
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,18 @@ | ||||
| <p>It might be desirable to only expose the share functionality of Trilium | ||||
|   to the Internet, and keep the application accessible only within a local | ||||
|   network or via VPN.</p> | ||||
| <p>To do so, a reverse proxy is required.</p> | ||||
| <h2>Caddy</h2><pre><code class="language-text-x-trilium-auto">http://domain.com { | ||||
|   reverse_proxy /share http://localhost:8080/share | ||||
| }</code></pre> | ||||
| <p>This is for newer versions where the share functionality is isolated, | ||||
|   for older versions it's required to also include <code>/assets</code>.<sup><a href="#fn2b8mg20aol8">[1]</a></sup> | ||||
| </p> | ||||
| <ol> | ||||
|   <li> | ||||
|     <p><sup><strong><a href="#fnref2b8mg20aol8">^</a></strong></sup> | ||||
|     </p> | ||||
|     <p><a href="https://github.com/orgs/TriliumNext/discussions/7341#discussioncomment-14679897">https://github.com/orgs/TriliumNext/discussions/7341#discussioncomment-14679897</a> | ||||
|     </p> | ||||
|   </li> | ||||
| </ol> | ||||
							
								
								
									
										30
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Import & Export.html
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,30 @@ | ||||
| <p>Trilium natively supports the following formats for both import and export.</p> | ||||
| <ul> | ||||
|   <li>HTML: | ||||
|     <ul> | ||||
|       <li>This is the main format used by Trilium, where standard tags are used | ||||
|         to represent basic formatting and layout (e.g. <code><strong></code>, <code><table></code>, <code><pre></code>).</li> | ||||
|       <li>Note that HTML is not a standardized format so some more specific features | ||||
|         such as admonitions or <a class="reference-link" href="#root/_help_hrZ1D00cLbal">Internal (reference) links</a> might | ||||
|         not be supported by other applications.</li> | ||||
|     </ul> | ||||
|   </li> | ||||
|   <li><a class="reference-link" href="#root/_help_Oau6X9rCuegd">Markdown</a> | ||||
|     <ul> | ||||
|       <li>Most of the formatting is preserved, see <a class="reference-link" | ||||
|         href="#root/_help_rJ9grSgoExl9">Supported syntax</a>.</li> | ||||
|     </ul> | ||||
|   </li> | ||||
|   <li>OPML (Outliner Interchange Format) | ||||
|     <ul> | ||||
|       <li>Supports both OPML v1.0 for plain text and v2.0 with HTML support.</li> | ||||
|     </ul> | ||||
|   </li> | ||||
| </ul> | ||||
| <p>To import from other applications, see the dedicated pages:</p> | ||||
| <ul> | ||||
|   <li><a class="reference-link" href="#root/_help_syuSEKf2rUGr">Evernote</a> | ||||
|   </li> | ||||
|   <li><a class="reference-link" href="#root/_help_GnhlmrATVqcH">OneNote</a> | ||||
|   </li> | ||||
| </ul> | ||||
| @@ -1,5 +1,76 @@ | ||||
| <p>Collections are a unique type of notes that don't have a content, but | ||||
|   instead display its child notes in various presentation methods.</p> | ||||
| <h2>Main collections</h2> | ||||
| <table> | ||||
|   <thead> | ||||
|     <tr> | ||||
|       <th></th> | ||||
|       <th></th> | ||||
|     </tr> | ||||
|   </thead> | ||||
|   <tbody> | ||||
|     <tr> | ||||
|       <td> | ||||
|         <figure class="image"> | ||||
|           <img style="aspect-ratio:1651/810;" src="Collections_collection_ca.webp" | ||||
|           width="1651" height="810"> | ||||
|         </figure> | ||||
|       </td> | ||||
|       <td><a class="reference-link" href="#root/_help_xWbu3jpNWapp">Calendar</a>  | ||||
|         <br>which displays a week, month or year calendar with the notes being shown | ||||
|         as events. New events can be added easily by dragging across the calendar.</td> | ||||
|     </tr> | ||||
|     <tr> | ||||
|       <td> | ||||
|         <figure class="image"> | ||||
|           <img style="aspect-ratio:1643/647;" src="Collections_collection_ta.webp" | ||||
|           width="1643" height="647"> | ||||
|         </figure> | ||||
|       </td> | ||||
|       <td><a class="reference-link" href="#root/_help_2FvYrpmOXm29">Table</a>  | ||||
|         <br>displays each note as a row in a table, with <a class="reference-link" | ||||
|         href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a> being shown as well. | ||||
|         This makes it easy to visualize attributes of notes, as well as making | ||||
|         them easily editable.</td> | ||||
|     </tr> | ||||
|     <tr> | ||||
|       <td> | ||||
|         <figure class="image"> | ||||
|           <img style="aspect-ratio:1174/850;" src="Collections_collection_bo.webp" | ||||
|           width="1174" height="850"> | ||||
|         </figure> | ||||
|       </td> | ||||
|       <td><a class="reference-link" href="#root/_help_CtBQqbwXDx1w">Kanban Board</a>  | ||||
|         <br>displays notes in columns, grouped by the value of a label. Items and | ||||
|         columns can easily be created or dragged around to change their status.</td> | ||||
|     </tr> | ||||
|     <tr> | ||||
|       <td> | ||||
|         <figure class="image"> | ||||
|           <img style="aspect-ratio:844/639;" src="Collections_collection_ge.webp" | ||||
|           width="844" height="639"> | ||||
|         </figure> | ||||
|       </td> | ||||
|       <td><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map</a>  | ||||
|         <br>which displays a geographical map in which the notes are represented as | ||||
|         markers/pins on the map. New events can be easily added by pointing on | ||||
|         the map.</td> | ||||
|     </tr> | ||||
|     <tr> | ||||
|       <td> | ||||
|         <figure class="image"> | ||||
|           <img style="aspect-ratio:1120/763;" src="Collections_collection_pr.webp" | ||||
|           width="1120" height="763"> | ||||
|         </figure> | ||||
|       </td> | ||||
|       <td><a class="reference-link" href="#root/_help_zP3PMqaG71Ct">Presentation</a>  | ||||
|         <br>which shows each note as a slide and can be presented full-screen with | ||||
|         smooth transitions or exported to PDF for sharing.</td> | ||||
|     </tr> | ||||
|   </tbody> | ||||
| </table> | ||||
| 
 | ||||
| <h2>Classic collections</h2> | ||||
| <p>Classic collections are read-only mode and compiles the contents of all | ||||
|   child notes into one continuous view. This makes it ideal for reading extensive | ||||
|   information broken into smaller, manageable segments.</p> | ||||
| @@ -13,32 +84,22 @@ | ||||
|     but it displays the notes one under the other with the content being expandable/collapsible, | ||||
|     but also works recursively.</li> | ||||
| </ul> | ||||
| <p>More specialized collections were introduced, such as the:</p> | ||||
| <ul> | ||||
|   <li><a class="reference-link" href="#root/_help_xWbu3jpNWapp">Calendar View</a> which | ||||
|     displays a week, month or year calendar with the notes being shown as events. | ||||
|     New events can be added easily by dragging across the calendar.</li> | ||||
|   <li><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map View</a> which | ||||
|     displays a geographical map in which the notes are represented as markers/pins | ||||
|     on the map. New events can be easily added by pointing on the map.</li> | ||||
|   <li><a class="reference-link" href="#root/_help_2FvYrpmOXm29">Table View</a> displays | ||||
|     each note as a row in a table, with <a class="reference-link" href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a> being | ||||
|     shown as well. This makes it easy to visualize attributes of notes, as | ||||
|     well as making them easily editable.</li> | ||||
|   <li><a class="reference-link" href="#root/_help_CtBQqbwXDx1w">Board View</a> (Kanban) | ||||
|     displays notes in columns, grouped by the value of a label.</li> | ||||
| </ul> | ||||
| <p>For a quick presentation of all the supported view types, see the child | ||||
|   notes of this help page, including screenshots.</p> | ||||
| <h2>Configuration</h2> | ||||
| <p>To adjust the view type, see the dedicated <em>Collections</em> tab in the  | ||||
|   <a | ||||
|   class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>.</p> | ||||
| <h2>Use cases</h2> | ||||
| <h3>Creating a new collection</h3> | ||||
| <h2>Creating a new collection</h2> | ||||
| <p>To create a new collections, right click in the <a class="reference-link" | ||||
|   href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> and look for the <em>Collections</em> entry | ||||
|   and select the desired type.</p> | ||||
| <h2>Configuration</h2> | ||||
| <p>To change the configuration of a collection or even switch to a different | ||||
|   collection (e.g. from Kanban Board to a Calendar), see the dedicated <em>Collections</em> tab | ||||
|   in the <a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>.</p> | ||||
| <h2>Archived notes</h2> | ||||
| <p>By default, <a href="#root/_help_MKmLg5x6xkor">archived notes</a> will not be | ||||
|   shown in collections. This behaviour can be changed by going to <em>Collection Properties</em> in | ||||
|   the <a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a> and | ||||
|   checking <em>Show archived notes</em>.</p> | ||||
| <p>Archived notes will be generally indicated by being greyed out as opposed | ||||
|   to the normal ones.</p> | ||||
| <h2>Advanced use cases</h2> | ||||
| <h3>Adding a description to a collection</h3> | ||||
| <p>To add a text before the collection, for example to describe it:</p> | ||||
| <ol> | ||||
| @@ -75,13 +136,6 @@ | ||||
|   <li>Consult the help page of the corresponding view type in order to understand | ||||
|     how to configure them.</li> | ||||
| </ol> | ||||
| <h2>Archived notes</h2> | ||||
| <p>By default, archived notes will not be shown in collections. This behaviour | ||||
|   can be changed by going to <em>Collection Properties</em> in the  | ||||
|   <a | ||||
|   class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a> and checking <em>Show archived notes</em>.</p> | ||||
| <p>Archived notes will be generally indicated by being greyed out as opposed | ||||
|   to the normal ones.</p> | ||||
| <h2>Under the hood</h2> | ||||
| <p>Collections by themselves are simply notes with no content that rely on | ||||
|   the <a class="reference-link" href="#root/_help_0ESUbbAxVnoK">Note List</a> mechanism | ||||
| Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB | 
| Before Width: | Height: | Size: 605 B After Width: | Height: | Size: 605 B | 
| Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB | 
| Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB | 
| Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB | 
| Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB | 
| Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB | 
| Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB | 
| Before Width: | Height: | Size: 249 KiB After Width: | Height: | Size: 249 KiB | 
| Before Width: | Height: | Size: 179 B After Width: | Height: | Size: 179 B | 
| Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB | 
| Before Width: | Height: | Size: 909 B After Width: | Height: | Size: 909 B | 
| Before Width: | Height: | Size: 141 KiB After Width: | Height: | Size: 141 KiB | 
| Before Width: | Height: | Size: 264 KiB After Width: | Height: | Size: 264 KiB | 
| Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB | 
| Before Width: | Height: | Size: 210 KiB After Width: | Height: | Size: 210 KiB | 
| Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB | 
| Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB | 
| Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB | 
| Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB | 
| Before Width: | Height: | Size: 1014 B After Width: | Height: | Size: 1014 B | 
| Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB | 
| Before Width: | Height: | Size: 966 B After Width: | Height: | Size: 966 B | 
| Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB | 
| Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB | 
| Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB | 
| Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB | 
| Before Width: | Height: | Size: 338 KiB After Width: | Height: | Size: 338 KiB | 
| Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB | 
| Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 108 KiB | 
| @@ -1,5 +1,5 @@ | ||||
| <figure class="image image-style-align-center"> | ||||
|   <img style="aspect-ratio:767/606;" src="4_Calendar View_image.png" | ||||
|   <img style="aspect-ratio:767/606;" src="4_Calendar_image.png" | ||||
|   width="767" height="606"> | ||||
| </figure> | ||||
| <p>The Calendar view will display each child note in a calendar that has | ||||
| @@ -30,7 +30,7 @@ | ||||
|     <tr> | ||||
|       <td>1</td> | ||||
|       <td> | ||||
|         <img src="2_Calendar View_image.png"> | ||||
|         <img src="2_Calendar_image.png"> | ||||
|       </td> | ||||
|       <td>The Calendar View works only for Collection note types. To create a new | ||||
|         note, right click on the note tree on the left and select Insert note after, | ||||
| @@ -39,7 +39,7 @@ | ||||
|     <tr> | ||||
|       <td>2</td> | ||||
|       <td> | ||||
|         <img src="3_Calendar View_image.png"> | ||||
|         <img src="3_Calendar_image.png"> | ||||
|       </td> | ||||
|       <td>Once created, the “View type” of the Collection needs changed to “Calendar”, | ||||
|         by selecting the “Collection Properties” tab in the ribbon.</td> | ||||
| @@ -59,7 +59,7 @@ | ||||
|   <li>It's possible to drag across multiple days to set both the start and end | ||||
|     date of a particular note. | ||||
|     <br> | ||||
|     <img src="Calendar View_image.png"> | ||||
|     <img src="Calendar_image.png"> | ||||
|   </li> | ||||
|   <li>Creating new notes from the calendar will respect the <code>~child:template</code> relation | ||||
|     if set on the Collection note.</li> | ||||
| @@ -68,7 +68,7 @@ | ||||
| <ul> | ||||
|   <li>Hovering the mouse over an event will display information about the note. | ||||
|     <br> | ||||
|     <img src="7_Calendar View_image.png"> | ||||
|     <img src="7_Calendar_image.png"> | ||||
|   </li> | ||||
|   <li>Left clicking the event will open a <a class="reference-link" href="#root/_help_ZjLYv08Rp3qC">Quick edit</a> to | ||||
|     edit the note in a popup while allowing easy return to the calendar by | ||||
| @@ -209,7 +209,7 @@ | ||||
|         like this:     | ||||
|         <br> | ||||
|         <br> | ||||
|         <img src="9_Calendar View_image.png">   | ||||
|         <img src="9_Calendar_image.png">   | ||||
|         <br> | ||||
|         <br><code>#weight="70" #Mood="Good" #calendar:displayedAttributes="weight,Mood"</code>   | ||||
|         <br> | ||||
| @@ -249,7 +249,7 @@ | ||||
| 
 | ||||
| <h2>How the calendar works</h2> | ||||
| <p> | ||||
|   <img src="11_Calendar View_image.png"> | ||||
|   <img src="11_Calendar_image.png"> | ||||
| </p> | ||||
| <p>The calendar displays all the child notes of the Collection that have | ||||
|   a <code>#startDate</code>. An <code>#endDate</code> can optionally be added.</p> | ||||
| @@ -259,7 +259,7 @@ | ||||
| #hidePromotedAttributes </code></pre> | ||||
| <p>This will result in:</p> | ||||
| <p> | ||||
|   <img src="10_Calendar View_image.png"> | ||||
|   <img src="10_Calendar_image.png"> | ||||
| </p> | ||||
| <p>When not used in a Journal, the calendar is recursive. That is, it will | ||||
|   look for events not just in its child notes but also in the children of | ||||
| @@ -283,8 +283,8 @@ | ||||
|     not having a <code>dateNote</code> attribute. Children of the child notes | ||||
|     will not be displayed.</li> | ||||
| </ul> | ||||
| <img src="8_Calendar View_image.png" | ||||
| width="1217" height="724"> | ||||
| <img src="8_Calendar_image.png" width="1217" | ||||
| height="724"> | ||||
| 
 | ||||
| <h3>Using a different attribute as event title</h3> | ||||
| <p>By default, events are displayed on the calendar by their note title. | ||||
| @@ -309,7 +309,7 @@ width="1217" height="724"> | ||||
|       <td> | ||||
|         <p> </p> | ||||
|         <figure class="image image-style-align-center"> | ||||
|           <img style="aspect-ratio:445/124;" src="5_Calendar View_image.png" | ||||
|           <img style="aspect-ratio:445/124;" src="5_Calendar_image.png" | ||||
|           width="445" height="124"> | ||||
|         </figure> | ||||
|       </td> | ||||
| @@ -335,8 +335,8 @@ width="1217" height="724"> | ||||
|       <td><pre><code class="language-text-x-trilium-auto">#startDate=2025-02-14 #endDate=2025-02-15 ~for=@John Smith ~for=@Jane Doe #calendar:title="for"</code></pre> | ||||
|       </td> | ||||
|       <td> | ||||
|         <img src="6_Calendar View_image.png" | ||||
|         width="294" height="151"> | ||||
|         <img src="6_Calendar_image.png" width="294" | ||||
|         height="151"> | ||||
|       </td> | ||||
|     </tr> | ||||
|   </tbody> | ||||
| @@ -359,7 +359,7 @@ width="1217" height="724"> | ||||
|       </td> | ||||
|       <td> | ||||
|         <figure class="image image-style-align-center"> | ||||
|           <img style="aspect-ratio:296/150;" src="1_Calendar View_image.png" | ||||
|           <img style="aspect-ratio:296/150;" src="1_Calendar_image.png" | ||||
|           width="296" height="150"> | ||||
|         </figure> | ||||
|       </td> | ||||
| Before Width: | Height: | Size: 968 B After Width: | Height: | Size: 968 B | 
| @@ -5,7 +5,7 @@ | ||||
|       href="#root/_help_0ESUbbAxVnoK">Note List</a>. </p> | ||||
| </aside> | ||||
| <figure class="image image-style-align-center"> | ||||
|   <img style="aspect-ratio:892/675;" src="9_Geo Map View_image.png" | ||||
|   <img style="aspect-ratio:892/675;" src="9_Geo Map_image.png" | ||||
|   width="892" height="675"> | ||||
| </figure> | ||||
| <p>This note type displays the children notes on a geographical map, based | ||||
| @@ -25,7 +25,7 @@ | ||||
|       <td>1</td> | ||||
|       <td> | ||||
|         <figure class="image"> | ||||
|           <img style="aspect-ratio:483/413;" src="15_Geo Map View_image.png" | ||||
|           <img style="aspect-ratio:483/413;" src="15_Geo Map_image.png" | ||||
|           width="483" height="413"> | ||||
|         </figure> | ||||
|       </td> | ||||
| @@ -35,7 +35,7 @@ | ||||
|       <td>2</td> | ||||
|       <td> | ||||
|         <figure class="image image-style-align-center image_resized" style="width:53.44%;"> | ||||
|           <img style="aspect-ratio:1720/1396;" src="8_Geo Map View_image.png" | ||||
|           <img style="aspect-ratio:1720/1396;" src="8_Geo Map_image.png" | ||||
|           width="1720" height="1396"> | ||||
|         </figure> | ||||
|       </td> | ||||
| @@ -67,18 +67,18 @@ | ||||
|       <td>1</td> | ||||
|       <td>To create a marker, first navigate to the desired point on the map. Then | ||||
|         press the | ||||
|         <img src="10_Geo Map View_image.png">button in the <a href="#root/_help_XpOYSgsLkTJy">Floating buttons</a> (top-right) | ||||
|         <img src="10_Geo Map_image.png">button in the <a href="#root/_help_XpOYSgsLkTJy">Floating buttons</a> (top-right) | ||||
|         area.    | ||||
|         <br> | ||||
|         <br>If the button is not visible, make sure the button section is visible | ||||
|         by pressing the chevron button ( | ||||
|         <img src="17_Geo Map View_image.png">) in the top-right of the map.</td> | ||||
|         <img src="17_Geo Map_image.png">) in the top-right of the map.</td> | ||||
|       <td></td> | ||||
|     </tr> | ||||
|     <tr> | ||||
|       <td>2</td> | ||||
|       <td> | ||||
|         <img class="image_resized" style="aspect-ratio:1730/416;width:100%;" src="2_Geo Map View_image.png" | ||||
|         <img class="image_resized" style="aspect-ratio:1730/416;width:100%;" src="2_Geo Map_image.png" | ||||
|         width="1730" height="416"> | ||||
|       </td> | ||||
|       <td>Once pressed, the map will enter in the insert mode, as illustrated by | ||||
| @@ -90,7 +90,7 @@ | ||||
|     <tr> | ||||
|       <td>3</td> | ||||
|       <td> | ||||
|         <img class="image_resized" style="aspect-ratio:1586/404;width:100%;" src="7_Geo Map View_image.png" | ||||
|         <img class="image_resized" style="aspect-ratio:1586/404;width:100%;" src="7_Geo Map_image.png" | ||||
|         width="1586" height="404"> | ||||
|       </td> | ||||
|       <td>Enter the name of the marker/note to be created.</td> | ||||
| @@ -98,7 +98,7 @@ | ||||
|     <tr> | ||||
|       <td>4</td> | ||||
|       <td> | ||||
|         <img class="image_resized" style="aspect-ratio:1696/608;width:100%;" src="16_Geo Map View_image.png" | ||||
|         <img class="image_resized" style="aspect-ratio:1696/608;width:100%;" src="16_Geo Map_image.png" | ||||
|         width="1696" height="608"> | ||||
|       </td> | ||||
|       <td>Once confirmed, the marker will show up on the map and it will also be | ||||
| @@ -136,7 +136,7 @@ | ||||
| <h2>How the location of the markers is stored</h2> | ||||
| <p>The location of a marker is stored in the <code>#geolocation</code> attribute | ||||
|   of the child notes:</p> | ||||
| <img src="18_Geo Map View_image.png" | ||||
| <img src="18_Geo Map_image.png" | ||||
| width="1288" height="278"> | ||||
| <p>This value can be added manually if needed. The value of the attribute | ||||
|   is made up of the latitude and longitude separated by a comma.</p> | ||||
| @@ -191,7 +191,7 @@ width="1288" height="278"> | ||||
| </ol> | ||||
| <h2>Icon and color of the markers</h2> | ||||
| <figure class="image image-style-align-center"> | ||||
|   <img style="aspect-ratio:523/295;" src="Geo Map View_image.jpg" | ||||
|   <img style="aspect-ratio:523/295;" src="Geo Map_image.jpg" | ||||
|   alt="image" width="523" height="295"> | ||||
| </figure> | ||||
| <p>The markers will have the same icon as the note.</p> | ||||
| @@ -216,7 +216,7 @@ width="1288" height="278"> | ||||
|       <td>1</td> | ||||
|       <td> | ||||
|         <figure class="image image-style-align-center image_resized" style="width:56.84%;"> | ||||
|           <img style="aspect-ratio:732/918;" src="12_Geo Map View_image.png" | ||||
|           <img style="aspect-ratio:732/918;" src="12_Geo Map_image.png" | ||||
|           width="732" height="918"> | ||||
|         </figure> | ||||
|       </td> | ||||
| @@ -233,7 +233,7 @@ width="1288" height="278"> | ||||
|       <td>2</td> | ||||
|       <td> | ||||
|         <figure class="image image-style-align-center image_resized" style="width:100%;"> | ||||
|           <img style="aspect-ratio:518/84;" src="4_Geo Map View_image.png" | ||||
|           <img style="aspect-ratio:518/84;" src="4_Geo Map_image.png" | ||||
|           width="518" height="84"> | ||||
|         </figure> | ||||
|       </td> | ||||
| @@ -243,7 +243,7 @@ width="1288" height="278"> | ||||
|       <td>3</td> | ||||
|       <td> | ||||
|         <figure class="image image-style-align-center image_resized" style="width:100%;"> | ||||
|           <img style="aspect-ratio:1074/276;" src="11_Geo Map View_image.png" | ||||
|           <img style="aspect-ratio:1074/276;" src="11_Geo Map_image.png" | ||||
|           width="1074" height="276"> | ||||
|         </figure> | ||||
|       </td> | ||||
| @@ -269,7 +269,7 @@ width="1288" height="278"> | ||||
|     <tr> | ||||
|       <td>1</td> | ||||
|       <td> | ||||
|         <img class="image_resized" style="aspect-ratio:562/454;width:100%;" src="1_Geo Map View_image.png" | ||||
|         <img class="image_resized" style="aspect-ratio:562/454;width:100%;" src="1_Geo Map_image.png" | ||||
|         width="562" height="454"> | ||||
|       </td> | ||||
|       <td>Go to any location on openstreetmap.org and right click to bring up the | ||||
| @@ -278,7 +278,7 @@ width="1288" height="278"> | ||||
|     <tr> | ||||
|       <td>2</td> | ||||
|       <td> | ||||
|         <img class="image_resized" style="aspect-ratio:696/480;width:100%;" src="Geo Map View_image.png" | ||||
|         <img class="image_resized" style="aspect-ratio:696/480;width:100%;" src="Geo Map_image.png" | ||||
|         width="696" height="480"> | ||||
|       </td> | ||||
|       <td>The address will be visible in the top-left of the screen, in the place | ||||
| @@ -289,7 +289,7 @@ width="1288" height="278"> | ||||
|     <tr> | ||||
|       <td>3</td> | ||||
|       <td> | ||||
|         <img class="image_resized" style="aspect-ratio:640/276;width:100%;" src="5_Geo Map View_image.png" | ||||
|         <img class="image_resized" style="aspect-ratio:640/276;width:100%;" src="5_Geo Map_image.png" | ||||
|         width="640" height="276"> | ||||
|       </td> | ||||
|       <td>Simply paste the value inside the text box into the <code>#geolocation</code> attribute | ||||
| @@ -313,7 +313,7 @@ width="1288" height="278"> | ||||
|       <td>1</td> | ||||
|       <td> | ||||
|         <figure class="image image-style-align-center"> | ||||
|           <img style="aspect-ratio:226/74;" src="3_Geo Map View_image.png" | ||||
|           <img style="aspect-ratio:226/74;" src="3_Geo Map_image.png" | ||||
|           width="226" height="74"> | ||||
|         </figure> | ||||
|       </td> | ||||
| @@ -324,7 +324,7 @@ width="1288" height="278"> | ||||
|       <td>2</td> | ||||
|       <td> | ||||
|         <figure class="image image-style-align-center"> | ||||
|           <img style="aspect-ratio:322/222;" src="14_Geo Map View_image.png" | ||||
|           <img style="aspect-ratio:322/222;" src="14_Geo Map_image.png" | ||||
|           width="322" height="222"> | ||||
|         </figure> | ||||
|       </td> | ||||
| @@ -335,7 +335,7 @@ width="1288" height="278"> | ||||
|       <td>3</td> | ||||
|       <td> | ||||
|         <figure class="image image-style-align-center"> | ||||
|           <img style="aspect-ratio:620/530;" src="6_Geo Map View_image.png" | ||||
|           <img style="aspect-ratio:620/530;" src="6_Geo Map_image.png" | ||||
|           width="620" height="530"> | ||||
|         </figure> | ||||
|       </td> | ||||
| @@ -400,7 +400,7 @@ width="1288" height="278"> | ||||
|   of the scale of the map.</p> | ||||
| <h2>Troubleshooting</h2> | ||||
| <figure class="image image-style-align-right image_resized" style="width:34.06%;"> | ||||
|   <img style="aspect-ratio:678/499;" src="13_Geo Map View_image.png" | ||||
|   <img style="aspect-ratio:678/499;" src="13_Geo Map_image.png" | ||||
|   width="678" height="499"> | ||||
| </figure> | ||||
| 
 | ||||
| Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB | 
| Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB | 
| Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB | 
| @@ -1,5 +1,5 @@ | ||||
| <figure class="image"> | ||||
|   <img style="aspect-ratio:918/248;" src="Board View_image.png" | ||||
|   <img style="aspect-ratio:918/248;" src="Kanban Board_image.png" | ||||
|   width="918" height="248"> | ||||
| </figure> | ||||
| <p>The Board view presents sub-notes in columns for a Kanban-like experience. | ||||
| @@ -11,9 +11,9 @@ | ||||
|   then groups each note by the value of the status attribute.</p> | ||||
| <p>Notes are displayed recursively, so even the child notes of the child | ||||
|   notes will be displayed. However, unlike the <a class="reference-link" | ||||
|   href="#root/_help_2FvYrpmOXm29">Table View</a>, the notes are not displayed in | ||||
|   a hierarchy.</p> | ||||
| <h2>Interaction with columns</h2> | ||||
|   href="#root/_help_2FvYrpmOXm29">Table</a>, the notes are not displayed in a hierarchy.</p> | ||||
| <h2>Interaction</h2> | ||||
| <h3>Working with columns</h3> | ||||
| <ul> | ||||
|   <li>Create a new column by pressing <em>Add Column</em> near the last column. | ||||
|     <ul> | ||||
| @@ -33,7 +33,7 @@ | ||||
|   </li> | ||||
|   <li>If there are many columns, use the mouse wheel to scroll.</li> | ||||
| </ul> | ||||
| <h2>Interaction with notes</h2> | ||||
| <h3>Working with notes</h3> | ||||
| <ul> | ||||
|   <li>Create a new note in any column by pressing <em>New item</em> | ||||
|     <ul> | ||||
| @@ -91,7 +91,6 @@ class="admonition note"> | ||||
|   <p>It's currently not possible to set a relation as the grouping criteria. | ||||
|     There are plans to add support for it.</p> | ||||
|   </aside> | ||||
|   <h2>Interaction</h2> | ||||
|   <h2>Limitations</h2> | ||||
|   <ul> | ||||
|     <li>It is not possible yet to use group by a relation, only by label.</li> | ||||