Compare commits

...

85 Commits

Author SHA1 Message Date
Elian Doran
70837fdc69 Translations update from Hosted Weblate (#7559) 2025-10-30 16:07:11 +02:00
Hosted Weblate
67d80512f6 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Translation: Trilium Notes/README
Translate-URL: https://hosted.weblate.org/projects/trilium/readme/
2025-10-30 13:46:35 +00:00
Elian Doran
dd8a1e8aca docs(user): document all share theme attributes 2025-10-30 15:46:13 +02:00
Elian Doran
99f43e2280 docs(user): improve fine-grained directory path documentation 2025-10-30 12:02:32 +02:00
Elian Doran
bcffa77c90 docs(user): index page for import/export 2025-10-30 11:54:44 +02:00
Elian Doran
8ab2069411 docs(user): fix empty section in kanban board 2025-10-30 11:43:48 +02:00
Elian Doran
21fc61d132 docs(user): restructure LLM section 2025-10-30 11:42:46 +02:00
Elian Doran
552df50fe4 docs(user): add icons to most notes 2025-10-30 11:40:07 +02:00
Elian Doran
c058b663ee Translations update from Hosted Weblate (#7556) 2025-10-30 09:05:27 +02:00
Francis C
6c19370235 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (152 of 152 strings)

Translation: Trilium Notes/Website
Translate-URL: https://hosted.weblate.org/projects/trilium/website/zh_Hant/
2025-10-30 07:50:44 +01:00
Francis C
d332bb57ba Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (152 of 152 strings)

Translation: Trilium Notes/Website
Translate-URL: https://hosted.weblate.org/projects/trilium/website/zh_Hans/
2025-10-30 07:50:44 +01:00
Antonio Sanchez Castellón
3ef38e7f4e Translated using Weblate (Spanish)
Currently translated at 100.0% (152 of 152 strings)

Translation: Trilium Notes/Website
Translate-URL: https://hosted.weblate.org/projects/trilium/website/es/
2025-10-30 07:50:43 +01:00
Francis C
1abc3b5534 Translated using Weblate (Japanese)
Currently translated at 100.0% (1621 of 1621 strings)

Translation: Trilium Notes/Client
Translate-URL: https://hosted.weblate.org/projects/trilium/client/ja/
2025-10-30 07:50:42 +01:00
Francis C
ddcd27ddf6 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (387 of 387 strings)

Translation: Trilium Notes/Server
Translate-URL: https://hosted.weblate.org/projects/trilium/server/zh_Hant/
2025-10-30 07:50:41 +01:00
Francis C
ff385c8c88 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (1621 of 1621 strings)

Translation: Trilium Notes/Client
Translate-URL: https://hosted.weblate.org/projects/trilium/client/zh_Hant/
2025-10-30 07:50:40 +01:00
Antonio Sanchez Castellón
a641e452ce Translated using Weblate (Spanish)
Currently translated at 100.0% (387 of 387 strings)

Translation: Trilium Notes/Server
Translate-URL: https://hosted.weblate.org/projects/trilium/server/es/
2025-10-30 07:50:39 +01:00
Francis C
5f4fa25da5 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (387 of 387 strings)

Translation: Trilium Notes/Server
Translate-URL: https://hosted.weblate.org/projects/trilium/server/zh_Hans/
2025-10-30 07:50:38 +01:00
Antonio Sanchez Castellón
ea177e972e Translated using Weblate (Spanish)
Currently translated at 100.0% (1621 of 1621 strings)

Translation: Trilium Notes/Client
Translate-URL: https://hosted.weblate.org/projects/trilium/client/es/
2025-10-30 07:50:38 +01:00
Manfred Manni
7e3013bfdc Translated using Weblate (German)
Currently translated at 100.0% (1621 of 1621 strings)

Translation: Trilium Notes/Client
Translate-URL: https://hosted.weblate.org/projects/trilium/client/de/
2025-10-30 07:50:37 +01:00
Francis C
5115baeb21 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1621 of 1621 strings)

Translation: Trilium Notes/Client
Translate-URL: https://hosted.weblate.org/projects/trilium/client/zh_Hans/
2025-10-30 07:50:36 +01:00
Hosted Weblate
35a924a05a Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Translation: Trilium Notes/README
Translate-URL: https://hosted.weblate.org/projects/trilium/readme/
2025-10-30 07:50:36 +01:00
Elian Doran
78f067965f fix(share): TOC indicator no longer working due to layout changes 2025-10-30 08:49:48 +02:00
Elian Doran
413b16b51c chore(collections): rename Board to Kanban Board 2025-10-30 08:42:00 +02:00
Elian Doran
59586c53b2 chore(website): rename Board to Kanban Board 2025-10-30 08:34:28 +02:00
Elian Doran
70ed1d7abb chore(website): fix URLs pointing to documentation 2025-10-30 08:33:54 +02:00
Elian Doran
67de6c614c docs(user): change alias for server documentation 2025-10-30 08:31:26 +02:00
Elian Doran
faf030ab3a docs(user): minor improvements to the collection main page 2025-10-30 08:18:13 +02:00
Elian Doran
6e20d4b5dd docs(user): rename Board to Kanban Board 2025-10-30 08:15:57 +02:00
Elian Doran
10e809af75 docs(user): rename and reorder collection pages 2025-10-30 08:14:22 +02:00
Elian Doran
f1478f8149 docs(user): change presentation method for collections 2025-10-30 08:13:34 +02:00
Elian Doran
9087adf254 docs(user): move collections one level up 2025-10-30 08:07:09 +02:00
Elian Doran
f944c6d8e2 docs(user): add slug + tips on how to identify pages without one easily 2025-10-30 08:03:09 +02:00
Elian Doran
444e103047 docs(dev): document exporting functionality 2025-10-29 22:36:45 +02:00
Elian Doran
1d6ab64ae5 docs(guide): document exporting for web publishing 2025-10-29 22:21:15 +02:00
Elian Doran
0bc86d7c75 docs(guide): deduplicate home page with quick start 2025-10-29 22:00:31 +02:00
Elian Doran
cfd55147df Deploy share-based static documentation (#7548) 2025-10-29 21:27:49 +02:00
Elian Doran
754bb61a52 feat(export/share): render 404 page 2025-10-29 21:05:50 +02:00
Elian Doran
4f103375b5 fix(share): 404 not rendering in dev mode 2025-10-29 20:20:35 +02:00
Elian Doran
496091677b style(share): overflow on wrong element 2025-10-29 20:14:32 +02:00
Elian Doran
618b67f551 fix(share): redesign layout to avoid jumping on tablets 2025-10-29 20:02:02 +02:00
Elian Doran
ce4f46c226 chore(share): fix relative imports 2025-10-29 19:13:11 +02:00
Elian Doran
44cfbcf7f4 refactor(share): move icon loading in CSS rather than in JS 2025-10-29 19:11:43 +02:00
Elian Doran
a317331551 fix(share): theme toggle flashing while switching between notes 2025-10-29 19:05:23 +02:00
Elian Doran
eeec3e440d fix(share): flash while theme is loading 2025-10-29 19:00:09 +02:00
Elian Doran
b06aa29ea3 chore(share): remove leftover color management logic 2025-10-29 18:46:55 +02:00
Elian Doran
9c3f9a524e fix(share): flash of dark color on light theme 2025-10-29 18:46:24 +02:00
Elian Doran
1c832182d6 refactor(share): reduce duplication in theme management 2025-10-29 18:40:31 +02:00
Elian Doran
b58e1f146c fix(share): light theme not properly restored 2025-10-29 18:35:27 +02:00
Elian Doran
bc86fb95b5 feat(share): add dev mode 2025-10-29 18:27:43 +02:00
Elian Doran
6c43db692e fix(client): boxicons missing in prod 2025-10-29 18:16:25 +02:00
Elian Doran
6ffce824d1 fix(docker): incorrect version for arm v7 2025-10-29 17:43:10 +02:00
Elian Doran
f1f8f34ef8 fix(export/share): load search index once per page 2025-10-29 15:33:38 +02:00
Elian Doran
a0b19ce526 fix(export/share): search not working on root 2025-10-29 15:26:48 +02:00
Elian Doran
4cc9ba824d chore(export/share): tweak search results 2025-10-29 15:24:25 +02:00
Elian Doran
08e66c18e7 fix(export/share): navigation in search not working 2025-10-29 14:57:53 +02:00
Elian Doran
cf8089b07f feat(export/share): functional full-text search 2025-10-29 13:58:37 +02:00
Elian Doran
f8c61ecde9 feat(export/share): use better content parsing for search 2025-10-29 08:45:47 +02:00
Elian Doran
6d51da9b88 feat(export/share): generate search index 2025-10-29 08:41:07 +02:00
Elian Doran
0ad95d00dc chore(ci): try to fix arm v6/v7 build 2025-10-29 08:08:16 +02:00
Elian Doran
9819a92b48 docs(guide): remove a missing note link 2025-10-28 23:01:56 +02:00
Elian Doran
55a7017e92 docs(guide): document the zoom function 2025-10-28 22:55:52 +02:00
Elian Doran
1581568741 docs(guide): add promoted attribute for alias 2025-10-28 22:31:59 +02:00
Elian Doran
d7982c65dd docs(guide): add alias for most pages 2025-10-28 22:30:46 +02:00
Elian Doran
39608a2815 docs(guide): home page & third party hosting + sync 2025-10-28 22:07:05 +02:00
Elian Doran
f656c2caaa fix(export/zip): links breaking down in markdown export 2025-10-28 21:32:05 +02:00
Elian Doran
bd3e92f091 fix(export/zip): export options not considered 2025-10-28 20:40:53 +02:00
Elian Doran
7ce7c66463 chore(build-docs): address requested changes 2025-10-28 19:31:57 +02:00
Elian Doran
61d26fec60 refactor(build-docs): use proper await when building documentation 2025-10-28 19:30:55 +02:00
Elian Doran
1822eea77c chore: remove remaining references to mkdocs 2025-10-28 19:19:39 +02:00
Elian Doran
28c0e4e802 chore(client): remove no longer relevant input 2025-10-28 19:15:01 +02:00
Elian Doran
88d90fdedd fix(export/share): favicon working only on top-level 2025-10-28 18:23:11 +02:00
Elian Doran
2a1ecdbdca feat(share): display admonition icons (closes #6733) 2025-10-28 18:18:03 +02:00
Elian Doran
5772046674 chore(share): remove redundant file 2025-10-28 18:17:06 +02:00
Elian Doran
1e2c8b2ac4 fix(export/share): ckcontent CSS missing 2025-10-28 18:16:37 +02:00
Elian Doran
955b202b8a chore(export/share): hide last updated 2025-10-28 17:59:12 +02:00
Elian Doran
be98a27439 feat(export/share): prefer #shareAlias 2025-10-28 17:57:48 +02:00
Elian Doran
54200fa0cb chore(export/share): disable non-functional search 2025-10-28 17:33:36 +02:00
Elian Doran
5d82a26c87 fix(build-docs): missing favicon 2025-10-28 17:23:31 +02:00
Elian Doran
e51070e389 chore(share): handle BAttachments too 2025-10-28 17:16:34 +02:00
Elian Doran
e0dc4fee20 fix(share): reference links not working 2025-10-28 17:14:33 +02:00
Elian Doran
187e9b57de fix(share): note tree not visible on mobile 2025-10-28 16:57:04 +02:00
Elian Doran
d6d67e7957 fix(docs/share): share theme not built 2025-10-28 16:45:27 +02:00
Elian Doran
bde03e8378 feat(docs/share): integrate in the CI 2025-10-28 16:42:52 +02:00
Elian Doran
4c3fcdba4a fix(share): images appearing stretched 2025-10-28 16:34:38 +02:00
Elian Doran
7a5c1277f1 feat(docs/share): set up script to build documentation 2025-10-28 16:24:55 +02:00
334 changed files with 5214 additions and 3330 deletions

View File

@@ -1,6 +1,4 @@
# GitHub Actions workflow for deploying MkDocs documentation to Cloudflare Pages
# This workflow builds and deploys your MkDocs site when changes are pushed to main
name: Deploy MkDocs Documentation
name: Deploy Documentation
on:
# Trigger on push to main branch
@@ -11,11 +9,8 @@ on:
# Only run when docs files change
paths:
- 'docs/**'
- 'README.md' # README is synced to docs/index.md
- 'mkdocs.yml'
- 'requirements-docs.txt'
- '.github/workflows/deploy-docs.yml'
- 'scripts/fix-mkdocs-structure.ts'
- 'apps/edit-docs/**'
- 'packages/share-theme/**'
# Allow manual triggering from Actions tab
workflow_dispatch:
@@ -27,15 +22,12 @@ on:
- master
paths:
- 'docs/**'
- 'README.md' # README is synced to docs/index.md
- 'mkdocs.yml'
- 'requirements-docs.txt'
- '.github/workflows/deploy-docs.yml'
- 'scripts/fix-mkdocs-structure.ts'
- 'apps/edit-docs/**'
- 'packages/share-theme/**'
jobs:
build-and-deploy:
name: Build and Deploy MkDocs
name: Build and Deploy Documentation
runs-on: ubuntu-latest
timeout-minutes: 10
@@ -49,72 +41,25 @@ jobs:
steps:
- name: Checkout Repository
uses: actions/checkout@v5
with:
fetch-depth: 0 # Fetch all history for git info and mkdocs-git-revision-date plugin
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: '3.14'
cache: 'pip'
cache-dependency-path: 'requirements-docs.txt'
- name: Install MkDocs and Dependencies
run: |
pip install --upgrade pip
pip install -r requirements-docs.txt
env:
PIP_DISABLE_PIP_VERSION_CHECK: 1
# Setup pnpm before fixing docs structure
- name: Setup pnpm
uses: pnpm/action-setup@v4
# Setup Node.js with pnpm
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '24'
cache: 'pnpm'
# Install Node.js dependencies for the TypeScript script
- name: Install Dependencies
run: |
pnpm install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Fix Documentation Structure
run: |
# Fix duplicate navigation entries by moving overview pages to index.md
pnpm run chore:fix-mkdocs-structure
- name: Build MkDocs Site
run: |
# Build with strict mode but allow expected warnings
mkdocs build --verbose || {
EXIT_CODE=$?
# Check if the only issue is expected warnings
if mkdocs build 2>&1 | grep -E "WARNING.*(README|not found)" && \
[ $(mkdocs build 2>&1 | grep -c "ERROR") -eq 0 ]; then
echo "✅ Build succeeded with expected warnings"
mkdocs build --verbose
else
echo "❌ Build failed with unexpected errors"
exit $EXIT_CODE
fi
}
- name: Fix HTML Links
run: |
# Remove .md extensions from links in generated HTML
pnpm tsx ./scripts/fix-html-links.ts site
- name: Trigger build of documentation
run: pnpm docs:build
- name: Validate Built Site
run: |
# Basic validation that important files exist
test -f site/index.html || (echo "ERROR: site/index.html not found" && exit 1)
test -f site/sitemap.xml || (echo "ERROR: site/sitemap.xml not found" && exit 1)
test -d site/assets || (echo "ERROR: site/assets directory not found" && exit 1)
echo "✅ Site validation passed"
- name: Deploy
uses: ./.github/actions/deploy-to-cloudflare-pages

View File

@@ -116,10 +116,10 @@ jobs:
- dockerfile: Dockerfile
platform: linux/arm64
image: ubuntu-24.04-arm
- dockerfile: Dockerfile
- dockerfile: Dockerfile.legacy
platform: linux/arm/v7
image: ubuntu-24.04-arm
- dockerfile: Dockerfile
- dockerfile: Dockerfile.legacy
platform: linux/arm/v8
image: ubuntu-24.04-arm
runs-on: ${{ matrix.image }}

View File

@@ -1,24 +0,0 @@
import "normalize.css";
import "boxicons/css/boxicons.min.css";
import "@triliumnext/ckeditor5/src/theme/ck-content.css";
import "@triliumnext/share-theme/styles/index.css";
import "@triliumnext/share-theme/scripts/index.js";
async function ensureJQuery() {
const $ = (await import("jquery")).default;
(window as any).$ = $;
}
async function formatCodeBlocks() {
const anyCodeBlock = document.querySelector("#content pre");
if (!anyCodeBlock) {
return;
}
await ensureJQuery();
const { formatCodeBlocks } = await import("./services/syntax_highlight.js");
await formatCodeBlocks($("#content"));
}
async function setupTextNote() {
formatCodeBlocks();
}

View File

@@ -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": "包含笔记",
@@ -1557,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": "请输入笔记标题..."

View File

@@ -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",

View File

@@ -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",
@@ -1714,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í..."

View File

@@ -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": "チートシート",

View File

@@ -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": "筆記導航",

View File

@@ -74,7 +74,6 @@ export default defineConfig(() => ({
mobile: join(__dirname, "src", "mobile.ts"),
login: join(__dirname, "src", "login.ts"),
setup: join(__dirname, "src", "setup.ts"),
share: join(__dirname, "src", "share.ts"),
set_password: join(__dirname, "src", "set_password.ts"),
runtime: join(__dirname, "src", "runtime.ts"),
print: join(__dirname, "src", "print.tsx")
@@ -84,7 +83,8 @@ export default defineConfig(() => ({
chunkFileNames: "src/[name].js",
assetFileNames: "src/[name].[ext]",
manualChunks: {
"ckeditor5": [ "@triliumnext/ckeditor5" ]
"ckeditor5": [ "@triliumnext/ckeditor5" ],
"boxicons": [ "../../node_modules/boxicons/css/boxicons.min.css" ]
},
},
onwarn(warning, rollupWarn) {

View File

@@ -0,0 +1,109 @@
process.env.TRILIUM_INTEGRATION_TEST = "memory-no-store";
process.env.TRILIUM_RESOURCE_DIR = "../server/src";
process.env.NODE_ENV = "development";
import cls from "@triliumnext/server/src/services/cls.js";
import { dirname, join, resolve } from "path";
import fs, { copyFile } from "fs/promises";
import fsExtra, { createWriteStream, type WriteStream } from "fs-extra";
import archiver from "archiver";
const DOCS_ROOT = "../../../docs";
const OUTPUT_DIR = "../../site";
async function main() {
const i18n = await import("@triliumnext/server/src/services/i18n.js");
await i18n.initializeTranslations();
const sqlInit = (await import("../../server/src/services/sql_init.js")).default;
await sqlInit.createInitialDatabase(true);
const note = await importData(join(__dirname, DOCS_ROOT, "User Guide"));
// Export
const zipFilePath = "output.zip";
try {
const { exportToZip } = (await import("@triliumnext/server/src/services/export/zip.js")).default;
const branch = note.getParentBranches()[0];
const taskContext = new (await import("@triliumnext/server/src/services/task_context.js")).default(
"no-progress-reporting",
"export",
null
);
const fileOutputStream = createWriteStream(zipFilePath);
await exportToZip(taskContext, branch, "share", fileOutputStream);
await waitForStreamToFinish(fileOutputStream);
await extractZip(zipFilePath, OUTPUT_DIR);
} finally {
if (await fsExtra.exists(zipFilePath)) {
await fsExtra.rm(zipFilePath);
}
}
// Copy favicon.
await copyFile("../../apps/website/src/assets/favicon.ico", join(OUTPUT_DIR, "favicon.ico"));
console.log("Documentation built successfully!");
}
export async function importData(path: string) {
const buffer = await createImportZip(path);
const importService = (await import("@triliumnext/server/src/services/import/zip.js")).default;
const TaskContext = (await import("@triliumnext/server/src/services/task_context.js")).default;
const context = new TaskContext("no-progress-reporting", "importNotes", null);
const becca = (await import("@triliumnext/server/src/becca/becca.js")).default;
const rootNote = becca.getRoot();
if (!rootNote) {
throw new Error("Missing root note for import.");
}
return await importService.importZip(context, buffer, rootNote, {
preserveIds: true
});
}
async function createImportZip(path: string) {
const inputFile = "input.zip";
const archive = archiver("zip", {
zlib: { level: 0 }
});
console.log("Archive path is ", resolve(path))
archive.directory(path, "/");
const outputStream = fsExtra.createWriteStream(inputFile);
archive.pipe(outputStream);
archive.finalize();
await waitForStreamToFinish(outputStream);
try {
return await fsExtra.readFile(inputFile);
} finally {
await fsExtra.rm(inputFile);
}
}
function waitForStreamToFinish(stream: WriteStream) {
return new Promise<void>((res, rej) => {
stream.on("finish", () => res());
stream.on("error", (err) => rej(err));
});
}
export async function extractZip(zipFilePath: string, outputPath: string, ignoredFiles?: Set<string>) {
const { readZipFile, readContent } = (await import("@triliumnext/server/src/services/import/zip.js"));
await readZipFile(await fs.readFile(zipFilePath), async (zip, entry) => {
// We ignore directories since they can appear out of order anyway.
if (!entry.fileName.endsWith("/") && !ignoredFiles?.has(entry.fileName)) {
const destPath = join(outputPath, entry.fileName);
const fileContent = await readContent(zip, entry);
await fsExtra.mkdirs(dirname(destPath));
await fs.writeFile(destPath, fileContent);
}
zip.readEntry();
});
}
cls.init(main);

View File

@@ -0,0 +1,28 @@
FROM node:22.21.0-bullseye-slim AS builder
RUN corepack enable
# Install native dependencies since we might be building cross-platform.
WORKDIR /usr/src/app/build
COPY ./docker/package.json ./docker/pnpm-workspace.yaml /usr/src/app/
# We have to use --no-frozen-lockfile due to CKEditor patches
RUN pnpm install --no-frozen-lockfile --prod && pnpm rebuild
FROM node:22.21.0-bullseye-slim
# Install only runtime dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
gosu && \
rm -rf \
/var/lib/apt/lists/* \
/var/cache/apt/*
WORKDIR /usr/src/app
COPY ./dist /usr/src/app
RUN rm -rf /usr/src/app/node_modules/better-sqlite3
COPY --from=builder /usr/src/app/node_modules/better-sqlite3 /usr/src/app/node_modules/better-sqlite3
COPY ./start-docker.sh /usr/src/app
# Configure container
EXPOSE 8080
CMD [ "sh", "./start-docker.sh" ]
HEALTHCHECK --start-period=10s CMD exec gosu node node /usr/src/app/docker_healthcheck.cjs

View File

@@ -26,6 +26,7 @@
},
"dependencies": {
"better-sqlite3": "12.4.1",
"html-to-text": "9.0.5",
"node-html-parser": "7.0.1"
},
"devDependencies": {
@@ -35,8 +36,8 @@
"@preact/preset-vite": "2.10.2",
"@triliumnext/commons": "workspace:*",
"@triliumnext/express-partial-content": "workspace:*",
"@triliumnext/turndown-plugin-gfm": "workspace:*",
"@triliumnext/highlightjs": "workspace:*",
"@triliumnext/turndown-plugin-gfm": "workspace:*",
"@types/archiver": "7.0.0",
"@types/better-sqlite3": "7.6.13",
"@types/cls-hooked": "4.3.9",

File diff suppressed because one or more lines are too long

View File

Before

Width:  |  Height:  |  Size: 168 KiB

After

Width:  |  Height:  |  Size: 168 KiB

View File

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

View File

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 172 KiB

View File

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 167 KiB

View File

Before

Width:  |  Height:  |  Size: 237 KiB

After

Width:  |  Height:  |  Size: 237 KiB

View File

Before

Width:  |  Height:  |  Size: 202 KiB

After

Width:  |  Height:  |  Size: 202 KiB

View File

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

View File

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 80 KiB

View File

Before

Width:  |  Height:  |  Size: 191 KiB

After

Width:  |  Height:  |  Size: 191 KiB

View File

@@ -1,6 +1,6 @@
<figure class="image image_resized" style="width:63.68%;">
<img style="aspect-ratio:1363/1364;" src="Introduction_image.png" width="1363"
height="1364">
<img style="aspect-ratio:1363/1364;" src="AI_image.png"
width="1363" height="1364">
<figcaption>An example chat with an LLM</figcaption>
</figure>
<p>The AI / LLM features within Trilium Notes are designed to allow you to
@@ -11,13 +11,13 @@
<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" width="1916"
height="1906">
<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" width="1911"
height="997">
<img style="aspect-ratio:1911/997;" src="1_AI_image.png"
width="1911" height="997">
</figure>
<h2>Embeddings</h2>
@@ -43,30 +43,30 @@ 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" width="1912"
height="1075">
<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
should be at the top of the list, separated by regular chat models with
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" width="1232"
height="959">
<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" width="1333"
height="499">
<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" width="1337"
height="1490">
<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
a Note is created, updated, or deleted (removed).</p>
@@ -139,8 +139,8 @@ 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" width="1372"
height="1591">
<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”
call tools and automatically execute them as needed.</p>
@@ -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" width="1378"
height="539">
<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" width="1765"
height="1287">
<img style="aspect-ratio:1765/1287;" src="9_AI_image.png"
width="1765" height="1287">
</figure>

View File

@@ -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>

View File

@@ -9,8 +9,8 @@ class="image image_resized" style="width:50.49%;">
width="785" height="498">
</figure>
<figure class="image image_resized" style="width:40.54%;">
<img style="aspect-ratio:467/100;" src="Installing Ollama_image.png" width="467"
height="100">
<img style="aspect-ratio:467/100;" src="Installing Ollama_image.png"
width="467" height="100">
</figure>
<figure class="image image_resized" style="width:55.73%;">
<img style="aspect-ratio:1296/1011;" src="1_Installing Ollama_image.png"

View File

Before

Width:  |  Height:  |  Size: 175 KiB

After

Width:  |  Height:  |  Size: 175 KiB

View File

@@ -10,9 +10,9 @@
and arbitrary tags - whenever you change tag attribute in the task note,
this task is then automatically moved to appropriate location.</p>
<p>Task Manager also integrates with <a href="#root/_help_l0tKav7yLHGF">day notes</a> -
notes are <a href="#root/_help_IakOLONlIfGI">cloned</a> into day note to
both todoDate note and doneDate note (with <a href="#root/_help_kBrnXNG3Hplm">prefix</a> of
either "TODO" or "DONE").</p>
notes are <a href="#root/_help_IakOLONlIfGI">cloned</a> into day note to both todoDate
note and doneDate note (with <a href="#root/_help_kBrnXNG3Hplm">prefix</a> of either
"TODO" or "DONE").</p>
<h2>Implementation</h2>
<p>New tasks are created in the TODO note which has <code>~child:template</code>
<a
@@ -22,9 +22,9 @@
<p>Task template defines several <a href="#root/_help_OFXdgB2nNk1F">promoted attributes</a> -
todoDate, doneDate, tags, location. Importantly it also defines <code>~runOnAttributeChange</code> relation
- <a href="#root/_help_GPERMystNGTB">event</a> handler which is run on attribute
change. This <a href="#root/_help_CdNpE2pqjmI6">script</a> handles when e.g.
we fill out the doneDate attribute - meaning the task is done and should
be moved to "Done" note and removed from TODO, locations and tags.</p>
change. This <a href="#root/_help_CdNpE2pqjmI6">script</a> handles when e.g. we
fill out the doneDate attribute - meaning the task is done and should be
moved to "Done" note and removed from TODO, locations and tags.</p>
<h3>New task button</h3>
<p>There's also "button" note which contains simple script which adds a button
to create new note (task) in the TODO note.</p><pre><code class="language-text-x-trilium-auto">api.addButtonToToolbar({

View File

@@ -1,6 +1,6 @@
<figure class="image">
<img style="aspect-ratio:1071/146;" src="Attributes_image.png" width="1071"
height="146">
<img style="aspect-ratio:1071/146;" src="Attributes_image.png"
width="1071" height="146">
</figure>
<p>In Trilium, attributes are key-value pairs assigned to notes, providing
additional metadata or functionality. There are two primary types of attributes:</p>

View File

@@ -1,6 +1,6 @@
<p>Inheritance refers to the process of having a <a href="#root/_help_HI6GBBIduIgv">label</a> or
a <a href="#root/_help_Cq5X6iKQop6R">relation</a> shared across multiple
notes, generally in parent-child relations (or anywhere if using templates).</p>
a <a href="#root/_help_Cq5X6iKQop6R">relation</a> shared across multiple notes,
generally in parent-child relations (or anywhere if using templates).</p>
<h2>Standard Inheritance</h2>
<p>In Trilium, attributes can be automatically inherited by child notes if
they have the <code>isInheritable</code> flag set to <code>true</code>. This

View File

@@ -1,5 +1,5 @@
<p>A label is an <a href="#root/_help_zEY4DaJG4YT5">attribute</a> of a note
which has a name and optionally a value.</p>
<p>A label is an <a href="#root/_help_zEY4DaJG4YT5">attribute</a> of a note which
has a name and optionally a value.</p>
<h2>Common use cases</h2>
<ul>
<li><strong>Metadata for personal use</strong>: Assign labels with optional
@@ -81,8 +81,7 @@
<td><code>calendarRoot</code>
</td>
<td>Marks the note which should be used as root for&nbsp;<a class="reference-link"
href="#root/_help_l0tKav7yLHGF">Day Notes</a>. Only one should be marked
as such.</td>
href="#root/_help_l0tKav7yLHGF">Day Notes</a>. Only one should be marked as such.</td>
</tr>
<tr>
<td><code>archived</code>
@@ -154,8 +153,8 @@
<tr>
<td><code>autoReadOnlyDisabled</code>
</td>
<td>Disables automatic <a href="#root/_help_CoFPLs3dRlXc">read-only mode</a> for
the given note.</td>
<td>Disables automatic <a href="#root/_help_CoFPLs3dRlXc">read-only mode</a> for the
given note.</td>
</tr>
<tr>
<td><code>appCss</code>
@@ -177,8 +176,7 @@
<td>Set to <code>next</code>, <code>next-light</code>, or <code>next-dark</code> to
use the corresponding TriliumNext theme (auto, light or dark) as the base
for a custom theme, instead of the legacy one. See&nbsp;<a class="reference-link"
href="#root/_help_WFGzWeUK6arS">Customize the Next theme</a>&nbsp;for more
information.</td>
href="#root/_help_WFGzWeUK6arS">Customize the Next theme</a>&nbsp;for more information.</td>
</tr>
<tr>
<td><code>cssClass</code>

View File

@@ -1,5 +1,5 @@
<p>A relation is similar to a <a href="#root/_help_HI6GBBIduIgv">label</a>,
but instead of having a text value it refers to another note.</p>
<p>A relation is similar to a <a href="#root/_help_HI6GBBIduIgv">label</a>, but
instead of having a text value it refers to another note.</p>
<h2>Common use cases</h2>
<ul>
<li><strong>Metadata Relationships for personal use</strong>: For example,

View File

@@ -1,6 +1,6 @@
<figure class="image">
<img style="aspect-ratio:1425/654;" src="Bulk Actions_image.png" width="1425"
height="654">
<img style="aspect-ratio:1425/654;" src="Bulk Actions_image.png"
width="1425" height="654">
</figure>
<p>The <em>Bulk Actions</em> dialog makes it easy to apply changes to multiple
notes at once, ranging from simple actions such as adding or removing a
@@ -8,8 +8,8 @@
<h2>Interaction</h2>
<ul>
<li>The first step is to select the notes in the&nbsp;<a class="reference-link"
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>. It's possible to apply bulk
actions to:
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>. It's possible to apply bulk actions
to:
<ul>
<li>A single note (and potentially its child notes) simply by clicking on
it (with a left click or a right click).</li>
@@ -53,17 +53,17 @@
</li>
<li><strong>Update label value</strong>
<ul>
<li>For each note, if it has a <a href="#root/_help_HI6GBBIduIgv">label</a> of
the given name, it will change its value to the specified one. Leave <em>New value</em> field
<li>For each note, if it has a <a href="#root/_help_HI6GBBIduIgv">label</a> of the
given name, it will change its value to the specified one. Leave <em>New value</em> field
empty to create a label without a value.</li>
<li>Notes without the label will not be affected.</li>
</ul>
</li>
<li><em><strong>Rename label</strong></em>
<ul>
<li>For each note, if it has a <a href="#root/_help_HI6GBBIduIgv">label</a> of
the given name, it will be renamed/replaced with a label of the new name.
The value of the label (if present) will be kept intact.</li>
<li>For each note, if it has a <a href="#root/_help_HI6GBBIduIgv">label</a> of the
given name, it will be renamed/replaced with a label of the new name. The
value of the label (if present) will be kept intact.</li>
<li>Notes without the label will not be affected.</li>
</ul>
</li>

View File

@@ -1,8 +1,8 @@
<p>A Trilium instance represents a server. If&nbsp;<a class="reference-link"
href="#root/_help_cbkrhQjrkKrh">Synchronization</a>&nbsp;is set up, since
multiple servers are involved (the one from the desktop client and the
one the synchronisation is set up with), sometimes it can be useful to
distinguish the instance you are running on.</p>
href="#root/_help_cbkrhQjrkKrh">Synchronization</a>&nbsp;is set up, since multiple
servers are involved (the one from the desktop client and the one the synchronisation
is set up with), sometimes it can be useful to distinguish the instance
you are running on.</p>
<h2>Setting the instance name</h2>
<p>To set up a name for the instance, modify the <code>config.ini</code>:</p><pre><code class="language-text-x-trilium-auto">[General]
instanceName=Hello</code></pre>

View File

@@ -23,5 +23,5 @@
<p>If you do not need to preserve any configurations that might be stored
in the <code>config.ini</code> file, you can just delete all of the <a href="#root/_help_tAassRL4RSQL">data directory's</a> contents
to fully restore the application to its original state. You can also review
the <a href="#root/_help_Gzjqa934BdH4">configuration</a> file to provide
all <code>config.ini</code> values as environment variables instead.</p>
the <a href="#root/_help_Gzjqa934BdH4">configuration</a> file to provide all <code>config.ini</code> values
as environment variables instead.</p>

View File

@@ -1,6 +1,6 @@
<figure class="image image-style-align-right">
<img style="aspect-ratio:263/445;" src="Hidden Notes_image.png" width="263"
height="445">
<img style="aspect-ratio:263/445;" src="Hidden Notes_image.png"
width="263" height="445">
</figure>
<p>For easy extensibility, a lot of features in Trilium make use of actual
notes to store information as opposed to having them stored in a separate
@@ -8,14 +8,13 @@
href="#root/_help_zEY4DaJG4YT5">Attributes</a>,&nbsp;<a class="reference-link"
href="#root/_help_Cq5X6iKQop6R">Relations</a>&nbsp;or even&nbsp;<a class="reference-link"
href="#root/_help_eIg8jdvaoNNd">Search</a>&nbsp;and&nbsp;<a class="reference-link"
href="#root/_help_QEAPj01N5f7w">Links</a>&nbsp;to be able to operate on
them.</p>
href="#root/_help_QEAPj01N5f7w">Links</a>&nbsp;to be able to operate on them.</p>
<p>As the name suggests, these notes are hidden to the user by default to
prevent cluttering the note tree and to prevent them from being accidentally
deleted.</p>
<p>The hidden notes are stored in the user's&nbsp;<a class="reference-link"
href="#root/_help_wX4HbRucYSDD">Database</a>&nbsp;just like normal notes,
but they have a unique&nbsp;<a class="reference-link" href="#root/_help_m1lbrzyKDaRB">Note ID</a>&nbsp;which
href="#root/_help_wX4HbRucYSDD">Database</a>&nbsp;just like normal notes, but
they have a unique&nbsp;<a class="reference-link" href="#root/_help_m1lbrzyKDaRB">Note ID</a>&nbsp;which
allows them to be distinguished from the normal ones.</p>
<h2>Accessing the hidden note tree</h2>
<p>From the&nbsp;<a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a>,
@@ -51,8 +50,8 @@ class="ck-table-resized">
</td>
<td>
<p>When SQL queries or commands are executed in the&nbsp;<a class="reference-link"
href="#root/_help_YKWqdJhzi2VY">SQL Console</a>, they are stored here,
grouped by month. Only the query is stored and not the results.</p>
href="#root/_help_YKWqdJhzi2VY">SQL Console</a>, they are stored here, grouped
by month. Only the query is stored and not the results.</p>
<p>This section can be accessed without going to the hidden tree by simply
going to the&nbsp;<a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a>&nbsp;and
selecting Advanced → Open SQL Console History.</p>
@@ -65,9 +64,8 @@ class="ck-table-resized">
</td>
<td>
<p>Whenever a search is executed from the full&nbsp;<a class="reference-link"
href="#root/_help_eIg8jdvaoNNd">Search</a>, the query will be stored here,
grouped by month. Only the search parameters are stored and not the results
themselves.</p>
href="#root/_help_eIg8jdvaoNNd">Search</a>, the query will be stored here, grouped
by month. Only the search parameters are stored and not the results themselves.</p>
<p>This section can be accessed without going to the hidden tree by simply
going to the&nbsp;<a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a>&nbsp;and
selecting Advanced → Open Search History.</p>

View File

@@ -82,18 +82,18 @@ trilium_notes_total 1234 1701432000
</ul>
<h2><strong>Grafana Dashboard</strong></h2>
<figure class="image">
<img style="aspect-ratio:2594/1568;" src="1_Metrics_image.png" width="2594"
height="1568">
<img style="aspect-ratio:2594/1568;" src="1_Metrics_image.png"
width="2594" height="1568">
</figure>
<p>You can also use the Grafana Dashboard that has been created for TriliumNext
- just take the JSON from&nbsp;<a class="reference-link" href="#root/_help_bOP3TB56fL1V">grafana-dashboard.json</a>&nbsp;and
then import the dashboard, following these screenshots:</p>
<figure class="image">
<img style="aspect-ratio:1881/282;" src="2_Metrics_image.png" width="1881"
height="282">
<img style="aspect-ratio:1881/282;" src="2_Metrics_image.png"
width="1881" height="282">
</figure>
<p>Then paste the JSON, and hit load:</p>
<figure class="image">
<img style="aspect-ratio:1055/830;" src="Metrics_image.png" width="1055"
height="830">
<img style="aspect-ratio:1055/830;" src="Metrics_image.png"
width="1055" height="830">
</figure>

View File

@@ -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&nbsp;<a class="reference-link"
href="#root/_help_Cq5X6iKQop6R">Relations</a>&nbsp;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>&nbsp;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>
@@ -21,8 +30,8 @@
in full screen. See&nbsp;<a href="#root/_help_bdUJEHsAPYQR">Note Map</a>&nbsp;for
more information.</p>
<h2>See also</h2>
<p><a href="#root/_help_iRwzGnHPzonm">Relation map</a> is a similar concept,
with some differences:</p>
<p><a href="#root/_help_iRwzGnHPzonm">Relation map</a> is a similar concept, with
some differences:</p>
<ul>
<li>note map is automatically generated while relation map must be created
manually</li>

View File

@@ -5,9 +5,9 @@
<ul>
<li><a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a>&nbsp;notes&nbsp;are
represented internally as HTML, using the&nbsp;<a class="reference-link"
href="#root/_help_MI26XDLSAlCD">CKEditor</a>&nbsp;representation. Note
that due to the custom plugins, some HTML elements are specific to Trilium
only, for example the admonitions.</li>
href="#root/_help_MI26XDLSAlCD">CKEditor</a>&nbsp;representation. Note that due
to the custom plugins, some HTML elements are specific to Trilium only,
for example the admonitions.</li>
<li><a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a>&nbsp;notes&nbsp;are
plain text and are represented internally as-is.</li>
<li><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map</a>&nbsp;notes
@@ -22,10 +22,10 @@
</ul>
<p>Note that some information is also stored as&nbsp;<a class="reference-link"
href="#root/_help_0vhv7lsOLy82">Attachments</a>. For example&nbsp;<a class="reference-link"
href="#root/_help_grjYqerjn243">Canvas</a>&nbsp;notes use the attachments
feature to store the custom libraries, and alongside with&nbsp;<a class="reference-link"
href="#root/_help_gBbsAeiuUxI5">Mind Map</a>&nbsp;and other similar note
types it stores an SVG representation of the content for use in other features
href="#root/_help_grjYqerjn243">Canvas</a>&nbsp;notes use the attachments feature
to store the custom libraries, and alongside with&nbsp;<a class="reference-link"
href="#root/_help_gBbsAeiuUxI5">Mind Map</a>&nbsp;and other similar note types
it stores an SVG representation of the content for use in other features
such as including in other notes, shared notes, etc.</p>
<p>Here's part of the HTML representation of this note, as it's stored in
the database (but prettified).</p><pre><code class="language-text-x-trilium-auto">&lt;h2&gt;

View File

@@ -3,197 +3,201 @@
from your Trilium notes, making it accessible to others online.</p>
<figure
class="image">
<img style="aspect-ratio:1144/660;" src="Sharing_image.png" width="1144"
height="660">
<img style="aspect-ratio:1144/660;" src="Sharing_image.png"
width="1144" height="660">
</figure>
<h2>Features, interaction and limitations</h2>
<h2>Features, interaction and limitations</h2>
<ul>
<li>Searching by note title.</li>
<li>Automatic dark/light mode based on the user's browser settings.</li>
<li>Mobile-friendly layout, with sidebar.</li>
<li>Collapsible tree with the same note icons as the application.</li>
<li>Customizable logo.</li>
<li>Toggle button for dark/light mode, which also stores the user preferences.</li>
<li>Quick navigation buttons (previous and next note).</li>
<li>Displaying the date of the last update of the note.</li>
<li data-list-item-id="ef22b391cbc76ef956be01dd41a6b60bf">Searching by note title.</li>
<li data-list-item-id="eeab18d3a35263669809a1b89d7b060b9">Automatic dark/light mode based on the user's browser settings.</li>
<li
data-list-item-id="e9a0db9cceacd026e71ad8bda9948542e">Mobile-friendly layout, with sidebar.</li>
<li data-list-item-id="eb9da2104d017644f71fcee18eb17d34b">Collapsible tree with the same note icons as the application.</li>
<li
data-list-item-id="ea2be5ec72816441e702ff6dba92ed30d">Customizable logo.</li>
<li data-list-item-id="e26648726ce48aa84a8c71cf0fe3e4ee2">Toggle button for dark/light mode, which also stores the user preferences.</li>
<li
data-list-item-id="ef143555e0d67d1d389f6bbc226ebdc55">Quick navigation buttons (previous and next note).</li>
<li data-list-item-id="e32f67105cfb655c235d2454d9ec4874f">Displaying the date of the last update of the note.</li>
</ul>
<h3>By note type</h3>
<table class="ck-table-resized">
<colgroup>
<col style="width:19.92%;">
<col style="width:41.66%;">
<col style="width:38.42%;">
</colgroup>
<thead>
<tr>
<th>&nbsp;</th>
<th>Supported features</th>
<th>Limitations</th>
</tr>
</thead>
<tbody>
<tr>
<th><a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a>
</th>
<td>
<ul>
<li data-list-item-id="e26b4ce9ba4e9dfe224d04e0f341925ed">Table of contents.</li>
<li data-list-item-id="e9707fdfa2c92d66690cf932f7e647253">Syntax highlight of code blocks, provided a language is selected (does
not work if “Auto-detected” is enabled).</li>
<li data-list-item-id="e84420a10c6d64bd107edb6e867c91d4b">Rendering for math equations.</li>
<li data-list-item-id="e10834dcd0619d77ae2e94d3695bedf58"><a href="#root/_help_nBAXQFj20hS1">Including notes</a> (only if the included
notes are also shared).</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="e41cc4139377f9f88d653d1eb8ca47bb4">Inline Mermaid diagrams are not rendered.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a>
</th>
<td>
<ul>
<li data-list-item-id="e291ae6d5130677b4c99f7c3bdbe974b4">Basic support (displaying the contents of the note in a monospace font).</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="e0270680bbdd7a129306e61e11691e36d">No syntax highlight.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_m523cpzocqaD">Saved Search</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_iRwzGnHPzonm">Relation Map</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_bdUJEHsAPYQR">Note Map</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_HcABDtFCkbFN">Render Note</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_GTwFsgaA0lCt">Collections</a>
</th>
<td>
<ul>
<li data-list-item-id="ea031e1d4149eb443ace756234490c5a4">The child notes are displayed in a fixed format.&nbsp;</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="ea4a9d424aec2afbaecc07bbf64b7bebd">More advanced view types such as the calendar view are not supported.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>
</th>
<td>
<ul>
<li data-list-item-id="e582d283f2b1b30cbe5ae35d8e01b2bf2">The diagram is displayed as a vector image.</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="e33268686446e3c217077201bb5964364">No further interaction supported.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a>
</th>
<td>
<ul>
<li data-list-item-id="e443dd0e97c30cb12c77e8906a71569ea">The diagram is displayed as a vector image.</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="efe151ef3f3826c825416417525fb5fb2">No further interaction supported.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_1vHRoWCEjj0L">Web View</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_gBbsAeiuUxI5">Mind Map</a>
</th>
<td>The diagram is displayed as a vector image.</td>
<td>
<ul>
<li data-list-item-id="ed3b4fb473042f6e32b4502d4fa11a767">No further interaction supported.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map View</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_W8vYD3Q1zjCR">File</a>
</th>
<td>Basic interaction (downloading the file).</td>
<td>
<ul>
<li data-list-item-id="ed87e836a39d127ebcbb33e9e59045afb">No further interaction supported.</li>
</ul>
</td>
</tr>
</tbody>
</table>
<figure class="table">
<table class="ck-table-resized">
<colgroup>
<col style="width:19.92%;">
<col style="width:41.66%;">
<col style="width:38.42%;">
</colgroup>
<thead>
<tr>
<th>&nbsp;</th>
<th>Supported features</th>
<th>Limitations</th>
</tr>
</thead>
<tbody>
<tr>
<th><a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a>
</th>
<td>
<ul>
<li data-list-item-id="e26b4ce9ba4e9dfe224d04e0f341925ed">Table of contents.</li>
<li data-list-item-id="e9707fdfa2c92d66690cf932f7e647253">Syntax highlight of code blocks, provided a language is selected (does
not work if “Auto-detected” is enabled).</li>
<li data-list-item-id="e84420a10c6d64bd107edb6e867c91d4b">Rendering for math equations.</li>
<li data-list-item-id="e10834dcd0619d77ae2e94d3695bedf58"><a href="#root/_help_nBAXQFj20hS1">Including notes</a> (only if the included
notes are also shared).</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="e41cc4139377f9f88d653d1eb8ca47bb4">Inline Mermaid diagrams are not rendered.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a>
</th>
<td>
<ul>
<li data-list-item-id="e291ae6d5130677b4c99f7c3bdbe974b4">Basic support (displaying the contents of the note in a monospace font).</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="e0270680bbdd7a129306e61e11691e36d">No syntax highlight.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_m523cpzocqaD">Saved Search</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_iRwzGnHPzonm">Relation Map</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_bdUJEHsAPYQR">Note Map</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_HcABDtFCkbFN">Render Note</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_GTwFsgaA0lCt">Collections</a>
</th>
<td>
<ul>
<li data-list-item-id="ea031e1d4149eb443ace756234490c5a4">The child notes are displayed in a fixed format.&nbsp;</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="ea4a9d424aec2afbaecc07bbf64b7bebd">More advanced view types such as the calendar view are not supported.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>
</th>
<td>
<ul>
<li data-list-item-id="e582d283f2b1b30cbe5ae35d8e01b2bf2">The diagram is displayed as a vector image.</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="e33268686446e3c217077201bb5964364">No further interaction supported.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a>
</th>
<td>
<ul>
<li data-list-item-id="e443dd0e97c30cb12c77e8906a71569ea">The diagram is displayed as a vector image.</li>
</ul>
</td>
<td>
<ul>
<li data-list-item-id="efe151ef3f3826c825416417525fb5fb2">No further interaction supported.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_1vHRoWCEjj0L">Web View</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_gBbsAeiuUxI5">Mind Map</a>
</th>
<td>The diagram is displayed as a vector image.</td>
<td>
<ul>
<li data-list-item-id="ed3b4fb473042f6e32b4502d4fa11a767">No further interaction supported.</li>
</ul>
</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map</a>
</th>
<td>Not supported.</td>
<td>&nbsp;</td>
</tr>
<tr>
<th><a class="reference-link" href="#root/_help_W8vYD3Q1zjCR">File</a>
</th>
<td>Basic interaction (downloading the file).</td>
<td>
<ul>
<li data-list-item-id="ed87e836a39d127ebcbb33e9e59045afb">No further interaction supported.</li>
</ul>
</td>
</tr>
</tbody>
</table>
</figure>
<p>While the sharing feature is powerful, it has some limitations:</p>
<ul>
<li><strong>Code Notes</strong>: No syntax highlighting.</li>
<li><strong>Static Note Tree</strong>
<li data-list-item-id="e35e0cab1eec05f391623e8279959070c"><strong>Code Notes</strong>: No syntax highlighting.</li>
<li class="ck-list-marker-bold"
data-list-item-id="e36b70bd10c3666c0def874b4ec52db31"><strong>Static Note Tree</strong>
</li>
<li><strong>Protected Notes</strong>: Cannot be shared.</li>
<li><strong>Include Notes</strong>: Not supported.</li>
<li data-list-item-id="ef8144aff172d450cf7b4edbf1a430ab9"><strong>Protected Notes</strong>: Cannot be shared.</li>
<li data-list-item-id="ec3761c9dce911b115b840a32eebd18b8"><strong>Include Notes</strong>: Not supported.</li>
</ul>
<p>Some of these limitations may be addressed in future updates.</p>
<h2>Prerequisites</h2>
<p>To use the sharing feature, you must have a&nbsp;<a class="reference-link"
href="#root/_help_WOcw2SLH6tbX">Server Installation</a>&nbsp;of Trilium.
This is necessary because the notes will be hosted from the server.</p>
href="#root/_help_WOcw2SLH6tbX">Server Installation</a>&nbsp;of Trilium. This
is necessary because the notes will be hosted from the server.</p>
<h2>Sharing a note</h2>
<ol>
<li>
<li data-list-item-id="e503f8ad52fe9033ef59212b7b692d69f">
<p><strong>Enable Sharing</strong>: To share a note, toggle the <code>Shared</code> switch
within the note's interface. Once sharing is enabled, an URL will appear,
which you can click to access the shared note.</p>
<p>
<img src="Sharing_share-single-note.png" alt="Share Note">
<img src="Sharing_share-single-note.png"
alt="Share Note">
</p>
</li>
<li>
<p><strong>Access the Shared Note</strong>: The link provided will open the
note in your browser. If your server is not configured with a public IP,
the URL will refer to <code>localhost (127.0.0.1)</code>.</p>
</li>
<li data-list-item-id="e9c5083764d919503412f4f7f1cb0e0e0"><strong>Access the Shared Note</strong>: The link provided will open the
note in your browser. If your server is not configured with a public IP,
the URL will refer to <code>localhost (127.0.0.1)</code>.</li>
</ol>
<h2>Sharing a note subtree</h2>
<p>When you share a note, you actually share the entire subtree of notes
@@ -207,9 +211,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 data-list-item-id="ea35f4596f6a8c69a83416766b567c3cd">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 data-list-item-id="e34e983d07439b781597d1abaf8b6e297">The URL's randomness does not provide security, so it is crucial not to
share sensitive information through this feature.</li>
<li data-list-item-id="e94fbe4fb4b9f7806074aba4fe7601cb7">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&nbsp;<a class="reference-link" href="#root/_help_wX4HbRucYSDD">Database</a>.
Depending on your threat model, it might make more sense to use&nbsp;
<a
class="reference-link" href="#root/_help_ycBFjKrrwE9p">Exporting HTML for web publishing</a>&nbsp;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>.
@@ -219,12 +233,13 @@ class="image">
<p>The default design should be a good starting point, but you can customize
it using your own CSS:</p>
<ul>
<li><strong>Custom CSS</strong>: Link a CSS&nbsp;<a class="reference-link"
href="#root/_help_6f9hih2hXXZk">Code</a>&nbsp;note to the shared page by
adding a <code>~shareCss</code> relation to the note. If you want this style
to apply to the entire subtree, make the label inheritable. You can hide
the CSS code note from the tree navigation by adding the <code>#shareHiddenFromTree</code> label.</li>
<li><strong>Omitting Default CSS</strong>: For extensive styling changes,
<li data-list-item-id="e3fdd3f9d73ed0655a94330d0a75790e4"><strong>Custom CSS</strong>: Link a CSS&nbsp;<a class="reference-link"
href="#root/_help_6f9hih2hXXZk">Code</a>&nbsp;note to the shared page by adding
a <code>~shareCss</code> relation to the note. If you want this style to
apply to the entire subtree, make the label inheritable. You can hide the
CSS code note from the tree navigation by adding the <code>#shareHiddenFromTree</code> label.</li>
<li
data-list-item-id="ee0bb81c27f4cd176412d38258d32da39"><strong>Omitting Default CSS</strong>: For extensive styling changes,
use the <code>#shareOmitDefaultCss</code> label to avoid conflicts with Trilium's
<a
href="#root/_help_Wy267RK4M69c">default stylesheet</a>.</li>
@@ -242,22 +257,22 @@ class="image">
itself.</p>
<p>The <code>#shareHtmlLocation</code> label accepts values in the format <code>location:position</code>:</p>
<ul>
<li><strong>Locations</strong>: <code>head</code>, <code>body</code>, <code>content</code>
<li data-list-item-id="ead2588d20ac1fb23e7cb2a6d33d02bcb"><strong>Locations</strong>: <code>head</code>, <code>body</code>, <code>content</code>
</li>
<li><strong>Positions</strong>: <code>start</code>, <code>end</code>
<li data-list-item-id="e368323f330b229cb3428266304ebc2b4"><strong>Positions</strong>: <code>start</code>, <code>end</code>
</li>
</ul>
<p>For example:</p>
<ul>
<li><code>#shareHtmlLocation=head:start</code> - Injects HTML at the beginning
<li data-list-item-id="e2f0cbb70e71902ec26d64b4c10f1b3cf"><code>#shareHtmlLocation=head:start</code> - Injects HTML at the beginning
of the <code>&lt;head&gt;</code> section</li>
<li><code>#shareHtmlLocation=head:end</code> - Injects HTML at the end of the <code>&lt;head&gt;</code> section
<li data-list-item-id="e2ac6f7ec36059fc5ea2148bee57d9329"><code>#shareHtmlLocation=head:end</code> - Injects HTML at the end of the <code>&lt;head&gt;</code> section
(default)</li>
<li><code>#shareHtmlLocation=body:start</code> - Injects HTML at the beginning
<li data-list-item-id="e9fea05a82b09b66521807ae4b08bfd53"><code>#shareHtmlLocation=body:start</code> - Injects HTML at the beginning
of the <code>&lt;body&gt;</code> section</li>
<li><code>#shareHtmlLocation=content:start</code> - Injects HTML at the beginning
<li data-list-item-id="ed33846c38d6e8a631111fc858ecf4963"><code>#shareHtmlLocation=content:start</code> - Injects HTML at the beginning
of the content area</li>
<li><code>#shareHtmlLocation=content:end</code> - Injects HTML at the end of
<li data-list-item-id="e89347723de7736060ce226d93530a162"><code>#shareHtmlLocation=content:end</code> - Injects HTML at the end of
the content area</li>
</ul>
<p>If no location is specified, the HTML will be injected at <code>content:end</code> by
@@ -275,10 +290,19 @@ for (const attr of parentNote.attributes) {
This will change the URL to <code>http://domain.tld/share/highlighting</code>.</p>
<p><strong>Important</strong>:</p>
<ol>
<li>Ensure that aliases are unique.</li>
<li>Using slashes (<code>/</code>) within aliases to create subpaths is not
<li data-list-item-id="edff04cba1df31a2aae23fd2f6a5ee847">Ensure that aliases are unique.</li>
<li data-list-item-id="eea48bfb287b0559450050141243032a9">Using slashes (<code>/</code>) within aliases to create subpaths is not
supported.</li>
</ol>
<aside class="admonition tip">
<ul>
<li data-list-item-id="e0fcb644d56cb60448a87ddb7831e6043">To easily identify pages that don't have a share alias, run a&nbsp;
<a
class="reference-link" href="#root/_help_eIg8jdvaoNNd">Search</a>&nbsp;with <code>#!shareAlias</code>.</li>
<li data-list-item-id="e888d6e9d905db9a030755430007e522b">To be able to enter the share alias faster, consider using&nbsp;<a class="reference-link"
href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>&nbsp;(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>
@@ -299,91 +323,176 @@ 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>
<thead>
<tr>
<th>Attribute</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<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>
<td>note will act as a link to an external website in the share tree</td>
</tr>
<tr>
<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>
<td>default share page CSS will be omitted. Use when you make extensive styling
changes.</td>
</tr>
<tr>
<td><code>shareRoot</code>
</td>
<td>marks note which is served on /share root.</td>
</tr>
<tr>
<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>
<td>Note will be served in its raw format, without HTML wrapper. See also&nbsp;
<a
class="reference-link" href="#root/_help_Qjt68inQ2bRj">Serving directly the content of a note</a>&nbsp;for an alternative method
without setting an attribute.</td>
</tr>
<tr>
<td><code>shareDisallowRobotIndexing</code>
</td>
<td>
<p>Indicates to web crawlers that the page should not be indexed of this
note by:</p>
<ul>
<li data-list-item-id="e6baa9f60bf59d085fd31aa2cce07a0e7">Setting the <code>X-Robots-Tag: noindex</code> HTTP header.</li>
<li data-list-item-id="ec0d067db136ef9794e4f1033405880b7">Setting the <code>noindex, follow</code> meta tag.</li>
</ul>
</td>
</tr>
<tr>
<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>
<td>Note with this label will list all roots of shared notes.</td>
</tr>
<tr>
<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
location is <code>head</code>, <code>body</code>, or <code>content</code> and
position is <code>start</code> or <code>end</code>. Defaults to <code>content:end</code>.</td>
</tr>
</tbody>
</table>
<h2>Credits</h2>
<figure class="table" style="width:100%;">
<table class="ck-table-resized">
<colgroup>
<col style="width:18.38%;">
<col style="width:81.62%;">
</colgroup>
<thead>
<tr>
<th>Attribute</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<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>
<td>note will act as a link to an external website in the share tree</td>
</tr>
<tr>
<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>
<td>default share page CSS will be omitted. Use when you make extensive styling
changes.</td>
</tr>
<tr>
<td><code>#shareRoot</code>
</td>
<td>marks note which is served on /share root.</td>
</tr>
<tr>
<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>
<td>Note will be served in its raw format, without HTML wrapper. See also&nbsp;
<a
class="reference-link" href="#root/_help_Qjt68inQ2bRj">Serving directly the content of a note</a>&nbsp;for an alternative method
without setting an attribute.</td>
</tr>
<tr>
<td><code>#shareDisallowRobotIndexing</code>
</td>
<td>
<p>Indicates to web crawlers that the page should not be indexed of this
note by:</p>
<ul>
<li data-list-item-id="e6baa9f60bf59d085fd31aa2cce07a0e7">Setting the <code>X-Robots-Tag: noindex</code> HTTP header.</li>
<li data-list-item-id="ec0d067db136ef9794e4f1033405880b7">Setting the <code>noindex, follow</code> meta tag.</li>
</ul>
</td>
</tr>
<tr>
<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>
<td>Note with this label will list all roots of shared notes.</td>
</tr>
<tr>
<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
location is <code>head</code>, <code>body</code>, or <code>content</code> and
position is <code>start</code> or <code>end</code>. Defaults to <code>content:end</code>.</td>
</tr>
</tbody>
</table>
</figure>
<h3>Customizing logo</h3>
<p>It's possible to adjust the logo which is displayed on the top-left of
the left pane.</p>
<figure class="table" style="width:100%;">
<table class="ck-table-resized">
<colgroup>
<col style="width:19.08%;">
<col style="width:80.92%;">
</colgroup>
<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>
</figure>
<h3>Customizing OpenGraph</h3>
<figure class="table" style="width:100%;">
<table class="ck-table-resized">
<colgroup>
<col style="width:19.08%;">
<col style="width:80.92%;">
</colgroup>
<thead>
<tr>
<th>Attribute</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span style="color:#3b3b3b;"><code>#shareOpenGraphColor</code></span>
</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&nbsp;<a class="reference-link" href="#root/pOsGYCXsbNQG/KSZ04uQ2D1St/_help_W8vYD3Q1zjCR">File</a>.
This controls the <code>og:image</code> meta-property.</td>
</tr>
</tbody>
</table>
</figure>
<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
functionality (such as mobile support, dark/light mode, collapsible tree,

View File

@@ -0,0 +1,58 @@
<p>As described in&nbsp;<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
it can be potentially exploited.</p>
<p>Another alternative is to generate static HTML files (just like other
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&nbsp;<a class="reference-link" href="#root/_help_R9pX4DGra2Vt">Sharing</a>&nbsp;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
cache very easily.</p>
<aside class="admonition tip">
<p>Trilium's documentation, available at <a href="https://docs.triliumnotes.org/">docs.triliumnotes.org</a> is
built using this function of exporting to static HTML files which are then
deployed automatically to CloudFlare Pages.</p>
<p>The process is <a href="https://github.com/TriliumNext/Trilium/blob/main/apps/edit-docs/src/build-docs.ts">automated</a> by
importing the Markdown documentation and exporting it via a script to the
static web format.</p>
</aside>
<h2>Differences from normal sharing</h2>
<p>Apart from normal&nbsp;<a class="reference-link" href="#root/_help_R9pX4DGra2Vt">Sharing</a>,
exporting to static HTML files comes with a few subtle differences:</p>
<ul>
<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>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>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>The name of the files/URLs will prefer <code>shareAlias</code> to allow
for clean URLs.</li>
<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>
<h2>Testing locally</h2>
<p>As mentioned previously, the exported static pages require a website to
function. In order to test locally, a web server needs to be used.</p>
<p>One example is to use the Node.js-based <a href="https://www.npmjs.com/package/http-server"><code>http-server</code></a> which
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>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>&nbsp;could
potentially be used to automate an export on a scheduled task.</p>

View File

@@ -0,0 +1,23 @@
<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>.
<span
class="footnote-reference" data-footnote-reference="" data-footnote-index="1"
data-footnote-id="2b8mg20aol8" role="doc-noteref" id="fnref2b8mg20aol8"><sup><a href="#fn2b8mg20aol8">[1]</a></sup>
</span>
</p>
<ol class="footnote-section footnotes" data-footnote-section="" role="doc-endnotes">
<li class="footnote-item" data-footnote-item="" data-footnote-index="1"
data-footnote-id="2b8mg20aol8" role="doc-endnote" id="fn2b8mg20aol8"><span class="footnote-back-link" data-footnote-back-link="" data-footnote-id="2b8mg20aol8"><sup><strong><a href="#fnref2b8mg20aol8">^</a></strong></sup></span>
<div
class="footnote-content" data-footnote-content="">
<p><a href="https://github.com/orgs/TriliumNext/discussions/7341#discussioncomment-14679897">https://github.com/orgs/TriliumNext/discussions/7341#discussioncomment-14679897</a>&nbsp;</p>
</div>
</li>
</ol>

View File

@@ -39,7 +39,7 @@
</li>
<li><a href="#root/_help_QEAPj01N5f7w">Reference links</a>
</li>
<li><a href="#root/_help_NwBbFdNZ9h7O">Admonitions</a>, we ended up creating
our own plugin but <a href="https://github.com/aarkue/ckeditor5-admonition">aarkue/ckeditor5-admonition</a> was
<li><a href="#root/_help_NwBbFdNZ9h7O">Admonitions</a>, we ended up creating our
own plugin but <a href="https://github.com/aarkue/ckeditor5-admonition">aarkue/ckeditor5-admonition</a> was
a good inspiration (including the toolbar icon).</li>
</ul>

View File

@@ -1,5 +1,5 @@
<p><a href="https://excalidraw.com/">Excalidraw</a> is the technology behind
the&nbsp;<a href="#root/_help_grjYqerjn243">Canvas</a>&nbsp;notes. The
source code of the library is available on <a href="https://github.com/excalidraw/excalidraw">GitHub</a>.</p>
the&nbsp;<a href="#root/_help_grjYqerjn243">Canvas</a>&nbsp;notes. The source
code of the library is available on <a href="https://github.com/excalidraw/excalidraw">GitHub</a>.</p>
<p>We are using an unmodified version of it, so it shares the same <a href="https://github.com/excalidraw/excalidraw/issues">issues</a> as
the original.</p>

View File

@@ -3,10 +3,10 @@
main effects:</p>
<ol>
<li><strong>Attribute Inheritance</strong>: All attributes from the template
note are <a href="#root/_help_bwZpz2ajCEwO">inherited</a> by the instance
notes. Even attributes with <code>#isInheritable=false</code> are inherited
by the instance notes, although only inheritable attributes are further
inherited by the children of the instance notes.</li>
note are <a href="#root/_help_bwZpz2ajCEwO">inherited</a> by the instance notes.
Even attributes with <code>#isInheritable=false</code> are inherited by the
instance notes, although only inheritable attributes are further inherited
by the children of the instance notes.</li>
<li><strong>Content Duplication</strong>: The content of the template note
is copied to the instance note, provided the instance note is empty at
the time of template assignment.</li>
@@ -32,7 +32,8 @@
all attributes from the template are inherited.</p>
<p>To create an instance note through the UI:</p>
<p>
<img src="Templates_template-create-.png" alt="show child note templates">
<img src="Templates_template-create-.png"
alt="show child note templates">
</p>
<p>For the template to appear in the menu, the template note must have the <code>#template</code> label.
Do not confuse this with the <code>~template</code> relation, which links

View 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>&lt;strong&gt;</code>, <code>&lt;table&gt;</code>, <code>&lt;pre&gt;</code>).</li>
<li>Note that HTML is not a standardized format so some more specific features
such as admonitions or&nbsp;<a class="reference-link" href="#root/_help_hrZ1D00cLbal">Internal (reference) links</a>&nbsp;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&nbsp;<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>

View File

@@ -1,6 +1,6 @@
<figure class="image image-style-align-center">
<img style="aspect-ratio:991/403;" src="1_Jump to_image.png" width="991"
height="403">
<img style="aspect-ratio:991/403;" src="1_Jump to_image.png"
width="991" height="403">
</figure>
<h2>Jump to Note</h2>
@@ -34,8 +34,8 @@
<p>Alternatively you can click on the "time" icon on the right.</p>
<h2>Command Palette</h2>
<figure class="image image-style-align-center">
<img style="aspect-ratio:982/524;" src="Jump to_image.png" width="982"
height="524">
<img style="aspect-ratio:982/524;" src="Jump to_image.png"
width="982" height="524">
</figure>
<p>The command palette is a feature which allows easy execution of various
commands that can be found throughout the application, such as from menus

View File

@@ -5,7 +5,6 @@
<img src="Note Hoisting_note-hoistin.gif">
</p>
<p>In addition to showing only this subtree, this also narrows both full
text search and <a href="#root/_help_MMiBEQljMQh2">“jump to note”</a> to
just notes present in hoisted subtree.</p>
<p>See also <a href="#root/_help_9sRHySam5fXb">Workspace</a> which extends
this feature.</p>
text search and <a href="#root/_help_MMiBEQljMQh2">“jump to note”</a> to just notes
present in hoisted subtree.</p>
<p>See also <a href="#root/_help_9sRHySam5fXb">Workspace</a> which extends this feature.</p>

View File

@@ -1,16 +1,16 @@
<figure class="image image-style-align-center">
<img style="aspect-ratio:659/256;" src="Quick search_image.png" width="659"
height="256">
<img style="aspect-ratio:659/256;" src="Quick search_image.png"
width="659" height="256">
</figure>
<p>The <em>Quick search</em> function does a full-text search (that is, it
searches through the content of notes and not just the title of a note)
and displays the result in an easy-to-access manner.</p>
<p>The alternative to the quick search is the&nbsp;<a class="reference-link"
href="#root/_help_eIg8jdvaoNNd">Search</a>&nbsp;function, which opens in
a dedicated tab and has support for advanced queries.</p>
href="#root/_help_eIg8jdvaoNNd">Search</a>&nbsp;function, which opens in a dedicated
tab and has support for advanced queries.</p>
<p>For even faster navigation, it's possible to use&nbsp;<a class="reference-link"
href="#root/_help_F1r9QtzQLZqm">Jump to...</a>&nbsp;which will only search
through the note titles instead of the content.</p>
href="#root/_help_F1r9QtzQLZqm">Jump to...</a>&nbsp;which will only search through
the note titles instead of the content.</p>
<h2>Layout</h2>
<p>Based on the&nbsp;<a class="reference-link" href="#root/_help_x0JgW8UqGXvq">Vertical and horizontal layout</a>,
the quick search is placed:</p>
@@ -18,8 +18,8 @@
<li>On the vertical layout, it is displayed right above the&nbsp;<a class="reference-link"
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li>
<li>On the horizontal layout, it is displayed in the&nbsp;<a class="reference-link"
href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>, where it can be positioned
just like any other icon.</li>
href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>, where it can be positioned just
like any other icon.</li>
</ul>
<h2>Search Features</h2>
<p>Quick search includes the following features:</p>

View File

@@ -1,6 +1,6 @@
<figure class="image image_resized" style="width:100%;">
<img style="aspect-ratio:898/93;" src="Search in note_image.png" width="898"
height="93">
<img style="aspect-ratio:898/93;" src="Search in note_image.png"
width="898" height="93">
</figure>
<p>Local search allows you to search within the currently displayed note.&nbsp;</p>
<h2>Alternatives</h2>

View File

@@ -1,10 +1,10 @@
<figure class="image">
<img style="aspect-ratio:987/725;" src="Search_image.png" width="987"
height="725">
<img style="aspect-ratio:987/725;" src="Search_image.png"
width="987" height="725">
</figure>
<p>Note search enables you to find notes by searching for text in the title,
content, or <a href="#root/_help_zEY4DaJG4YT5">attributes</a> of the notes.
You also have the option to save your searches, which will create a special
content, or <a href="#root/_help_zEY4DaJG4YT5">attributes</a> of the notes. You
also have the option to save your searches, which will create a special
search note which is visible on your navigation tree and contains the search
results as sub-items.</p>
<h2>Accessing the search</h2>
@@ -107,8 +107,8 @@
action multiple times (i.e. in order to be able to apply multiple labels
to notes).</li>
<li>The actions given are the same as the ones in&nbsp;<a class="reference-link"
href="#root/_help_ivYnonVFBxbQ">Bulk Actions</a>, which is an alternative
for operating directly with notes within the&nbsp;<a class="reference-link"
href="#root/_help_ivYnonVFBxbQ">Bulk Actions</a>, which is an alternative for
operating directly with notes within the&nbsp;<a class="reference-link"
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li>
<li>After defining the actions, first press <em>Search</em> to check the matched
notes and then press <em>Search &amp; Execute actions</em> to trigger the

View File

@@ -1,6 +1,6 @@
<figure class="image image-style-align-center">
<img style="aspect-ratio:1626/540;" src="Similar Notes_image.png" width="1626"
height="540">
<img style="aspect-ratio:1626/540;" src="Similar Notes_image.png"
width="1626" height="540">
</figure>
<p>The Similar Notes feature tries to identify notes that relate to the current
note by looking at the content of the notes, their relationships, as well

View File

@@ -6,8 +6,8 @@
<p>So far workspace consists of these features:</p>
<ul>
<li>
<p><a href="#root/_help_OR8WJ7Iz9K4U">note hoisting</a> - you can "zoom" into
a workspace subtree to focus only on the relevant notes</p>
<p><a href="#root/_help_OR8WJ7Iz9K4U">note hoisting</a> - you can "zoom" into a
workspace subtree to focus only on the relevant notes</p>
</li>
<li>
<p>easy entering of workspace:&nbsp;</p>

View File

@@ -2,10 +2,9 @@
and content.</p>
<h3>Note types</h3>
<p>The main note type is a rich-text note type called&nbsp;<a class="reference-link"
href="#root/_help_iPIMuisry3hd">Text</a>. For diagrams and drawing there
is&nbsp;<a class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a>&nbsp;and&nbsp;
href="#root/_help_iPIMuisry3hd">Text</a>. For diagrams and drawing there is&nbsp;
<a
class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>.</p>
class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a>&nbsp;and&nbsp;<a class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>.</p>
<p>There are also more complex note types such as&nbsp;<a class="reference-link"
href="#root/_help_m523cpzocqaD">Saved Search</a>,&nbsp;<a class="reference-link"
href="#root/_help_HcABDtFCkbFN">Render Note</a>&nbsp;that usually go hand-in-hand

View File

@@ -1,5 +1,5 @@
<p>A <a href="#root/_help_BFs8mudNFgCS">note</a> in Trilium can <em>own</em> one
or more attachments, which can be either images or files. These attachments
<p>A <a href="#root/_help_BFs8mudNFgCS">note</a> in Trilium can <em>own</em> one or
more attachments, which can be either images or files. These attachments
can be displayed or linked within the note that owns them.</p>
<p>This can be especially useful to include dependencies for your <a href="#root/_help_CdNpE2pqjmI6">scripts</a>.
The&nbsp;<a class="reference-link" href="#root/_help_R7abl2fc6Mxi">Weight Tracker</a>&nbsp;shows
@@ -21,8 +21,8 @@
<li>For a single note, press the context menu from the&nbsp;<a class="reference-link"
href="#root/_help_8YBEPzcpUgxw">Note buttons</a>&nbsp;and select <em>Convert into attachment</em>.</li>
<li>For multiple notes, select the given notes in the&nbsp;<a class="reference-link"
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>, right click → Advanced →
Convert to attachment.</li>
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>, right click → Advanced → Convert
to attachment.</li>
</ul>
<h2>Attachment previews</h2>
<p>Attachments share the same content preview for images, videos, PDFs, etc.

View File

@@ -5,8 +5,10 @@
the css class names is not necessary. While editing a note, click on the
icon next to the title to bring up a chooser gallery:</p>
<p>
<img src="Note Icons_note-icon-chang.png" alt="change note icon">
<img src="Note Icons_note-icon-chang.png"
alt="change note icon">
</p>
<p>
<img src="Note Icons_note-icon-galle.png" alt="note icon gallery">
<img src="Note Icons_note-icon-galle.png"
alt="note icon gallery">
</p>

View File

@@ -1,6 +1,6 @@
<figure class="image">
<img style="aspect-ratio:990/590;" src="Note List_image.png" width="990"
height="590">
<img style="aspect-ratio:990/590;" src="Note List_image.png"
width="990" height="590">
</figure>
<p>When a note has one or more child notes, they will be listed at the end
of the note for easy navigation.</p>
@@ -19,7 +19,6 @@
the notes will be displayed in a grid, however there are also some other
view types available.</p>
<p>Generally the view type can only be changed in a&nbsp;<a class="reference-link"
href="#root/_help_GTwFsgaA0lCt">Collections</a>&nbsp;note from the&nbsp;
<a
class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>, but it can also be changed manually on any type of note using
the <code>#viewType</code> attribute.</p>
href="#root/_help_GTwFsgaA0lCt">Collections</a>&nbsp;note from the&nbsp;<a class="reference-link"
href="#root/_help_BlN9DFI679QC">Ribbon</a>, but it can also be changed manually
on any type of note using the <code>#viewType</code> attribute.</p>

View File

@@ -4,6 +4,7 @@
<figcaption>Screenshot of the note contextual menu indicating the “Export as PDF”
option.</figcaption>
</figure>
<h2>Printing</h2>
<p>This feature allows printing of notes. It works on both the desktop client,
but also on the web.</p>
@@ -26,7 +27,8 @@ class="admonition note">
<a
href="#root/_help_wy8So3yZZlH9">report the issue</a>. In this case, it's best to offer a sample note (click
on the
<img src="1_Printing & Exporting as PD.png" width="29" height="31">button, select Export note → This note and all of its descendants → HTML
<img src="1_Printing & Exporting as PD.png"
width="29" height="31">button, select Export note → This note and all of its descendants → HTML
in ZIP archive). Make sure not to accidentally leak any personal information.</p>
<p>Consider adjusting font sizes and using <a href="#root/_help_CohkqWQC1iBv">page breaks</a> to
work around the layout.</p>
@@ -40,7 +42,7 @@ class="admonition note">
<aside class="admonition tip">
<p>Although direct export as PDF is not available in the browser version
of the application, it's still possible to generate a PDF by selecting
the <em>Print </em>option instead and selecting “Save to PDF” as the printer
the <em>Print</em> option instead and selecting “Save to PDF” as the printer
(depending on the browser). Generally, Mozilla Firefox has better printing
capabilities.</p>
</aside>
@@ -56,12 +58,11 @@ class="admonition note">
<h3>Customizing exporting as PDF</h3>
<p>When exporting to PDF, there are no customizable settings such as page
orientation, size. However, there are a few&nbsp;<a class="reference-link"
href="#root/_help_zEY4DaJG4YT5">Attributes</a>&nbsp;to adjust some of the
settings:</p>
href="#root/_help_zEY4DaJG4YT5">Attributes</a>&nbsp;to adjust some of the settings:</p>
<ul>
<li data-list-item-id="e91eb69cdf42469e4f21852a6b27616b3">To print in landscape mode instead of portrait (useful for big diagrams
<li>To print in landscape mode instead of portrait (useful for big diagrams
or slides), add <code>#printLandscape</code>.</li>
<li data-list-item-id="e111f43a2b5200816649515c5718b6c31">By default, the resulting PDF will be in Letter format. It is possible
<li>By default, the resulting PDF will be in Letter format. It is possible
to adjust it to another page size via the <code>#printPageSize</code> attribute,
with one of the following values: <code>A0</code>, <code>A1</code>, <code>A2</code>, <code>A3</code>, <code>A4</code>, <code>A5</code>, <code>A6</code>, <code>Legal</code>, <code>Letter</code>, <code>Tabloid</code>, <code>Ledger</code>.</li>
</ul>
@@ -75,9 +76,9 @@ class="admonition note">
href="#root/_help_4TIF1oA4VQRO">Options</a>&nbsp;and assigning a key combination
for:</p>
<ul>
<li class="ck-list-marker-italic" data-list-item-id="e4065a346baa2fcc2f0bfe436f4026375"><em>Print Active Note</em>
<li><em>Print Active Note</em>
</li>
<li class="ck-list-marker-italic" data-list-item-id="e358a65968ddc456ba39276f3d03e67ab"><em>Export Active Note as PDF</em>
<li><em>Export Active Note as PDF</em>
</li>
</ul>
<h2>Constraints &amp; limitations</h2>
@@ -85,24 +86,24 @@ class="admonition note">
supported when printing, in which case the <em>Print</em> and <em>Export as PDF</em> options
will be disabled.</p>
<ul>
<li data-list-item-id="e10824952bca3d35d824df6ff828a674f">For&nbsp;<a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a>&nbsp;notes:
<li>For&nbsp;<a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a>&nbsp;notes:
<ul>
<li data-list-item-id="ea6c43aec2902c6e071541491e8bd60ac">Line numbers are not printed.</li>
<li data-list-item-id="efddf7e53853db4e34d16d154b8ed4928">Syntax highlighting is enabled, however a default theme (Visual Studio)
<li>Line numbers are not printed.</li>
<li>Syntax highlighting is enabled, however a default theme (Visual Studio)
is enforced.</li>
</ul>
</li>
<li data-list-item-id="e015b49c0f3289d6899c5a8b234d5be8b">For&nbsp;<a class="reference-link" href="#root/_help_GTwFsgaA0lCt">Collections</a>:
<li>For&nbsp;<a class="reference-link" href="#root/_help_GTwFsgaA0lCt">Collections</a>:
<ul>
<li data-list-item-id="ee53ebf2cbc850302a779b29475441b0b">Only&nbsp;<a class="reference-link" href="#root/_help_zP3PMqaG71Ct">Presentation View</a>&nbsp;is
<li>Only&nbsp;<a class="reference-link" href="#root/_help_zP3PMqaG71Ct">Presentation View</a>&nbsp;is
currently supported.</li>
<li data-list-item-id="ebb55f62a0f525b810fd11fadc01e86ac">We plan to add support for all the collection types at some point.</li>
<li>We plan to add support for all the collection types at some point.</li>
</ul>
</li>
<li data-list-item-id="e25476c9600ab387eda79fa5eec0b5394">Using&nbsp;<a class="reference-link" href="#root/_help_AlhDUqhENtH7">Custom app-wide CSS</a>&nbsp;for
<li>Using&nbsp;<a class="reference-link" href="#root/_help_AlhDUqhENtH7">Custom app-wide CSS</a>&nbsp;for
printing is not longer supported, due to a more stable but isolated mechanism.
<ul>
<li data-list-item-id="eeb0dc52913013746ad4c3709296fab6b">We plan to introduce a new mechanism specifically for a print CSS.</li>
<li>We plan to introduce a new mechanism specifically for a print CSS.</li>
</ul>
</li>
</ul>

View File

@@ -6,8 +6,8 @@
<li><strong>Encryption:</strong> Protected notes are encrypted using a key
derived from your password. This ensures that without the correct password,
protected notes remain indecipherable. Even if someone gains access to
your Trilium <a href="#root/_help_wX4HbRucYSDD">database</a>, they won't
be able to read your encrypted notes.</li>
your Trilium <a href="#root/_help_wX4HbRucYSDD">database</a>, they won't be able
to read your encrypted notes.</li>
<li><strong>Time-limited access:</strong> To access protected notes, you must
first enter your password, which decrypts the note for reading and writing.
However, after a specified period of inactivity (10 minutes by default),
@@ -30,7 +30,8 @@
<p>By default, notes are unprotected. To protect a note, simply click on
the shield icon next to the note's title, as shown here:</p>
<p>
<img src="Protected Notes_protecting.gif" alt="example animation of unlocking protected notes">
<img src="Protected Notes_protecting.gif"
alt="example animation of unlocking protected notes">
</p>
<h2>What is Encrypted?</h2>
<p>Trilium encrypts the data within protected notes but not their metadata.

View File

@@ -11,10 +11,9 @@
of the next section.</p>
<p>In addition, it's possible to change the number of characters at which
the automatic read-only mode will trigger in&nbsp;<a class="reference-link"
href="#root/_help_4TIF1oA4VQRO">Options</a>&nbsp;by going to the options
for&nbsp;<a class="reference-link" href="#root/_hidden/_options/_help__optionsTextNotes">Text Notes</a>&nbsp;and&nbsp;
href="#root/_help_4TIF1oA4VQRO">Options</a>&nbsp;by going to the options for&nbsp;
<a
class="reference-link" href="#root/_hidden/_options/_help__optionsCodeNotes">Code Notes</a>.</p>
class="reference-link" href="#root/_hidden/_options/_help__optionsTextNotes">Text Notes</a>&nbsp;and&nbsp;<a class="reference-link" href="#root/_hidden/_options/_help__optionsCodeNotes">Code Notes</a>.</p>
<h2>Changing a note's read-only behavior</h2>
<p>Via the&nbsp;<a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>,
by going to the <em>Basic Properties</em> tab and looking for the <em>Editable</em> selection.

View File

@@ -1,7 +1,7 @@
<h2>Manual sorting</h2>
<p>You can sort notes by right-clicking the parent note in the&nbsp;<a class="reference-link"
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>&nbsp;and selecting Advanced
-&gt; Sort notes by ... This will sort existing notes, but will not automatically
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>&nbsp;and selecting Advanced -&gt;
Sort notes by ... This will sort existing notes, but will not automatically
sort future notes added to this parent note.</p>
<p>The sorting dialog allows:</p>
<ul>

View File

@@ -1,6 +1,6 @@
<figure class="image image-style-align-center">
<img style="aspect-ratio:893/144;" src="Floating buttons_image.png" width="893"
height="144">
<img style="aspect-ratio:893/144;" src="Floating buttons_image.png"
width="893" height="144">
</figure>
<p>Depending on the current note, a panel will appear near the top-right
of the note, right underneath the&nbsp;<a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>.
@@ -13,8 +13,8 @@
class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a>, there are buttons to download the SVG representation of the
note, or to copy a reference to the note for pasting it a&nbsp;<a class="reference-link"
href="#root/_help_iPIMuisry3hd">Text</a>&nbsp;note.</li>
<li>For <a href="#root/_help_CoFPLs3dRlXc">read-only notes</a>, there is a
button to temporarily edit the note for quick modifications.</li>
<li>For <a href="#root/_help_CoFPLs3dRlXc">read-only notes</a>, there is a button
to temporarily edit the note for quick modifications.</li>
</ul>
<h2>Interaction</h2>
<p>The floating button area can be collapsed by pressing the two right arrows

View File

@@ -36,8 +36,8 @@
<p>Similarly, to remove it from the launch bar, simply look for it in <em>Visible Launchers</em> then
right click it and select <em>Move to available launchers</em> or use drag-and-drop.</p>
<p>Drag-and-drop the items in the&nbsp;tree&nbsp;in order to change their
order. See&nbsp;<a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>&nbsp;for
more interaction options, including using keyboard shortcuts.</p>
order. See&nbsp;<a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>&nbsp;for more
interaction options, including using keyboard shortcuts.</p>
<h2>Customizing the launcher</h2>
<ul>
<li>The icon of a launcher can be changed just like a normal note. See&nbsp;

View File

@@ -1,10 +1,10 @@
<figure class="image image-style-align-right">
<img style="aspect-ratio:505/261;" src="Note Tooltip_image.png" width="505"
height="261">
<img style="aspect-ratio:505/261;" src="Note Tooltip_image.png"
width="505" height="261">
</figure>
<p>The note tooltip is a convenience feature which displays a popup when
hovering over an <a href="#root/_help_hrZ1D00cLbal">internal link</a> to
another note.</p>
hovering over an <a href="#root/_help_hrZ1D00cLbal">internal link</a> to another
note.</p>
<p>The following information is displayed:</p>
<ul>
<li>The note path, at the top of the popup.</li>
@@ -16,8 +16,8 @@
</ul>
</li>
<li>A snippet of the content will be displayed as well.</li>
<li>A button to <a href="#root/_help_ZjLYv08Rp3qC">quickly edit</a> the note
in a popup.</li>
<li>A button to <a href="#root/_help_ZjLYv08Rp3qC">quickly edit</a> the note in a
popup.</li>
</ul>
<p>The tooltip can be found in multiple places, including:</p>
<ul>
@@ -29,8 +29,8 @@
when hovering over a marker.</li>
<li><a class="reference-link" href="#root/_help_xWbu3jpNWapp">Calendar View</a>,
when hovering over an event.</li>
<li><a class="reference-link" href="#root/_help_2FvYrpmOXm29">Table View</a>,
when hovering over a note title, or over a <a href="#root/_help_Cq5X6iKQop6R">relation</a>.</li>
<li><a class="reference-link" href="#root/_help_2FvYrpmOXm29">Table View</a>, when
hovering over a note title, or over a <a href="#root/_help_Cq5X6iKQop6R">relation</a>.</li>
</ul>
</li>
</ul>

View File

@@ -5,13 +5,15 @@
</p>
<h2>Drag and Drop</h2>
<p>
<img src="Note Tree_drag-and-drop.gif" alt="Drag and drop example">
<img src="Note Tree_drag-and-drop.gif"
alt="Drag and drop example">
</p>
<p>You can easily rearrange the note tree by dragging and dropping notes,
as demonstrated in the example above.</p>
<h2>Keyboard Manipulation</h2>
<p>
<img src="Note Tree_move-note-with-k.gif" alt="Example of using keyboard keys to move a note">Trilium offers efficient keyboard-based manipulation using the following
<img src="Note Tree_move-note-with-k.gif"
alt="Example of using keyboard keys to move a note">Trilium offers efficient keyboard-based manipulation using the following
<a
href="#root/_help_A9Oc6YKKc65v">shortcuts</a>:</p>
<ul>

View File

@@ -10,8 +10,7 @@
<ul>
<li>On a single note, by right clicking it in the note tree.</li>
<li>On multiple notes, by selecting them first. See&nbsp;<a class="reference-link"
href="#root/_help_yTjUdsOi4CIE">Multiple selection</a>&nbsp;on how to do
so.
href="#root/_help_yTjUdsOi4CIE">Multiple selection</a>&nbsp;on how to do so.
<ul>
<li>When right clicking, do note that usually the note being right clicked
is also included in the affected notes, regardless of whether it was selected
@@ -81,9 +80,9 @@
<li>Use one of the two paste functions (or the keyboard shortcuts) to copy
them to the desired location.</li>
<li>Note that the copy function here works according to the&nbsp;<a class="reference-link"
href="#root/_help_IakOLONlIfGI">Cloning Notes</a>&nbsp;functionality (i.e.
the note itself will be present in two locations at once, and editing it
in one place will edit it everywhere).</li>
href="#root/_help_IakOLONlIfGI">Cloning Notes</a>&nbsp;functionality (i.e. the
note itself will be present in two locations at once, and editing it in
one place will edit it everywhere).</li>
<li>To simply create a duplicate note that can be modified independently,
look for <em>Duplicate subtree</em>.</li>
</ul>
@@ -145,8 +144,8 @@
</li>
<li><strong>Import into note</strong>
<ul>
<li>Opens the <a href="#root/_help_mHbBMPDPkVV5">import</a> dialog and places
the imported notes as child notes of the selected one.</li>
<li>Opens the <a href="#root/_help_mHbBMPDPkVV5">import</a> dialog and places the
imported notes as child notes of the selected one.</li>
</ul>
</li>
<li><strong>Export</strong>
@@ -191,8 +190,8 @@
<li>Converts the selected notes to&nbsp;<a class="reference-link" href="#root/_help_0vhv7lsOLy82">Attachments</a>&nbsp;of
their parent notes.</li>
<li>This functional is most useful when dealing with image&nbsp;<a class="reference-link"
href="#root/_help_W8vYD3Q1zjCR">File</a>&nbsp;notes that were imported
from an external source or an older version of Trilium.</li>
href="#root/_help_W8vYD3Q1zjCR">File</a>&nbsp;notes that were imported from an
external source or an older version of Trilium.</li>
</ul>
</li>
<li><strong>Expand subtree</strong>

View File

@@ -1,14 +1,13 @@
<figure class="image image-style-align-center">
<img style="aspect-ratio:1189/709;" src="Options_image.png" width="1189"
height="709">
<img style="aspect-ratio:1189/709;" src="Options_image.png"
width="1189" height="709">
</figure>
<p>The Options section allows the configuration of the TriliumNext client
and server.</p>
<h2>Entering options</h2>
<p>The Options can be accessed via:</p>
<ul>
<li>The&nbsp;<a href="#root/_help_x3i7MxGccDuM">Global menu</a>, by selecting
the <em>Options</em> item.</li>
<li>The&nbsp;<a href="#root/_help_x3i7MxGccDuM">Global menu</a>, by selecting the <em>Options</em> item.</li>
<li>The
<img src="1_Options_image.png">button in the&nbsp;<a href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>&nbsp;which
can optionally be hidden if not desirable.</li>

View File

@@ -1,18 +1,18 @@
<figure class="image image-style-align-right image_resized" style="width:53.13%;">
<img style="aspect-ratio:895/694;" src="Quick edit_image.png" width="895"
height="694">
<img style="aspect-ratio:895/694;" src="Quick edit_image.png"
width="895" height="694">
</figure>
<p><em>Quick edit</em> provides an alternative to the standard tab-based navigation
and editing.</p>
<p>Instead of clicking on a note which switches the&nbsp;<a class="reference-link"
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>&nbsp;to the newly selected
note, or navigating between two different&nbsp;<a class="reference-link"
href="#root/_help_3seOhtN8uLIY">Tabs</a>, the <em>Quick edit</em> feature
opens as a popup window that can be easily dismissed.</p>
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>&nbsp;to the newly selected note,
or navigating between two different&nbsp;<a class="reference-link" href="#root/_help_3seOhtN8uLIY">Tabs</a>,
the <em>Quick edit</em> feature opens as a popup window that can be easily
dismissed.</p>
<p>This feature is also well integrated with&nbsp;<a class="reference-link"
href="#root/_help_GTwFsgaA0lCt">Collections</a>&nbsp;such as the calendar
view, which makes it easy to edit entries without having to go back and
forth between the child note and the calendar.</p>
href="#root/_help_GTwFsgaA0lCt">Collections</a>&nbsp;such as the calendar view,
which makes it easy to edit entries without having to go back and forth
between the child note and the calendar.</p>
<h2>Feature highlights</h2>
<ul>
<li>All note types are supported, including&nbsp;<a class="reference-link"

View File

@@ -1,6 +1,6 @@
<figure class="image image-style-align-center image_resized" style="width:50%;">
<img style="aspect-ratio:988/572;" src="1_Recent Changes_image.png" width="988"
height="572">
<img style="aspect-ratio:988/572;" src="1_Recent Changes_image.png"
width="988" height="572">
</figure>
<h2>Accessing the recent changes</h2>
@@ -9,10 +9,9 @@
<img src="Recent Changes_image.png"
width="25" height="21">button in the&nbsp;<a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>.
<ul>
<li>If there is a <a href="#root/_help_OR8WJ7Iz9K4U">hoisted note</a> or a
<a
href="#root/_help_9sRHySam5fXb">workspace</a>, the list of recent changes will be limited to the descendents
of the hoisted note, or the workspace.</li>
<li>If there is a <a href="#root/_help_OR8WJ7Iz9K4U">hoisted note</a> or a <a href="#root/_help_9sRHySam5fXb">workspace</a>,
the list of recent changes will be limited to the descendents of the hoisted
note, or the workspace.</li>
</ul>
</li>
<li>To limit the list of recent changes to a note and its descendants, look

View File

@@ -24,28 +24,27 @@
</li>
<li><em><strong>Protect the note</strong></em> toggles whether the current
note is encrypted and accessible only by entering the protected session.
See&nbsp;<a href="#root/_help_bwg0e8ewQMak">Protected Notes</a>&nbsp;for
more information.</li>
See&nbsp;<a href="#root/_help_bwg0e8ewQMak">Protected Notes</a>&nbsp;for more
information.</li>
<li><em><strong>Editable</strong></em> changes whether the current note:
<ul>
<li>Enters <a href="#root/_help_CoFPLs3dRlXc">read-only mode</a> automatically
if the note is too big (default behaviour).</li>
<li>Enters <a href="#root/_help_CoFPLs3dRlXc">read-only mode</a> automatically if
the note is too big (default behaviour).</li>
<li>Is always in read-only mode (however it can still be edited temporarily).</li>
<li>Is always editable, regardless of its size.</li>
</ul>
</li>
<li><em><strong>Bookmark</strong></em> toggles the display of the current note
into the&nbsp;<a href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>&nbsp;for
easy access. See&nbsp;<a href="#root/_help_u3YFHC9tQlpm">Bookmarks</a>&nbsp;for
more information.</li>
into the&nbsp;<a href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>&nbsp;for easy
access. See&nbsp;<a href="#root/_help_u3YFHC9tQlpm">Bookmarks</a>&nbsp;for more
information.</li>
<li><em><strong>Shared</strong></em> toggles whether the current note is publicly
accessible if you have a <a href="#root/_help_WOcw2SLH6tbX">server instance</a> set
up. See&nbsp;<a href="#root/_help_R9pX4DGra2Vt">Sharing</a>&nbsp;for more
information.</li>
up. See&nbsp;<a href="#root/_help_R9pX4DGra2Vt">Sharing</a>&nbsp;for more information.</li>
<li><em><strong>Template</strong></em> toggles whether the current note is
considered a template and can be used to easily create notes with the same
content. See&nbsp;<a href="#root/_help_KC1HB96bqqHX">Template</a>&nbsp;for
more information.</li>
content. See&nbsp;<a href="#root/_help_KC1HB96bqqHX">Template</a>&nbsp;for more
information.</li>
<li><em><strong>Language</strong></em> changes the main language of the current
note, mostly useful for spell checking or right-to-left support. See&nbsp;
<a
@@ -65,23 +64,21 @@
<h3>Note Paths</h3>
<p>This section displays all the places where the current note has been cloned
to. Here the current note can also be cloned to a new location (similar
to the&nbsp;<a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>) See&nbsp;
<a
href="#root/_help_IakOLONlIfGI">Cloning Notes</a>&nbsp;for more information.</p>
to the&nbsp;<a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>) See&nbsp;<a href="#root/_help_IakOLONlIfGI">Cloning Notes</a>&nbsp;for
more information.</p>
<h3>Note Map</h3>
<p>The note map displays all the relations of the current note to other notes,
as well as the subtree structure. See&nbsp;<a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>&nbsp;for
more information.</p>
<h3>Similar Notes</h3>
<p>This section lists all the notes that are similar to the current one.
See&nbsp;<a href="#root/_help_xWtq5NUHOwql">Similar Notes</a>&nbsp;for
more information.</p>
See&nbsp;<a href="#root/_help_xWtq5NUHOwql">Similar Notes</a>&nbsp;for more information.</p>
<h3>Note Info</h3>
<p>This section displays information about the current note:</p>
<ul>
<li>The <a href="#root/_help_m1lbrzyKDaRB">internal ID</a> of the note.</li>
<li>The <a href="#root/_help_KSZ04uQ2D1St">type of the note</a>, as well as
its MIME type (used mostly for exporting notes).</li>
<li>The <a href="#root/_help_KSZ04uQ2D1St">type of the note</a>, as well as its MIME
type (used mostly for exporting notes).</li>
<li>The created and modification dates.</li>
<li>The estimated size of the note in the&nbsp;<a href="#root/_help_wX4HbRucYSDD">Database</a>,
as well as its children count and size.</li>

View File

@@ -1,6 +1,6 @@
<figure class="image">
<img style="aspect-ratio:1036/372;" src="Right Sidebar_image.png" width="1036"
height="372">
<img style="aspect-ratio:1036/372;" src="Right Sidebar_image.png"
width="1036" height="372">
</figure>
<p>The right sidebar displays specific content for the current note. Currently
it includes:</p>

View File

@@ -1,6 +1,6 @@
<figure class="image image-style-align-center">
<img style="aspect-ratio:1119/43;" src="2_Tabs_image.png" width="1119"
height="43">
<img style="aspect-ratio:1119/43;" src="2_Tabs_image.png"
width="1119" height="43">
</figure>
<p>In Trilium, tabs allow easy switching between notes.</p>
<h2>Layout</h2>
@@ -9,8 +9,8 @@
<li>For the vertical layout, the tabs will be placed at the top but to the
right of the&nbsp;<a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li>
<li>For the horizontal layout, the tabs will be placed at the top in full-width,
above the&nbsp;<a href="#root/_help_oPVyFC7WL2Lp">note tree</a>, allowing
for more tabs to be comfortably displayed.</li>
above the&nbsp;<a href="#root/_help_oPVyFC7WL2Lp">note tree</a>, allowing for
more tabs to be comfortably displayed.</li>
</ul>
<h2>Interaction</h2>
<ul>
@@ -19,8 +19,8 @@
<li>To close a tab, press the corresponding
<img src="Tabs_image.png">button.</li>
<li>For multitasking, tabs can be used alongside&nbsp;<a class="reference-link"
href="#root/_help_luNhaphA37EO">Split View</a>. Each tab can have one or
more notes, displayed horizontally.</li>
href="#root/_help_luNhaphA37EO">Split View</a>. Each tab can have one or more
notes, displayed horizontally.</li>
<li>Tabs can be reordered by drag-and-dropping it into a new position.</li>
<li>An existing tab can be displayed in a new window by dragging the tab upwards
or downwards. It is not possible to combine tabs back into another window.</li>

View File

@@ -0,0 +1,8 @@
<p>Zoom applies to the entire UI, including text.</p>
<p>On the desktop application, use the&nbsp;<a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a>&nbsp;to
zoom in/out.</p>
<p>On both web browser and the desktop, the keyboard shortcuts <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>+</kbd> and <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>-</kbd> can
be used.</p>
<h2>Adjusting the text size instead</h2>
<p>As an alternative to the zoom, the text size can be individually adjusted
by going to&nbsp;<a class="reference-link" href="#root/_help_4TIF1oA4VQRO">Options</a>&nbsp;<em>Appearance</em>.</p>

View File

@@ -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&nbsp;<a class="reference-link"
href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>&nbsp;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>&nbsp;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>&nbsp;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>&nbsp;displays
each note as a row in a table, with&nbsp;<a class="reference-link" href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>&nbsp;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>&nbsp;(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&nbsp;
<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&nbsp;<a class="reference-link"
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>&nbsp;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&nbsp;<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&nbsp;<a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>&nbsp;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>
@@ -54,8 +115,8 @@
to display notes all across the tree, with advanced querying functionality.</p>
<p>To do so, simply start a&nbsp;<a class="reference-link" href="#root/_help_eIg8jdvaoNNd">Search</a>&nbsp;and
go to the <em>Collection Properties</em> tab in the&nbsp;<a class="reference-link"
href="#root/_help_BlN9DFI679QC">Ribbon</a>&nbsp;and select a desired type
of collection. To keep the search-based collection, use a&nbsp;<a class="reference-link"
href="#root/_help_BlN9DFI679QC">Ribbon</a>&nbsp;and select a desired type of
collection. To keep the search-based collection, use a&nbsp;<a class="reference-link"
href="#root/_help_m523cpzocqaD">Saved Search</a>.</p>
<aside class="admonition important">
<p>While in search, none of the collections will not display the child notes
@@ -75,21 +136,14 @@
<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&nbsp;
<a
class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>&nbsp;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&nbsp;<a class="reference-link" href="#root/_help_0ESUbbAxVnoK">Note List</a>&nbsp;mechanism
(the one that lists the children notes at the bottom of a note) to display
information.</p>
<p>By default, new collections use predefined&nbsp;<a class="reference-link"
href="#root/_help_KC1HB96bqqHX">Templates</a>&nbsp;that are stored safely
in the&nbsp;<a class="reference-link" href="#root/_help_2mUhVmZK8RF3">Hidden Notes</a>&nbsp;to
href="#root/_help_KC1HB96bqqHX">Templates</a>&nbsp;that are stored safely in
the&nbsp;<a class="reference-link" href="#root/_help_2mUhVmZK8RF3">Hidden Notes</a>&nbsp;to
define some basic configuration such as the type of view, but also some&nbsp;
<a
class="reference-link" href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>&nbsp;to make editing easier.</p>

Some files were not shown because too many files have changed in this diff Show More