mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-29 17:26:38 +01:00 
			
		
		
		
	Compare commits
	
		
			33 Commits
		
	
	
		
			fix/fix-eq
			...
			feat/docs_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | f1f8f34ef8 | ||
|  | a0b19ce526 | ||
|  | 4cc9ba824d | ||
|  | 08e66c18e7 | ||
|  | cf8089b07f | ||
|  | f8c61ecde9 | ||
|  | 6d51da9b88 | ||
|  | 9819a92b48 | ||
|  | 55a7017e92 | ||
|  | 1581568741 | ||
|  | d7982c65dd | ||
|  | 39608a2815 | ||
|  | f656c2caaa | ||
|  | bd3e92f091 | ||
|  | 7ce7c66463 | ||
|  | 61d26fec60 | ||
|  | 1822eea77c | ||
|  | 28c0e4e802 | ||
|  | 88d90fdedd | ||
|  | 2a1ecdbdca | ||
|  | 5772046674 | ||
|  | 1e2c8b2ac4 | ||
|  | 955b202b8a | ||
|  | be98a27439 | ||
|  | 54200fa0cb | ||
|  | 5d82a26c87 | ||
|  | e51070e389 | ||
|  | e0dc4fee20 | ||
|  | 187e9b57de | ||
|  | d6d67e7957 | ||
|  | bde03e8378 | ||
|  | 4c3fcdba4a | ||
|  | 7a5c1277f1 | 
							
								
								
									
										73
									
								
								.github/workflows/deploy-docs.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										73
									
								
								.github/workflows/deploy-docs.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,6 +1,4 @@ | |||||||
| # GitHub Actions workflow for deploying MkDocs documentation to Cloudflare Pages | name: Deploy Documentation | ||||||
| # This workflow builds and deploys your MkDocs site when changes are pushed to main |  | ||||||
| name: Deploy MkDocs Documentation |  | ||||||
|  |  | ||||||
| on: | on: | ||||||
|   # Trigger on push to main branch |   # Trigger on push to main branch | ||||||
| @@ -11,11 +9,8 @@ on: | |||||||
|     # Only run when docs files change |     # Only run when docs files change | ||||||
|     paths: |     paths: | ||||||
|       - 'docs/**' |       - 'docs/**' | ||||||
|       - 'README.md'  # README is synced to docs/index.md |       - 'apps/edit-docs/**' | ||||||
|       - 'mkdocs.yml' |       - 'packages/share-theme/**' | ||||||
|       - 'requirements-docs.txt' |  | ||||||
|       - '.github/workflows/deploy-docs.yml' |  | ||||||
|       - 'scripts/fix-mkdocs-structure.ts' |  | ||||||
|  |  | ||||||
|   # Allow manual triggering from Actions tab |   # Allow manual triggering from Actions tab | ||||||
|   workflow_dispatch: |   workflow_dispatch: | ||||||
| @@ -27,15 +22,12 @@ on: | |||||||
|       - master |       - master | ||||||
|     paths: |     paths: | ||||||
|       - 'docs/**' |       - 'docs/**' | ||||||
|       - 'README.md'  # README is synced to docs/index.md |       - 'apps/edit-docs/**' | ||||||
|       - 'mkdocs.yml' |       - 'packages/share-theme/**' | ||||||
|       - 'requirements-docs.txt' |  | ||||||
|       - '.github/workflows/deploy-docs.yml' |  | ||||||
|       - 'scripts/fix-mkdocs-structure.ts' |  | ||||||
|  |  | ||||||
| jobs: | jobs: | ||||||
|   build-and-deploy: |   build-and-deploy: | ||||||
|     name: Build and Deploy MkDocs |     name: Build and Deploy Documentation | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     timeout-minutes: 10 |     timeout-minutes: 10 | ||||||
|  |  | ||||||
| @@ -49,72 +41,25 @@ jobs: | |||||||
|     steps: |     steps: | ||||||
|       - name: Checkout Repository |       - name: Checkout Repository | ||||||
|         uses: actions/checkout@v5 |         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 |       - name: Setup pnpm | ||||||
|         uses: pnpm/action-setup@v4 |         uses: pnpm/action-setup@v4 | ||||||
|  |  | ||||||
|       # Setup Node.js with pnpm |  | ||||||
|       - name: Setup Node.js |       - name: Setup Node.js | ||||||
|         uses: actions/setup-node@v6 |         uses: actions/setup-node@v6 | ||||||
|         with: |         with: | ||||||
|           node-version: '24' |           node-version: '24' | ||||||
|           cache: 'pnpm' |           cache: 'pnpm' | ||||||
|  |  | ||||||
|       # Install Node.js dependencies for the TypeScript script |  | ||||||
|       - name: Install Dependencies |       - name: Install Dependencies | ||||||
|         run: | |         run: pnpm install --frozen-lockfile | ||||||
|           pnpm install --frozen-lockfile |  | ||||||
|  |  | ||||||
|       - name: Fix Documentation Structure |       - name: Trigger build of documentation | ||||||
|         run: | |         run: pnpm docs:build | ||||||
|           # 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: Validate Built Site |       - name: Validate Built Site | ||||||
|         run: | |         run: | | ||||||
|           # Basic validation that important files exist |  | ||||||
|           test -f site/index.html || (echo "ERROR: site/index.html not found" && exit 1) |           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 |       - name: Deploy | ||||||
|         uses: ./.github/actions/deploy-to-cloudflare-pages |         uses: ./.github/actions/deploy-to-cloudflare-pages | ||||||
|   | |||||||
| @@ -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(); |  | ||||||
| } |  | ||||||
| @@ -74,7 +74,6 @@ export default defineConfig(() => ({ | |||||||
|                 mobile: join(__dirname, "src", "mobile.ts"), |                 mobile: join(__dirname, "src", "mobile.ts"), | ||||||
|                 login: join(__dirname, "src", "login.ts"), |                 login: join(__dirname, "src", "login.ts"), | ||||||
|                 setup: join(__dirname, "src", "setup.ts"), |                 setup: join(__dirname, "src", "setup.ts"), | ||||||
|                 share: join(__dirname, "src", "share.ts"), |  | ||||||
|                 set_password: join(__dirname, "src", "set_password.ts"), |                 set_password: join(__dirname, "src", "set_password.ts"), | ||||||
|                 runtime: join(__dirname, "src", "runtime.ts"), |                 runtime: join(__dirname, "src", "runtime.ts"), | ||||||
|                 print: join(__dirname, "src", "print.tsx") |                 print: join(__dirname, "src", "print.tsx") | ||||||
|   | |||||||
							
								
								
									
										109
									
								
								apps/edit-docs/src/build-docs.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								apps/edit-docs/src/build-docs.ts
									
									
									
									
									
										Normal 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); | ||||||
| @@ -1,502 +0,0 @@ | |||||||
| import { test, expect } from "@playwright/test"; |  | ||||||
| import App from "./support/app"; |  | ||||||
|  |  | ||||||
| const BASE_URL = "http://127.0.0.1:8082"; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * E2E tests for exact search functionality using the leading "=" operator. |  | ||||||
|  * |  | ||||||
|  * These tests validate the GitHub issue: |  | ||||||
|  * - Searching for "pagio" returns many false positives (e.g., "page", "pages") |  | ||||||
|  * - Searching for "=pagio" should return ONLY exact matches for "pagio" |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| test.describe("Exact Search with Leading = Operator", () => { |  | ||||||
|     let csrfToken: string; |  | ||||||
|     let createdNoteIds: string[] = []; |  | ||||||
|  |  | ||||||
|     test.beforeEach(async ({ page, context }) => { |  | ||||||
|         const app = new App(page, context); |  | ||||||
|         await app.goto(); |  | ||||||
|  |  | ||||||
|         // Get CSRF token |  | ||||||
|         csrfToken = await page.evaluate(() => { |  | ||||||
|             return (window as any).glob.csrfToken; |  | ||||||
|         }); |  | ||||||
|  |  | ||||||
|         expect(csrfToken).toBeTruthy(); |  | ||||||
|  |  | ||||||
|         // Create test notes with specific content patterns |  | ||||||
|         // Note 1: Contains exactly "pagio" in title |  | ||||||
|         const note1 = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "Test Note with pagio", |  | ||||||
|                 content: "This note contains the word pagio in the content.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(note1.ok()).toBeTruthy(); |  | ||||||
|         const note1Data = await note1.json(); |  | ||||||
|         createdNoteIds.push(note1Data.note.noteId); |  | ||||||
|  |  | ||||||
|         // Note 2: Contains "page" (not exact match) |  | ||||||
|         const note2 = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "Test Note with page", |  | ||||||
|                 content: "This note contains the word page in the content.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(note2.ok()).toBeTruthy(); |  | ||||||
|         const note2Data = await note2.json(); |  | ||||||
|         createdNoteIds.push(note2Data.note.noteId); |  | ||||||
|  |  | ||||||
|         // Note 3: Contains "pages" (plural, not exact match) |  | ||||||
|         const note3 = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "Test Note with pages", |  | ||||||
|                 content: "This note contains the word pages in the content.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(note3.ok()).toBeTruthy(); |  | ||||||
|         const note3Data = await note3.json(); |  | ||||||
|         createdNoteIds.push(note3Data.note.noteId); |  | ||||||
|  |  | ||||||
|         // Note 4: Contains "homepage" (contains "page", not exact match) |  | ||||||
|         const note4 = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "Homepage Note", |  | ||||||
|                 content: "This note is about homepage content.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(note4.ok()).toBeTruthy(); |  | ||||||
|         const note4Data = await note4.json(); |  | ||||||
|         createdNoteIds.push(note4Data.note.noteId); |  | ||||||
|  |  | ||||||
|         // Note 5: Another note with exact "pagio" in content |  | ||||||
|         const note5 = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "Another pagio Note", |  | ||||||
|                 content: "This is another note with pagio content for testing exact matches.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(note5.ok()).toBeTruthy(); |  | ||||||
|         const note5Data = await note5.json(); |  | ||||||
|         createdNoteIds.push(note5Data.note.noteId); |  | ||||||
|  |  | ||||||
|         // Note 6: Contains "pagio" in title only |  | ||||||
|         const note6 = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "pagio", |  | ||||||
|                 content: "This note has pagio as the title.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(note6.ok()).toBeTruthy(); |  | ||||||
|         const note6Data = await note6.json(); |  | ||||||
|         createdNoteIds.push(note6Data.note.noteId); |  | ||||||
|  |  | ||||||
|         // Wait a bit for indexing |  | ||||||
|         await page.waitForTimeout(500); |  | ||||||
|     }); |  | ||||||
|  |  | ||||||
|     test.afterEach(async ({ page }) => { |  | ||||||
|         // Clean up created notes |  | ||||||
|         for (const noteId of createdNoteIds) { |  | ||||||
|             try { |  | ||||||
|                 const taskId = `cleanup-${Math.random().toString(36).substr(2, 9)}`; |  | ||||||
|                 await page.request.delete(`${BASE_URL}/api/notes/${noteId}?taskId=${taskId}&last=true`, { |  | ||||||
|                     headers: { "x-csrf-token": csrfToken } |  | ||||||
|                 }); |  | ||||||
|             } catch (e) { |  | ||||||
|                 console.error(`Failed to delete note ${noteId}:`, e); |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|         createdNoteIds = []; |  | ||||||
|     }); |  | ||||||
|  |  | ||||||
|     test("Quick search without = operator returns all partial matches", async ({ page }) => { |  | ||||||
|         // Test the /quick-search endpoint without the = operator |  | ||||||
|         const response = await page.request.get(`${BASE_URL}/api/quick-search/pag`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken } |  | ||||||
|         }); |  | ||||||
|  |  | ||||||
|         expect(response.ok()).toBeTruthy(); |  | ||||||
|         const data = await response.json(); |  | ||||||
|  |  | ||||||
|         // Should return multiple notes including "page", "pages", "homepage" |  | ||||||
|         expect(data.searchResultNoteIds).toBeDefined(); |  | ||||||
|         expect(data.searchResults).toBeDefined(); |  | ||||||
|  |  | ||||||
|         // Filter to only our test notes |  | ||||||
|         const testResults = data.searchResults.filter((result: any) => |  | ||||||
|             result.noteTitle.includes("page") || |  | ||||||
|             result.noteTitle.includes("pagio") || |  | ||||||
|             result.noteTitle.includes("Homepage") |  | ||||||
|         ); |  | ||||||
|  |  | ||||||
|         // Should find at least "page", "pages", "homepage", and "pagio" notes |  | ||||||
|         expect(testResults.length).toBeGreaterThanOrEqual(4); |  | ||||||
|  |  | ||||||
|         console.log("Quick search 'pag' found:", testResults.length, "matching notes"); |  | ||||||
|         console.log("Note titles:", testResults.map((r: any) => r.noteTitle)); |  | ||||||
|     }); |  | ||||||
|  |  | ||||||
|     test("Quick search with = operator returns only exact matches", async ({ page }) => { |  | ||||||
|         // Test the /quick-search endpoint WITH the = operator |  | ||||||
|         const response = await page.request.get(`${BASE_URL}/api/quick-search/=pagio`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken } |  | ||||||
|         }); |  | ||||||
|  |  | ||||||
|         expect(response.ok()).toBeTruthy(); |  | ||||||
|         const data = await response.json(); |  | ||||||
|  |  | ||||||
|         // Should return only notes with exact "pagio" match |  | ||||||
|         expect(data.searchResultNoteIds).toBeDefined(); |  | ||||||
|         expect(data.searchResults).toBeDefined(); |  | ||||||
|  |  | ||||||
|         // Filter to only our test notes |  | ||||||
|         const testResults = data.searchResults.filter((result: any) => |  | ||||||
|             createdNoteIds.includes(result.notePath.split("/").pop() || "") |  | ||||||
|         ); |  | ||||||
|  |  | ||||||
|         console.log("Quick search '=pagio' found:", testResults.length, "matching notes"); |  | ||||||
|         console.log("Note titles:", testResults.map((r: any) => r.noteTitle)); |  | ||||||
|  |  | ||||||
|         // Should find exactly 3 notes: "Test Note with pagio", "Another pagio Note", "pagio" |  | ||||||
|         expect(testResults.length).toBe(3); |  | ||||||
|  |  | ||||||
|         // Verify that none of the results contain "page" or "pages" (only "pagio") |  | ||||||
|         for (const result of testResults) { |  | ||||||
|             const title = result.noteTitle.toLowerCase(); |  | ||||||
|             const hasPageNotPagio = (title.includes("page") && !title.includes("pagio")); |  | ||||||
|             expect(hasPageNotPagio).toBe(false); |  | ||||||
|         } |  | ||||||
|     }); |  | ||||||
|  |  | ||||||
|     test("Full search API without = operator returns partial matches", async ({ page }) => { |  | ||||||
|         // Test the /search endpoint without the = operator |  | ||||||
|         const response = await page.request.get(`${BASE_URL}/api/search/pag`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken } |  | ||||||
|         }); |  | ||||||
|  |  | ||||||
|         expect(response.ok()).toBeTruthy(); |  | ||||||
|         const data = await response.json(); |  | ||||||
|  |  | ||||||
|         // Should return an array of note IDs |  | ||||||
|         expect(Array.isArray(data)).toBe(true); |  | ||||||
|  |  | ||||||
|         // Filter to only our test notes |  | ||||||
|         const testNoteIds = data.filter((id: string) => createdNoteIds.includes(id)); |  | ||||||
|  |  | ||||||
|         console.log("Full search 'pag' found:", testNoteIds.length, "matching notes from our test set"); |  | ||||||
|  |  | ||||||
|         // Should find at least 4 notes |  | ||||||
|         expect(testNoteIds.length).toBeGreaterThanOrEqual(4); |  | ||||||
|     }); |  | ||||||
|  |  | ||||||
|     test("Full search API with = operator returns only exact matches", async ({ page }) => { |  | ||||||
|         // Test the /search endpoint WITH the = operator |  | ||||||
|         const response = await page.request.get(`${BASE_URL}/api/search/=pagio`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken } |  | ||||||
|         }); |  | ||||||
|  |  | ||||||
|         expect(response.ok()).toBeTruthy(); |  | ||||||
|         const data = await response.json(); |  | ||||||
|  |  | ||||||
|         // Should return an array of note IDs |  | ||||||
|         expect(Array.isArray(data)).toBe(true); |  | ||||||
|  |  | ||||||
|         // Filter to only our test notes |  | ||||||
|         const testNoteIds = data.filter((id: string) => createdNoteIds.includes(id)); |  | ||||||
|  |  | ||||||
|         console.log("Full search '=pagio' found:", testNoteIds.length, "matching notes from our test set"); |  | ||||||
|  |  | ||||||
|         // Should find exactly 3 notes with exact "pagio" match |  | ||||||
|         expect(testNoteIds.length).toBe(3); |  | ||||||
|     }); |  | ||||||
|  |  | ||||||
|     test("Exact search operator works with content search", async ({ page }) => { |  | ||||||
|         // Create a note with "test" in title but different content |  | ||||||
|         const noteWithTest = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "Testing Content", |  | ||||||
|                 content: "This note contains the exact word test in content.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(noteWithTest.ok()).toBeTruthy(); |  | ||||||
|         const noteWithTestData = await noteWithTest.json(); |  | ||||||
|         const testNoteId = noteWithTestData.note.noteId; |  | ||||||
|         createdNoteIds.push(testNoteId); |  | ||||||
|  |  | ||||||
|         // Create a note with "testing" (not exact match) |  | ||||||
|         const noteWithTesting = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "Testing More", |  | ||||||
|                 content: "This note has testing in the content.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(noteWithTesting.ok()).toBeTruthy(); |  | ||||||
|         const noteWithTestingData = await noteWithTesting.json(); |  | ||||||
|         createdNoteIds.push(noteWithTestingData.note.noteId); |  | ||||||
|  |  | ||||||
|         await page.waitForTimeout(500); |  | ||||||
|  |  | ||||||
|         // Search with exact operator |  | ||||||
|         const response = await page.request.get(`${BASE_URL}/api/quick-search/=test`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken } |  | ||||||
|         }); |  | ||||||
|  |  | ||||||
|         expect(response.ok()).toBeTruthy(); |  | ||||||
|         const data = await response.json(); |  | ||||||
|  |  | ||||||
|         const ourTestNotes = data.searchResults.filter((result: any) => { |  | ||||||
|             const noteId = result.notePath.split("/").pop(); |  | ||||||
|             return noteId === testNoteId || noteId === noteWithTestingData.note.noteId; |  | ||||||
|         }); |  | ||||||
|  |  | ||||||
|         console.log("Exact search '=test' found our test notes:", ourTestNotes.length); |  | ||||||
|         console.log("Note titles:", ourTestNotes.map((r: any) => r.noteTitle)); |  | ||||||
|  |  | ||||||
|         // Should find the note with exact "test" match, but not "testing" |  | ||||||
|         // Note: This test may fail if the implementation doesn't properly handle exact matching in content |  | ||||||
|         expect(ourTestNotes.length).toBeGreaterThan(0); |  | ||||||
|     }); |  | ||||||
|  |  | ||||||
|     test("Exact search is case-insensitive", async ({ page }) => { |  | ||||||
|         // Create notes with different case variations |  | ||||||
|         const noteUpper = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "EXACT MATCH", |  | ||||||
|                 content: "This note has EXACT in uppercase.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(noteUpper.ok()).toBeTruthy(); |  | ||||||
|         const noteUpperData = await noteUpper.json(); |  | ||||||
|         createdNoteIds.push(noteUpperData.note.noteId); |  | ||||||
|  |  | ||||||
|         const noteLower = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "exact match", |  | ||||||
|                 content: "This note has exact in lowercase.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(noteLower.ok()).toBeTruthy(); |  | ||||||
|         const noteLowerData = await noteLower.json(); |  | ||||||
|         createdNoteIds.push(noteLowerData.note.noteId); |  | ||||||
|  |  | ||||||
|         await page.waitForTimeout(500); |  | ||||||
|  |  | ||||||
|         // Search with exact operator in lowercase |  | ||||||
|         const response = await page.request.get(`${BASE_URL}/api/quick-search/=exact`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken } |  | ||||||
|         }); |  | ||||||
|  |  | ||||||
|         expect(response.ok()).toBeTruthy(); |  | ||||||
|         const data = await response.json(); |  | ||||||
|  |  | ||||||
|         const ourTestNotes = data.searchResults.filter((result: any) => { |  | ||||||
|             const noteId = result.notePath.split("/").pop(); |  | ||||||
|             return noteId === noteUpperData.note.noteId || noteId === noteLowerData.note.noteId; |  | ||||||
|         }); |  | ||||||
|  |  | ||||||
|         console.log("Case-insensitive exact search found:", ourTestNotes.length, "notes"); |  | ||||||
|  |  | ||||||
|         // Should find both uppercase and lowercase versions |  | ||||||
|         expect(ourTestNotes.length).toBe(2); |  | ||||||
|     }); |  | ||||||
|  |  | ||||||
|     test("Exact phrase matching with multi-word searches", async ({ page }) => { |  | ||||||
|         // Create notes with various phrase patterns |  | ||||||
|         const note1 = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "exact phrase", |  | ||||||
|                 content: "This note contains the exact phrase.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(note1.ok()).toBeTruthy(); |  | ||||||
|         const note1Data = await note1.json(); |  | ||||||
|         createdNoteIds.push(note1Data.note.noteId); |  | ||||||
|  |  | ||||||
|         const note2 = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "exact phrase match", |  | ||||||
|                 content: "This note has exact phrase followed by more words.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(note2.ok()).toBeTruthy(); |  | ||||||
|         const note2Data = await note2.json(); |  | ||||||
|         createdNoteIds.push(note2Data.note.noteId); |  | ||||||
|  |  | ||||||
|         const note3 = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "phrase exact", |  | ||||||
|                 content: "This note has the words in reverse order.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(note3.ok()).toBeTruthy(); |  | ||||||
|         const note3Data = await note3.json(); |  | ||||||
|         createdNoteIds.push(note3Data.note.noteId); |  | ||||||
|  |  | ||||||
|         const note4 = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "this exact and that phrase", |  | ||||||
|                 content: "Words are separated but both present.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(note4.ok()).toBeTruthy(); |  | ||||||
|         const note4Data = await note4.json(); |  | ||||||
|         createdNoteIds.push(note4Data.note.noteId); |  | ||||||
|  |  | ||||||
|         await page.waitForTimeout(500); |  | ||||||
|  |  | ||||||
|         // Search for exact phrase "exact phrase" |  | ||||||
|         const response = await page.request.get(`${BASE_URL}/api/quick-search/='exact phrase'`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken } |  | ||||||
|         }); |  | ||||||
|  |  | ||||||
|         expect(response.ok()).toBeTruthy(); |  | ||||||
|         const data = await response.json(); |  | ||||||
|  |  | ||||||
|         const ourTestNotes = data.searchResults.filter((result: any) => { |  | ||||||
|             const noteId = result.notePath.split("/").pop(); |  | ||||||
|             return [note1Data.note.noteId, note2Data.note.noteId, note3Data.note.noteId, note4Data.note.noteId].includes(noteId || ""); |  | ||||||
|         }); |  | ||||||
|  |  | ||||||
|         console.log("Exact phrase search '=\"exact phrase\"' found:", ourTestNotes.length, "notes"); |  | ||||||
|         console.log("Note titles:", ourTestNotes.map((r: any) => r.noteTitle)); |  | ||||||
|  |  | ||||||
|         // Should find only notes 1 and 2 (consecutive "exact phrase") |  | ||||||
|         // Should NOT find note 3 (reversed order) or note 4 (words separated) |  | ||||||
|         expect(ourTestNotes.length).toBe(2); |  | ||||||
|  |  | ||||||
|         const foundTitles = ourTestNotes.map((r: any) => r.noteTitle); |  | ||||||
|         expect(foundTitles).toContain("exact phrase"); |  | ||||||
|         expect(foundTitles).toContain("exact phrase match"); |  | ||||||
|         expect(foundTitles).not.toContain("phrase exact"); |  | ||||||
|         expect(foundTitles).not.toContain("this exact and that phrase"); |  | ||||||
|     }); |  | ||||||
|  |  | ||||||
|     test("Exact phrase matching respects word order", async ({ page }) => { |  | ||||||
|         // Create notes to test word order sensitivity |  | ||||||
|         const noteForward = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "Testing Order", |  | ||||||
|                 content: "This is a test sentence for verification.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(noteForward.ok()).toBeTruthy(); |  | ||||||
|         const noteForwardData = await noteForward.json(); |  | ||||||
|         createdNoteIds.push(noteForwardData.note.noteId); |  | ||||||
|  |  | ||||||
|         const noteReverse = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "Order Testing", |  | ||||||
|                 content: "A sentence test is this for verification.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(noteReverse.ok()).toBeTruthy(); |  | ||||||
|         const noteReverseData = await noteReverse.json(); |  | ||||||
|         createdNoteIds.push(noteReverseData.note.noteId); |  | ||||||
|  |  | ||||||
|         await page.waitForTimeout(500); |  | ||||||
|  |  | ||||||
|         // Search for exact phrase "test sentence" |  | ||||||
|         const response = await page.request.get(`${BASE_URL}/api/quick-search/='test sentence'`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken } |  | ||||||
|         }); |  | ||||||
|  |  | ||||||
|         expect(response.ok()).toBeTruthy(); |  | ||||||
|         const data = await response.json(); |  | ||||||
|  |  | ||||||
|         const ourTestNotes = data.searchResults.filter((result: any) => { |  | ||||||
|             const noteId = result.notePath.split("/").pop(); |  | ||||||
|             return noteId === noteForwardData.note.noteId || noteId === noteReverseData.note.noteId; |  | ||||||
|         }); |  | ||||||
|  |  | ||||||
|         console.log("Exact phrase search '=\"test sentence\"' found:", ourTestNotes.length, "notes"); |  | ||||||
|         console.log("Note titles:", ourTestNotes.map((r: any) => r.noteTitle)); |  | ||||||
|  |  | ||||||
|         // Should find only the forward order note |  | ||||||
|         expect(ourTestNotes.length).toBe(1); |  | ||||||
|         expect(ourTestNotes[0].noteTitle).toBe("Testing Order"); |  | ||||||
|     }); |  | ||||||
|  |  | ||||||
|     test("Multi-word exact search without quotes", async ({ page }) => { |  | ||||||
|         // Test that multi-word search with = but without quotes also does exact phrase matching |  | ||||||
|         const notePhrase = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "Quick Test Note", |  | ||||||
|                 content: "A simple note for multi word testing.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(notePhrase.ok()).toBeTruthy(); |  | ||||||
|         const notePhraseData = await notePhrase.json(); |  | ||||||
|         createdNoteIds.push(notePhraseData.note.noteId); |  | ||||||
|  |  | ||||||
|         const noteScattered = await page.request.post(`${BASE_URL}/api/notes/root/children?target=into&targetBranchId=`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken }, |  | ||||||
|             data: { |  | ||||||
|                 title: "Word Multi Testing", |  | ||||||
|                 content: "Words are multi scattered in this testing example.", |  | ||||||
|                 type: "text" |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         expect(noteScattered.ok()).toBeTruthy(); |  | ||||||
|         const noteScatteredData = await noteScattered.json(); |  | ||||||
|         createdNoteIds.push(noteScatteredData.note.noteId); |  | ||||||
|  |  | ||||||
|         await page.waitForTimeout(500); |  | ||||||
|  |  | ||||||
|         // Search for "=multi word" without quotes (parser tokenizes as two words) |  | ||||||
|         const response = await page.request.get(`${BASE_URL}/api/quick-search/=multi word`, { |  | ||||||
|             headers: { "x-csrf-token": csrfToken } |  | ||||||
|         }); |  | ||||||
|  |  | ||||||
|         expect(response.ok()).toBeTruthy(); |  | ||||||
|         const data = await response.json(); |  | ||||||
|  |  | ||||||
|         const ourTestNotes = data.searchResults.filter((result: any) => { |  | ||||||
|             const noteId = result.notePath.split("/").pop(); |  | ||||||
|             return noteId === notePhraseData.note.noteId || noteId === noteScatteredData.note.noteId; |  | ||||||
|         }); |  | ||||||
|  |  | ||||||
|         console.log("Multi-word exact search '=multi word' found:", ourTestNotes.length, "notes"); |  | ||||||
|         console.log("Note titles:", ourTestNotes.map((r: any) => r.noteTitle)); |  | ||||||
|  |  | ||||||
|         // Should find only the note with consecutive "multi word" phrase |  | ||||||
|         expect(ourTestNotes.length).toBe(1); |  | ||||||
|         expect(ourTestNotes[0].noteTitle).toBe("Quick Test Note"); |  | ||||||
|     }); |  | ||||||
| }); |  | ||||||
| @@ -26,6 +26,7 @@ | |||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "better-sqlite3": "12.4.1", |     "better-sqlite3": "12.4.1", | ||||||
|  |     "html-to-text": "9.0.5", | ||||||
|     "node-html-parser": "7.0.1" |     "node-html-parser": "7.0.1" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
| @@ -35,8 +36,8 @@ | |||||||
|     "@preact/preset-vite": "2.10.2", |     "@preact/preset-vite": "2.10.2", | ||||||
|     "@triliumnext/commons": "workspace:*", |     "@triliumnext/commons": "workspace:*", | ||||||
|     "@triliumnext/express-partial-content": "workspace:*", |     "@triliumnext/express-partial-content": "workspace:*", | ||||||
|     "@triliumnext/turndown-plugin-gfm": "workspace:*", |  | ||||||
|     "@triliumnext/highlightjs": "workspace:*", |     "@triliumnext/highlightjs": "workspace:*", | ||||||
|  |     "@triliumnext/turndown-plugin-gfm": "workspace:*", | ||||||
|     "@types/archiver": "7.0.0", |     "@types/archiver": "7.0.0", | ||||||
|     "@types/better-sqlite3": "7.6.13", |     "@types/better-sqlite3": "7.6.13", | ||||||
|     "@types/cls-hooked": "4.3.9", |     "@types/cls-hooked": "4.3.9", | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								apps/server/src/assets/doc_notes/en/User Guide/!!!meta.json
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								apps/server/src/assets/doc_notes/en/User Guide/!!!meta.json
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -9,8 +9,8 @@ class="image image_resized" style="width:50.49%;"> | |||||||
|   width="785" height="498"> |   width="785" height="498"> | ||||||
|   </figure> |   </figure> | ||||||
|   <figure class="image image_resized" style="width:40.54%;"> |   <figure class="image image_resized" style="width:40.54%;"> | ||||||
|     <img style="aspect-ratio:467/100;" src="Installing Ollama_image.png" width="467" |     <img style="aspect-ratio:467/100;" src="Installing Ollama_image.png" | ||||||
|     height="100"> |     width="467" height="100"> | ||||||
|   </figure> |   </figure> | ||||||
|   <figure class="image image_resized" style="width:55.73%;"> |   <figure class="image image_resized" style="width:55.73%;"> | ||||||
|     <img style="aspect-ratio:1296/1011;" src="1_Installing Ollama_image.png" |     <img style="aspect-ratio:1296/1011;" src="1_Installing Ollama_image.png" | ||||||
|   | |||||||
							
								
								
									
										40
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/AI/Introduction.html
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										40
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/AI/Introduction.html
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image image_resized" style="width:63.68%;"> | <figure class="image image_resized" style="width:63.68%;"> | ||||||
|   <img style="aspect-ratio:1363/1364;" src="Introduction_image.png" width="1363" |   <img style="aspect-ratio:1363/1364;" src="Introduction_image.png" | ||||||
|   height="1364"> |   width="1363" height="1364"> | ||||||
|   <figcaption>An example chat with an LLM</figcaption> |   <figcaption>An example chat with an LLM</figcaption> | ||||||
| </figure> | </figure> | ||||||
| <p>The AI / LLM features within Trilium Notes are designed to allow you to | <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> | <p>The quickest way to get started is to navigate to the “AI/LLM” settings:</p> | ||||||
| <figure | <figure | ||||||
| class="image image_resized" style="width:74.04%;"> | class="image image_resized" style="width:74.04%;"> | ||||||
|   <img style="aspect-ratio:1916/1906;" src="5_Introduction_image.png" width="1916" |   <img style="aspect-ratio:1916/1906;" src="5_Introduction_image.png" | ||||||
|   height="1906"> |   width="1916" height="1906"> | ||||||
|   </figure> |   </figure> | ||||||
|   <p>Enable the feature:</p> |   <p>Enable the feature:</p> | ||||||
|   <figure class="image image_resized" style="width:82.82%;"> |   <figure class="image image_resized" style="width:82.82%;"> | ||||||
|     <img style="aspect-ratio:1911/997;" src="1_Introduction_image.png" width="1911" |     <img style="aspect-ratio:1911/997;" src="1_Introduction_image.png" | ||||||
|     height="997"> |     width="1911" height="997"> | ||||||
|   </figure> |   </figure> | ||||||
|    |    | ||||||
| <h2>Embeddings</h2> | <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> |     We will then hit the “refresh” button to have it fetch our models:</p> | ||||||
|   <figure |   <figure | ||||||
|   class="image image_resized" style="width:82.28%;"> |   class="image image_resized" style="width:82.28%;"> | ||||||
|     <img style="aspect-ratio:1912/1075;" src="4_Introduction_image.png" width="1912" |     <img style="aspect-ratio:1912/1075;" src="4_Introduction_image.png" | ||||||
|     height="1075"> |     width="1912" height="1075"> | ||||||
|     </figure> |     </figure> | ||||||
|     <p>When selecting the dropdown for the “Embedding Model”, embedding models |     <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 |       should be at the top of the list, separated by regular chat models with | ||||||
|       a horizontal line, as seen below:</p> |       a horizontal line, as seen below:</p> | ||||||
|     <figure class="image image_resized" |     <figure class="image image_resized" | ||||||
|     style="width:61.73%;"> |     style="width:61.73%;"> | ||||||
|       <img style="aspect-ratio:1232/959;" src="8_Introduction_image.png" width="1232" |       <img style="aspect-ratio:1232/959;" src="8_Introduction_image.png" | ||||||
|       height="959"> |       width="1232" height="959"> | ||||||
|     </figure> |     </figure> | ||||||
|     <p>After selecting an embedding model, embeddings should automatically begin |     <p>After selecting an embedding model, embeddings should automatically begin | ||||||
|       to be generated by checking the embedding statistics at the top of the |       to be generated by checking the embedding statistics at the top of the | ||||||
|       “AI/LLM” settings panel:</p> |       “AI/LLM” settings panel:</p> | ||||||
|     <figure class="image image_resized" style="width:67.06%;"> |     <figure class="image image_resized" style="width:67.06%;"> | ||||||
|       <img style="aspect-ratio:1333/499;" src="7_Introduction_image.png" width="1333" |       <img style="aspect-ratio:1333/499;" src="7_Introduction_image.png" | ||||||
|       height="499"> |       width="1333" height="499"> | ||||||
|     </figure> |     </figure> | ||||||
|     <p>If you don't see any embeddings being created, you will want to scroll |     <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> |       to the bottom of the settings, and hit “Recreate All Embeddings”:</p> | ||||||
|     <figure |     <figure | ||||||
|     class="image image_resized" style="width:65.69%;"> |     class="image image_resized" style="width:65.69%;"> | ||||||
|       <img style="aspect-ratio:1337/1490;" src="3_Introduction_image.png" width="1337" |       <img style="aspect-ratio:1337/1490;" src="3_Introduction_image.png" | ||||||
|       height="1490"> |       width="1337" height="1490"> | ||||||
|       </figure> |       </figure> | ||||||
|       <p>Creating the embeddings will take some time, and will be regenerated when |       <p>Creating the embeddings will take some time, and will be regenerated when | ||||||
|         a Note is created, updated, or deleted (removed).</p> |         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> |       <p>When Tools are executed within your Chat, you'll see output like the following:</p> | ||||||
|       <figure |       <figure | ||||||
|       class="image image_resized" style="width:66.88%;"> |       class="image image_resized" style="width:66.88%;"> | ||||||
|         <img style="aspect-ratio:1372/1591;" src="6_Introduction_image.png" width="1372" |         <img style="aspect-ratio:1372/1591;" src="6_Introduction_image.png" | ||||||
|         height="1591"> |         width="1372" height="1591"> | ||||||
|         </figure> |         </figure> | ||||||
|         <p>You don't need to tell the LLM to execute a certain tool, it should “smartly” |         <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> |           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> |           use the “Chat with Notes” button, where you can go ahead and start chatting!:</p> | ||||||
|         <figure |         <figure | ||||||
|         class="image image_resized" style="width:60.77%;"> |         class="image image_resized" style="width:60.77%;"> | ||||||
|           <img style="aspect-ratio:1378/539;" src="2_Introduction_image.png" width="1378" |           <img style="aspect-ratio:1378/539;" src="2_Introduction_image.png" | ||||||
|           height="539"> |           width="1378" height="539"> | ||||||
|           </figure> |           </figure> | ||||||
|           <p>If you don't see the “Chat with Notes” button on your side launchbar, |           <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 |             you might need to move it from the “Available Launchers” section to the | ||||||
|             “Visible Launchers” section:</p> |             “Visible Launchers” section:</p> | ||||||
|           <figure class="image image_resized" style="width:69.81%;"> |           <figure class="image image_resized" style="width:69.81%;"> | ||||||
|             <img style="aspect-ratio:1765/1287;" src="9_Introduction_image.png" width="1765" |             <img style="aspect-ratio:1765/1287;" src="9_Introduction_image.png" | ||||||
|             height="1287"> |             width="1765" height="1287"> | ||||||
|           </figure> |           </figure> | ||||||
| @@ -10,9 +10,9 @@ | |||||||
|   and arbitrary tags - whenever you change tag attribute in the task note, |   and arbitrary tags - whenever you change tag attribute in the task note, | ||||||
|   this task is then automatically moved to appropriate location.</p> |   this task is then automatically moved to appropriate location.</p> | ||||||
| <p>Task Manager also integrates with <a href="#root/_help_l0tKav7yLHGF">day notes</a> - | <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 |   notes are <a href="#root/_help_IakOLONlIfGI">cloned</a> into day note to both todoDate | ||||||
|   both todoDate note and doneDate note (with <a href="#root/_help_kBrnXNG3Hplm">prefix</a> of |   note and doneDate note (with <a href="#root/_help_kBrnXNG3Hplm">prefix</a> of either | ||||||
|   either "TODO" or "DONE").</p> |   "TODO" or "DONE").</p> | ||||||
| <h2>Implementation</h2> | <h2>Implementation</h2> | ||||||
| <p>New tasks are created in the TODO note which has <code>~child:template</code>  | <p>New tasks are created in the TODO note which has <code>~child:template</code>  | ||||||
|   <a |   <a | ||||||
| @@ -22,9 +22,9 @@ | |||||||
| <p>Task template defines several <a href="#root/_help_OFXdgB2nNk1F">promoted attributes</a> - | <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 |   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 |   - <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. |   change. This <a href="#root/_help_CdNpE2pqjmI6">script</a> handles when e.g. we | ||||||
|   we fill out the doneDate attribute - meaning the task is done and should |   fill out the doneDate attribute - meaning the task is done and should be | ||||||
|   be moved to "Done" note and removed from TODO, locations and tags.</p> |   moved to "Done" note and removed from TODO, locations and tags.</p> | ||||||
| <h3>New task button</h3> | <h3>New task button</h3> | ||||||
| <p>There's also "button" note which contains simple script which adds a button | <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({ |   to create new note (task) in the TODO note.</p><pre><code class="language-text-x-trilium-auto">api.addButtonToToolbar({ | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image"> | <figure class="image"> | ||||||
|   <img style="aspect-ratio:1071/146;" src="Attributes_image.png" width="1071" |   <img style="aspect-ratio:1071/146;" src="Attributes_image.png" | ||||||
|   height="146"> |   width="1071" height="146"> | ||||||
| </figure> | </figure> | ||||||
| <p>In Trilium, attributes are key-value pairs assigned to notes, providing | <p>In Trilium, attributes are key-value pairs assigned to notes, providing | ||||||
|   additional metadata or functionality. There are two primary types of attributes:</p> |   additional metadata or functionality. There are two primary types of attributes:</p> | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <p>Inheritance refers to the process of having a <a href="#root/_help_HI6GBBIduIgv">label</a> or | <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 |   a <a href="#root/_help_Cq5X6iKQop6R">relation</a> shared across multiple notes, | ||||||
|   notes, generally in parent-child relations (or anywhere if using templates).</p> |   generally in parent-child relations (or anywhere if using templates).</p> | ||||||
| <h2>Standard Inheritance</h2> | <h2>Standard Inheritance</h2> | ||||||
| <p>In Trilium, attributes can be automatically inherited by child notes if | <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 |   they have the <code>isInheritable</code> flag set to <code>true</code>. This | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| <p>A label is an <a href="#root/_help_zEY4DaJG4YT5">attribute</a> of a note | <p>A label is an <a href="#root/_help_zEY4DaJG4YT5">attribute</a> of a note which | ||||||
|   which has a name and optionally a value.</p> |   has a name and optionally a value.</p> | ||||||
| <h2>Common use cases</h2> | <h2>Common use cases</h2> | ||||||
| <ul> | <ul> | ||||||
|   <li><strong>Metadata for personal use</strong>: Assign labels with optional |   <li><strong>Metadata for personal use</strong>: Assign labels with optional | ||||||
| @@ -81,8 +81,7 @@ | |||||||
|       <td><code>calendarRoot</code> |       <td><code>calendarRoot</code> | ||||||
|       </td> |       </td> | ||||||
|       <td>Marks the note which should be used as root for <a class="reference-link" |       <td>Marks the note which should be used as root for <a class="reference-link" | ||||||
|         href="#root/_help_l0tKav7yLHGF">Day Notes</a>. Only one should be marked |         href="#root/_help_l0tKav7yLHGF">Day Notes</a>. Only one should be marked as such.</td> | ||||||
|         as such.</td> |  | ||||||
|     </tr> |     </tr> | ||||||
|     <tr> |     <tr> | ||||||
|       <td><code>archived</code> |       <td><code>archived</code> | ||||||
| @@ -154,8 +153,8 @@ | |||||||
|     <tr> |     <tr> | ||||||
|       <td><code>autoReadOnlyDisabled</code> |       <td><code>autoReadOnlyDisabled</code> | ||||||
|       </td> |       </td> | ||||||
|       <td>Disables automatic <a href="#root/_help_CoFPLs3dRlXc">read-only mode</a> for |       <td>Disables automatic <a href="#root/_help_CoFPLs3dRlXc">read-only mode</a> for the | ||||||
|         the given note.</td> |         given note.</td> | ||||||
|     </tr> |     </tr> | ||||||
|     <tr> |     <tr> | ||||||
|       <td><code>appCss</code> |       <td><code>appCss</code> | ||||||
| @@ -177,8 +176,7 @@ | |||||||
|       <td>Set to <code>next</code>, <code>next-light</code>, or <code>next-dark</code> to |       <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 |         use the corresponding TriliumNext theme (auto, light or dark) as the base | ||||||
|         for a custom theme, instead of the legacy one. See <a class="reference-link" |         for a custom theme, instead of the legacy one. See <a class="reference-link" | ||||||
|         href="#root/_help_WFGzWeUK6arS">Customize the Next theme</a> for more |         href="#root/_help_WFGzWeUK6arS">Customize the Next theme</a> for more information.</td> | ||||||
|         information.</td> |  | ||||||
|     </tr> |     </tr> | ||||||
|     <tr> |     <tr> | ||||||
|       <td><code>cssClass</code> |       <td><code>cssClass</code> | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| <p>A relation is similar to a <a href="#root/_help_HI6GBBIduIgv">label</a>, | <p>A relation is similar to a <a href="#root/_help_HI6GBBIduIgv">label</a>, but | ||||||
|   but instead of having a text value it refers to another note.</p> |   instead of having a text value it refers to another note.</p> | ||||||
| <h2>Common use cases</h2> | <h2>Common use cases</h2> | ||||||
| <ul> | <ul> | ||||||
|   <li><strong>Metadata Relationships for personal use</strong>: For example, |   <li><strong>Metadata Relationships for personal use</strong>: For example, | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image"> | <figure class="image"> | ||||||
|   <img style="aspect-ratio:1425/654;" src="Bulk Actions_image.png" width="1425" |   <img style="aspect-ratio:1425/654;" src="Bulk Actions_image.png" | ||||||
|   height="654"> |   width="1425" height="654"> | ||||||
| </figure> | </figure> | ||||||
| <p>The <em>Bulk Actions</em> dialog makes it easy to apply changes to multiple | <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 |   notes at once, ranging from simple actions such as adding or removing a | ||||||
| @@ -8,8 +8,8 @@ | |||||||
| <h2>Interaction</h2> | <h2>Interaction</h2> | ||||||
| <ul> | <ul> | ||||||
|   <li>The first step is to select the notes in the <a class="reference-link" |   <li>The first step is to select the notes in the <a class="reference-link" | ||||||
|     href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>. It's possible to apply bulk |     href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>. It's possible to apply bulk actions | ||||||
|     actions to: |     to: | ||||||
|     <ul> |     <ul> | ||||||
|       <li>A single note (and potentially its child notes) simply by clicking on |       <li>A single note (and potentially its child notes) simply by clicking on | ||||||
|         it (with a left click or a right click).</li> |         it (with a left click or a right click).</li> | ||||||
| @@ -53,17 +53,17 @@ | |||||||
|   </li> |   </li> | ||||||
|   <li><strong>Update label value</strong> |   <li><strong>Update label value</strong> | ||||||
|     <ul> |     <ul> | ||||||
|       <li>For each note, if it has a <a href="#root/_help_HI6GBBIduIgv">label</a> of |       <li>For each note, if it has a <a href="#root/_help_HI6GBBIduIgv">label</a> of the | ||||||
|         the given name, it will change its value to the specified one. Leave <em>New value</em> field |         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> |         empty to create a label without a value.</li> | ||||||
|       <li>Notes without the label will not be affected.</li> |       <li>Notes without the label will not be affected.</li> | ||||||
|     </ul> |     </ul> | ||||||
|   </li> |   </li> | ||||||
|   <li><em><strong>Rename label</strong></em> |   <li><em><strong>Rename label</strong></em> | ||||||
|     <ul> |     <ul> | ||||||
|       <li>For each note, if it has a <a href="#root/_help_HI6GBBIduIgv">label</a> of |       <li>For each note, if it has a <a href="#root/_help_HI6GBBIduIgv">label</a> of the | ||||||
|         the given name, it will be renamed/replaced with a label of the new name. |         given name, it will be renamed/replaced with a label of the new name. The | ||||||
|         The value of the label (if present) will be kept intact.</li> |         value of the label (if present) will be kept intact.</li> | ||||||
|       <li>Notes without the label will not be affected.</li> |       <li>Notes without the label will not be affected.</li> | ||||||
|     </ul> |     </ul> | ||||||
|   </li> |   </li> | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| <p>A Trilium instance represents a server. If <a class="reference-link" | <p>A Trilium instance represents a server. If <a class="reference-link" | ||||||
|   href="#root/_help_cbkrhQjrkKrh">Synchronization</a> is set up, since |   href="#root/_help_cbkrhQjrkKrh">Synchronization</a> is set up, since multiple | ||||||
|   multiple servers are involved (the one from the desktop client and the |   servers are involved (the one from the desktop client and the one the synchronisation | ||||||
|   one the synchronisation is set up with), sometimes it can be useful to |   is set up with), sometimes it can be useful to distinguish the instance | ||||||
|   distinguish the instance you are running on.</p> |   you are running on.</p> | ||||||
| <h2>Setting the instance name</h2> | <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] | <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> | instanceName=Hello</code></pre> | ||||||
|   | |||||||
| @@ -23,5 +23,5 @@ | |||||||
| <p>If you do not need to preserve any configurations that might be stored | <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 |   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 |   to fully restore the application to its original state. You can also review | ||||||
|   the <a href="#root/_help_Gzjqa934BdH4">configuration</a> file to provide |   the <a href="#root/_help_Gzjqa934BdH4">configuration</a> file to provide all <code>config.ini</code> values | ||||||
|   all <code>config.ini</code> values as environment variables instead.</p> |   as environment variables instead.</p> | ||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image image-style-align-right"> | <figure class="image image-style-align-right"> | ||||||
|   <img style="aspect-ratio:263/445;" src="Hidden Notes_image.png" width="263" |   <img style="aspect-ratio:263/445;" src="Hidden Notes_image.png" | ||||||
|   height="445"> |   width="263" height="445"> | ||||||
| </figure> | </figure> | ||||||
| <p>For easy extensibility, a lot of features in Trilium make use of actual | <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 |   notes to store information as opposed to having them stored in a separate | ||||||
| @@ -8,14 +8,13 @@ | |||||||
|   href="#root/_help_zEY4DaJG4YT5">Attributes</a>, <a class="reference-link" |   href="#root/_help_zEY4DaJG4YT5">Attributes</a>, <a class="reference-link" | ||||||
|   href="#root/_help_Cq5X6iKQop6R">Relations</a> or even <a class="reference-link" |   href="#root/_help_Cq5X6iKQop6R">Relations</a> or even <a class="reference-link" | ||||||
|   href="#root/_help_eIg8jdvaoNNd">Search</a> and <a class="reference-link" |   href="#root/_help_eIg8jdvaoNNd">Search</a> and <a class="reference-link" | ||||||
|   href="#root/_help_QEAPj01N5f7w">Links</a> to be able to operate on |   href="#root/_help_QEAPj01N5f7w">Links</a> to be able to operate on them.</p> | ||||||
|   them.</p> |  | ||||||
| <p>As the name suggests, these notes are hidden to the user by default to | <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 |   prevent cluttering the note tree and to prevent them from being accidentally | ||||||
|   deleted.</p> |   deleted.</p> | ||||||
| <p>The hidden notes are stored in the user's <a class="reference-link" | <p>The hidden notes are stored in the user's <a class="reference-link" | ||||||
|   href="#root/_help_wX4HbRucYSDD">Database</a> just like normal notes, |   href="#root/_help_wX4HbRucYSDD">Database</a> just like normal notes, but | ||||||
|   but they have a unique <a class="reference-link" href="#root/_help_m1lbrzyKDaRB">Note ID</a> which |   they have a unique <a class="reference-link" href="#root/_help_m1lbrzyKDaRB">Note ID</a> which | ||||||
|   allows them to be distinguished from the normal ones.</p> |   allows them to be distinguished from the normal ones.</p> | ||||||
| <h2>Accessing the hidden note tree</h2> | <h2>Accessing the hidden note tree</h2> | ||||||
| <p>From the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a>, | <p>From the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a>, | ||||||
| @@ -51,8 +50,8 @@ class="ck-table-resized"> | |||||||
|       </td> |       </td> | ||||||
|       <td> |       <td> | ||||||
|         <p>When SQL queries or commands are executed in the <a class="reference-link" |         <p>When SQL queries or commands are executed in the <a class="reference-link" | ||||||
|           href="#root/_help_YKWqdJhzi2VY">SQL Console</a>, they are stored here, |           href="#root/_help_YKWqdJhzi2VY">SQL Console</a>, they are stored here, grouped | ||||||
|           grouped by month. Only the query is stored and not the results.</p> |           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 |         <p>This section can be accessed without going to the hidden tree by simply | ||||||
|           going to the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> and |           going to the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> and | ||||||
|           selecting Advanced → Open SQL Console History.</p> |           selecting Advanced → Open SQL Console History.</p> | ||||||
| @@ -65,9 +64,8 @@ class="ck-table-resized"> | |||||||
|       </td> |       </td> | ||||||
|       <td> |       <td> | ||||||
|         <p>Whenever a search is executed from the full <a class="reference-link" |         <p>Whenever a search is executed from the full <a class="reference-link" | ||||||
|           href="#root/_help_eIg8jdvaoNNd">Search</a>, the query will be stored here, |           href="#root/_help_eIg8jdvaoNNd">Search</a>, the query will be stored here, grouped | ||||||
|           grouped by month. Only the search parameters are stored and not the results |           by month. Only the search parameters are stored and not the results themselves.</p> | ||||||
|           themselves.</p> |  | ||||||
|         <p>This section can be accessed without going to the hidden tree by simply |         <p>This section can be accessed without going to the hidden tree by simply | ||||||
|           going to the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> and |           going to the <a class="reference-link" href="#root/_help_x3i7MxGccDuM">Global menu</a> and | ||||||
|           selecting Advanced → Open Search History.</p> |           selecting Advanced → Open Search History.</p> | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Advanced Usage/Metrics.html
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Advanced Usage/Metrics.html
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -82,18 +82,18 @@ trilium_notes_total 1234 1701432000 | |||||||
| </ul> | </ul> | ||||||
| <h2><strong>Grafana Dashboard</strong></h2> | <h2><strong>Grafana Dashboard</strong></h2> | ||||||
| <figure class="image"> | <figure class="image"> | ||||||
|   <img style="aspect-ratio:2594/1568;" src="1_Metrics_image.png" width="2594" |   <img style="aspect-ratio:2594/1568;" src="1_Metrics_image.png" | ||||||
|   height="1568"> |   width="2594" height="1568"> | ||||||
| </figure> | </figure> | ||||||
| <p>You can also use the Grafana Dashboard that has been created for TriliumNext | <p>You can also use the Grafana Dashboard that has been created for TriliumNext | ||||||
|   - just take the JSON from <a class="reference-link" href="#root/_help_bOP3TB56fL1V">grafana-dashboard.json</a> and |   - just take the JSON from <a class="reference-link" href="#root/_help_bOP3TB56fL1V">grafana-dashboard.json</a> and | ||||||
|   then import the dashboard, following these screenshots:</p> |   then import the dashboard, following these screenshots:</p> | ||||||
| <figure class="image"> | <figure class="image"> | ||||||
|   <img style="aspect-ratio:1881/282;" src="2_Metrics_image.png" width="1881" |   <img style="aspect-ratio:1881/282;" src="2_Metrics_image.png" | ||||||
|   height="282"> |   width="1881" height="282"> | ||||||
| </figure> | </figure> | ||||||
| <p>Then paste the JSON, and hit load:</p> | <p>Then paste the JSON, and hit load:</p> | ||||||
| <figure class="image"> | <figure class="image"> | ||||||
|   <img style="aspect-ratio:1055/830;" src="Metrics_image.png" width="1055" |   <img style="aspect-ratio:1055/830;" src="Metrics_image.png" | ||||||
|   height="830"> |   width="1055" height="830"> | ||||||
| </figure> | </figure> | ||||||
| @@ -21,8 +21,8 @@ | |||||||
|   in full screen. See <a href="#root/_help_bdUJEHsAPYQR">Note Map</a> for |   in full screen. See <a href="#root/_help_bdUJEHsAPYQR">Note Map</a> for | ||||||
|   more information.</p> |   more information.</p> | ||||||
| <h2>See also</h2> | <h2>See also</h2> | ||||||
| <p><a href="#root/_help_iRwzGnHPzonm">Relation map</a> is a similar concept, | <p><a href="#root/_help_iRwzGnHPzonm">Relation map</a> is a similar concept, with | ||||||
|   with some differences:</p> |   some differences:</p> | ||||||
| <ul> | <ul> | ||||||
|   <li>note map is automatically generated while relation map must be created |   <li>note map is automatically generated while relation map must be created | ||||||
|     manually</li> |     manually</li> | ||||||
|   | |||||||
| @@ -5,9 +5,9 @@ | |||||||
| <ul> | <ul> | ||||||
|   <li><a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a> notes are |   <li><a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a> notes are | ||||||
|     represented internally as HTML, using the <a class="reference-link" |     represented internally as HTML, using the <a class="reference-link" | ||||||
|     href="#root/_help_MI26XDLSAlCD">CKEditor</a> representation. Note |     href="#root/_help_MI26XDLSAlCD">CKEditor</a> representation. Note that due | ||||||
|     that due to the custom plugins, some HTML elements are specific to Trilium |     to the custom plugins, some HTML elements are specific to Trilium only, | ||||||
|     only, for example the admonitions.</li> |     for example the admonitions.</li> | ||||||
|   <li><a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a> notes are |   <li><a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a> notes are | ||||||
|     plain text and are represented internally as-is.</li> |     plain text and are represented internally as-is.</li> | ||||||
|   <li><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map</a> notes |   <li><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map</a> notes | ||||||
| @@ -22,10 +22,10 @@ | |||||||
| </ul> | </ul> | ||||||
| <p>Note that some information is also stored as <a class="reference-link" | <p>Note that some information is also stored as <a class="reference-link" | ||||||
|   href="#root/_help_0vhv7lsOLy82">Attachments</a>. For example <a class="reference-link" |   href="#root/_help_0vhv7lsOLy82">Attachments</a>. For example <a class="reference-link" | ||||||
|   href="#root/_help_grjYqerjn243">Canvas</a> notes use the attachments |   href="#root/_help_grjYqerjn243">Canvas</a> notes use the attachments feature | ||||||
|   feature to store the custom libraries, and alongside with <a class="reference-link" |   to store the custom libraries, and alongside with <a class="reference-link" | ||||||
|   href="#root/_help_gBbsAeiuUxI5">Mind Map</a> and other similar note |   href="#root/_help_gBbsAeiuUxI5">Mind Map</a> and other similar note types | ||||||
|   types it stores an SVG representation of the content for use in other features |   it stores an SVG representation of the content for use in other features | ||||||
|   such as including in other notes, shared notes, etc.</p> |   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 | <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"><h2> |   the database (but prettified).</p><pre><code class="language-text-x-trilium-auto"><h2> | ||||||
|   | |||||||
							
								
								
									
										19
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Advanced Usage/Sharing.html
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Advanced Usage/Sharing.html
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -3,8 +3,8 @@ | |||||||
|   from your Trilium notes, making it accessible to others online.</p> |   from your Trilium notes, making it accessible to others online.</p> | ||||||
| <figure | <figure | ||||||
| class="image"> | class="image"> | ||||||
|   <img style="aspect-ratio:1144/660;" src="Sharing_image.png" width="1144" |   <img style="aspect-ratio:1144/660;" src="Sharing_image.png" | ||||||
|   height="660"> |   width="1144" height="660"> | ||||||
|   </figure> |   </figure> | ||||||
|    |    | ||||||
| <h2>Features, interaction and limitations</h2> | <h2>Features, interaction and limitations</h2> | ||||||
| @@ -177,8 +177,8 @@ class="image"> | |||||||
|   <p>Some of these limitations may be addressed in future updates.</p> |   <p>Some of these limitations may be addressed in future updates.</p> | ||||||
|   <h2>Prerequisites</h2> |   <h2>Prerequisites</h2> | ||||||
|   <p>To use the sharing feature, you must have a <a class="reference-link" |   <p>To use the sharing feature, you must have a <a class="reference-link" | ||||||
|     href="#root/_help_WOcw2SLH6tbX">Server Installation</a> of Trilium. |     href="#root/_help_WOcw2SLH6tbX">Server Installation</a> of Trilium. This | ||||||
|     This is necessary because the notes will be hosted from the server.</p> |     is necessary because the notes will be hosted from the server.</p> | ||||||
|   <h2>Sharing a note</h2> |   <h2>Sharing a note</h2> | ||||||
|   <ol> |   <ol> | ||||||
|     <li> |     <li> | ||||||
| @@ -186,7 +186,8 @@ class="image"> | |||||||
|         within the note's interface. Once sharing is enabled, an URL will appear, |         within the note's interface. Once sharing is enabled, an URL will appear, | ||||||
|         which you can click to access the shared note.</p> |         which you can click to access the shared note.</p> | ||||||
|       <p> |       <p> | ||||||
|         <img src="Sharing_share-single-note.png" alt="Share Note"> |         <img src="Sharing_share-single-note.png" | ||||||
|  |         alt="Share Note"> | ||||||
|       </p> |       </p> | ||||||
|     </li> |     </li> | ||||||
|     <li> |     <li> | ||||||
| @@ -220,10 +221,10 @@ class="image"> | |||||||
|     it using your own CSS:</p> |     it using your own CSS:</p> | ||||||
|   <ul> |   <ul> | ||||||
|     <li><strong>Custom CSS</strong>: Link a CSS <a class="reference-link" |     <li><strong>Custom CSS</strong>: Link a CSS <a class="reference-link" | ||||||
|       href="#root/_help_6f9hih2hXXZk">Code</a> note to the shared page by |       href="#root/_help_6f9hih2hXXZk">Code</a> note to the shared page by adding | ||||||
|       adding a <code>~shareCss</code> relation to the note. If you want this style |       a <code>~shareCss</code> relation to the note. If you want this style to | ||||||
|       to apply to the entire subtree, make the label inheritable. You can hide |       apply to the entire subtree, make the label inheritable. You can hide the | ||||||
|       the CSS code note from the tree navigation by adding the <code>#shareHiddenFromTree</code> label.</li> |       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><strong>Omitting Default CSS</strong>: For extensive styling changes, | ||||||
|       use the <code>#shareOmitDefaultCss</code> label to avoid conflicts with Trilium's |       use the <code>#shareOmitDefaultCss</code> label to avoid conflicts with Trilium's | ||||||
|       <a |       <a | ||||||
|   | |||||||
| @@ -39,7 +39,7 @@ | |||||||
|   </li> |   </li> | ||||||
|   <li><a href="#root/_help_QEAPj01N5f7w">Reference links</a> |   <li><a href="#root/_help_QEAPj01N5f7w">Reference links</a> | ||||||
|   </li> |   </li> | ||||||
|   <li><a href="#root/_help_NwBbFdNZ9h7O">Admonitions</a>, we ended up creating |   <li><a href="#root/_help_NwBbFdNZ9h7O">Admonitions</a>, we ended up creating our | ||||||
|     our own plugin but <a href="https://github.com/aarkue/ckeditor5-admonition">aarkue/ckeditor5-admonition</a> was |     own plugin but <a href="https://github.com/aarkue/ckeditor5-admonition">aarkue/ckeditor5-admonition</a> was | ||||||
|     a good inspiration (including the toolbar icon).</li> |     a good inspiration (including the toolbar icon).</li> | ||||||
| </ul> | </ul> | ||||||
| @@ -1,5 +1,5 @@ | |||||||
| <p><a href="https://excalidraw.com/">Excalidraw</a> is the technology behind | <p><a href="https://excalidraw.com/">Excalidraw</a> is the technology behind | ||||||
|   the <a href="#root/_help_grjYqerjn243">Canvas</a> notes. The |   the <a href="#root/_help_grjYqerjn243">Canvas</a> notes. The source | ||||||
|   source code of the library is available on <a href="https://github.com/excalidraw/excalidraw">GitHub</a>.</p> |   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 | <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> |   the original.</p> | ||||||
							
								
								
									
										11
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Advanced Usage/Templates.html
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Advanced Usage/Templates.html
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -3,10 +3,10 @@ | |||||||
|   main effects:</p> |   main effects:</p> | ||||||
| <ol> | <ol> | ||||||
|   <li><strong>Attribute Inheritance</strong>: All attributes from the template |   <li><strong>Attribute Inheritance</strong>: All attributes from the template | ||||||
|     note are <a href="#root/_help_bwZpz2ajCEwO">inherited</a> by the instance |     note are <a href="#root/_help_bwZpz2ajCEwO">inherited</a> by the instance notes. | ||||||
|     notes. Even attributes with <code>#isInheritable=false</code> are inherited |     Even attributes with <code>#isInheritable=false</code> are inherited by the | ||||||
|     by the instance notes, although only inheritable attributes are further |     instance notes, although only inheritable attributes are further inherited | ||||||
|     inherited by the children of the instance notes.</li> |     by the children of the instance notes.</li> | ||||||
|   <li><strong>Content Duplication</strong>: The content of the template note |   <li><strong>Content Duplication</strong>: The content of the template note | ||||||
|     is copied to the instance note, provided the instance note is empty at |     is copied to the instance note, provided the instance note is empty at | ||||||
|     the time of template assignment.</li> |     the time of template assignment.</li> | ||||||
| @@ -32,7 +32,8 @@ | |||||||
|   all attributes from the template are inherited.</p> |   all attributes from the template are inherited.</p> | ||||||
| <p>To create an instance note through the UI:</p> | <p>To create an instance note through the UI:</p> | ||||||
| <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> | ||||||
| <p>For the template to appear in the menu, the template note must have the <code>#template</code> label. | <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 |   Do not confuse this with the <code>~template</code> relation, which links | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image image-style-align-center"> | <figure class="image image-style-align-center"> | ||||||
|   <img style="aspect-ratio:991/403;" src="1_Jump to_image.png" width="991" |   <img style="aspect-ratio:991/403;" src="1_Jump to_image.png" | ||||||
|   height="403"> |   width="991" height="403"> | ||||||
| </figure> | </figure> | ||||||
|  |  | ||||||
| <h2>Jump to Note</h2> | <h2>Jump to Note</h2> | ||||||
| @@ -34,8 +34,8 @@ | |||||||
| <p>Alternatively you can click on the "time" icon on the right.</p> | <p>Alternatively you can click on the "time" icon on the right.</p> | ||||||
| <h2>Command Palette</h2> | <h2>Command Palette</h2> | ||||||
| <figure class="image image-style-align-center"> | <figure class="image image-style-align-center"> | ||||||
|   <img style="aspect-ratio:982/524;" src="Jump to_image.png" width="982" |   <img style="aspect-ratio:982/524;" src="Jump to_image.png" | ||||||
|   height="524"> |   width="982" height="524"> | ||||||
| </figure> | </figure> | ||||||
| <p>The command palette is a feature which allows easy execution of various | <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 |   commands that can be found throughout the application, such as from menus | ||||||
|   | |||||||
| @@ -5,7 +5,6 @@ | |||||||
|   <img src="Note Hoisting_note-hoistin.gif"> |   <img src="Note Hoisting_note-hoistin.gif"> | ||||||
| </p> | </p> | ||||||
| <p>In addition to showing only this subtree, this also narrows both full | <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 |   text search and <a href="#root/_help_MMiBEQljMQh2">“jump to note”</a> to just notes | ||||||
|   just notes present in hoisted subtree.</p> |   present in hoisted subtree.</p> | ||||||
| <p>See also <a href="#root/_help_9sRHySam5fXb">Workspace</a> which extends | <p>See also <a href="#root/_help_9sRHySam5fXb">Workspace</a> which extends this feature.</p> | ||||||
|   this feature.</p> |  | ||||||
| @@ -1,16 +1,16 @@ | |||||||
| <figure class="image image-style-align-center"> | <figure class="image image-style-align-center"> | ||||||
|   <img style="aspect-ratio:659/256;" src="Quick search_image.png" width="659" |   <img style="aspect-ratio:659/256;" src="Quick search_image.png" | ||||||
|   height="256"> |   width="659" height="256"> | ||||||
| </figure> | </figure> | ||||||
| <p>The <em>Quick search</em> function does a full-text search (that is, it | <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) |   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> |   and displays the result in an easy-to-access manner.</p> | ||||||
| <p>The alternative to the quick search is the <a class="reference-link" | <p>The alternative to the quick search is the <a class="reference-link" | ||||||
|   href="#root/_help_eIg8jdvaoNNd">Search</a> function, which opens in |   href="#root/_help_eIg8jdvaoNNd">Search</a> function, which opens in a dedicated | ||||||
|   a dedicated tab and has support for advanced queries.</p> |   tab and has support for advanced queries.</p> | ||||||
| <p>For even faster navigation, it's possible to use <a class="reference-link" | <p>For even faster navigation, it's possible to use <a class="reference-link" | ||||||
|   href="#root/_help_F1r9QtzQLZqm">Jump to...</a> which will only search |   href="#root/_help_F1r9QtzQLZqm">Jump to...</a> which will only search through | ||||||
|   through the note titles instead of the content.</p> |   the note titles instead of the content.</p> | ||||||
| <h2>Layout</h2> | <h2>Layout</h2> | ||||||
| <p>Based on the <a class="reference-link" href="#root/_help_x0JgW8UqGXvq">Vertical and horizontal layout</a>, | <p>Based on the <a class="reference-link" href="#root/_help_x0JgW8UqGXvq">Vertical and horizontal layout</a>, | ||||||
|   the quick search is placed:</p> |   the quick search is placed:</p> | ||||||
| @@ -18,8 +18,8 @@ | |||||||
|   <li>On the vertical layout, it is displayed right above the <a class="reference-link" |   <li>On the vertical layout, it is displayed right above the <a class="reference-link" | ||||||
|     href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li> |     href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li> | ||||||
|   <li>On the horizontal layout, it is displayed in the <a class="reference-link" |   <li>On the horizontal layout, it is displayed in the <a class="reference-link" | ||||||
|     href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>, where it can be positioned |     href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>, where it can be positioned just | ||||||
|     just like any other icon.</li> |     like any other icon.</li> | ||||||
| </ul> | </ul> | ||||||
| <h2>Search Features</h2> | <h2>Search Features</h2> | ||||||
| <p>Quick search includes the following features:</p> | <p>Quick search includes the following features:</p> | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image image_resized" style="width:100%;"> | <figure class="image image_resized" style="width:100%;"> | ||||||
|   <img style="aspect-ratio:898/93;" src="Search in note_image.png" width="898" |   <img style="aspect-ratio:898/93;" src="Search in note_image.png" | ||||||
|   height="93"> |   width="898" height="93"> | ||||||
| </figure> | </figure> | ||||||
| <p>Local search allows you to search within the currently displayed note. </p> | <p>Local search allows you to search within the currently displayed note. </p> | ||||||
| <h2>Alternatives</h2> | <h2>Alternatives</h2> | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| <figure class="image"> | <figure class="image"> | ||||||
|   <img style="aspect-ratio:987/725;" src="Search_image.png" width="987" |   <img style="aspect-ratio:987/725;" src="Search_image.png" | ||||||
|   height="725"> |   width="987" height="725"> | ||||||
| </figure> | </figure> | ||||||
| <p>Note search enables you to find notes by searching for text in the title, | <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. |   content, or <a href="#root/_help_zEY4DaJG4YT5">attributes</a> of the notes. You | ||||||
|   You also have the option to save your searches, which will create a special |   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 |   search note which is visible on your navigation tree and contains the search | ||||||
|   results as sub-items.</p> |   results as sub-items.</p> | ||||||
| <h2>Accessing the search</h2> | <h2>Accessing the search</h2> | ||||||
| @@ -107,8 +107,8 @@ | |||||||
|         action multiple times (i.e. in order to be able to apply multiple labels |         action multiple times (i.e. in order to be able to apply multiple labels | ||||||
|         to notes).</li> |         to notes).</li> | ||||||
|       <li>The actions given are the same as the ones in <a class="reference-link" |       <li>The actions given are the same as the ones in <a class="reference-link" | ||||||
|         href="#root/_help_ivYnonVFBxbQ">Bulk Actions</a>, which is an alternative |         href="#root/_help_ivYnonVFBxbQ">Bulk Actions</a>, which is an alternative for | ||||||
|         for operating directly with notes within the <a class="reference-link" |         operating directly with notes within the <a class="reference-link" | ||||||
|         href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li> |         href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li> | ||||||
|       <li>After defining the actions, first press <em>Search</em> to check the matched |       <li>After defining the actions, first press <em>Search</em> to check the matched | ||||||
|         notes and then press <em>Search & Execute actions</em> to trigger the |         notes and then press <em>Search & Execute actions</em> to trigger the | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image image-style-align-center"> | <figure class="image image-style-align-center"> | ||||||
|   <img style="aspect-ratio:1626/540;" src="Similar Notes_image.png" width="1626" |   <img style="aspect-ratio:1626/540;" src="Similar Notes_image.png" | ||||||
|   height="540"> |   width="1626" height="540"> | ||||||
| </figure> | </figure> | ||||||
| <p>The Similar Notes feature tries to identify notes that relate to the current | <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 |   note by looking at the content of the notes, their relationships, as well | ||||||
|   | |||||||
| @@ -6,8 +6,8 @@ | |||||||
| <p>So far workspace consists of these features:</p> | <p>So far workspace consists of these features:</p> | ||||||
| <ul> | <ul> | ||||||
|   <li> |   <li> | ||||||
|     <p><a href="#root/_help_OR8WJ7Iz9K4U">note hoisting</a> - you can "zoom" into |     <p><a href="#root/_help_OR8WJ7Iz9K4U">note hoisting</a> - you can "zoom" into a | ||||||
|       a workspace subtree to focus only on the relevant notes</p> |       workspace subtree to focus only on the relevant notes</p> | ||||||
|   </li> |   </li> | ||||||
|   <li> |   <li> | ||||||
|     <p>easy entering of workspace: </p> |     <p>easy entering of workspace: </p> | ||||||
|   | |||||||
| @@ -2,10 +2,9 @@ | |||||||
|   and content.</p> |   and content.</p> | ||||||
| <h3>Note types</h3> | <h3>Note types</h3> | ||||||
| <p>The main note type is a rich-text note type called <a class="reference-link" | <p>The main note type is a rich-text note type called <a class="reference-link" | ||||||
|   href="#root/_help_iPIMuisry3hd">Text</a>. For diagrams and drawing there |   href="#root/_help_iPIMuisry3hd">Text</a>. For diagrams and drawing there is  | ||||||
|   is <a class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a> and  |  | ||||||
|   <a |   <a | ||||||
|   class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>.</p> |   class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a> and <a class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>.</p> | ||||||
| <p>There are also more complex note types such as <a class="reference-link" | <p>There are also more complex note types such as <a class="reference-link" | ||||||
|   href="#root/_help_m523cpzocqaD">Saved Search</a>, <a class="reference-link" |   href="#root/_help_m523cpzocqaD">Saved Search</a>, <a class="reference-link" | ||||||
|   href="#root/_help_HcABDtFCkbFN">Render Note</a> that usually go hand-in-hand |   href="#root/_help_HcABDtFCkbFN">Render Note</a> that usually go hand-in-hand | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| <p>A <a href="#root/_help_BFs8mudNFgCS">note</a> in Trilium can <em>own</em> one | <p>A <a href="#root/_help_BFs8mudNFgCS">note</a> in Trilium can <em>own</em> one or | ||||||
|   or more attachments, which can be either images or files. These attachments |   more attachments, which can be either images or files. These attachments | ||||||
|   can be displayed or linked within the note that owns them.</p> |   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>. | <p>This can be especially useful to include dependencies for your <a href="#root/_help_CdNpE2pqjmI6">scripts</a>. | ||||||
|   The <a class="reference-link" href="#root/_help_R7abl2fc6Mxi">Weight Tracker</a> shows |   The <a class="reference-link" href="#root/_help_R7abl2fc6Mxi">Weight Tracker</a> shows | ||||||
| @@ -21,8 +21,8 @@ | |||||||
|   <li>For a single note, press the context menu from the <a class="reference-link" |   <li>For a single note, press the context menu from the <a class="reference-link" | ||||||
|     href="#root/_help_8YBEPzcpUgxw">Note buttons</a> and select <em>Convert into attachment</em>.</li> |     href="#root/_help_8YBEPzcpUgxw">Note buttons</a> and select <em>Convert into attachment</em>.</li> | ||||||
|   <li>For multiple notes, select the given notes in the <a class="reference-link" |   <li>For multiple notes, select the given notes in the <a class="reference-link" | ||||||
|     href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>, right click → Advanced → |     href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>, right click → Advanced → Convert | ||||||
|     Convert to attachment.</li> |     to attachment.</li> | ||||||
| </ul> | </ul> | ||||||
| <h2>Attachment previews</h2> | <h2>Attachment previews</h2> | ||||||
| <p>Attachments share the same content preview for images, videos, PDFs, etc. | <p>Attachments share the same content preview for images, videos, PDFs, etc. | ||||||
|   | |||||||
| @@ -5,8 +5,10 @@ | |||||||
|   the css class names is not necessary. While editing a note, click on the |   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> |   icon next to the title to bring up a chooser gallery:</p> | ||||||
| <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> | ||||||
| <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> | </p> | ||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image"> | <figure class="image"> | ||||||
|   <img style="aspect-ratio:990/590;" src="Note List_image.png" width="990" |   <img style="aspect-ratio:990/590;" src="Note List_image.png" | ||||||
|   height="590"> |   width="990" height="590"> | ||||||
| </figure> | </figure> | ||||||
| <p>When a note has one or more child notes, they will be listed at the end | <p>When a note has one or more child notes, they will be listed at the end | ||||||
|   of the note for easy navigation.</p> |   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 |   the notes will be displayed in a grid, however there are also some other | ||||||
|   view types available.</p> |   view types available.</p> | ||||||
| <p>Generally the view type can only be changed in a <a class="reference-link" | <p>Generally the view type can only be changed in a <a class="reference-link" | ||||||
|   href="#root/_help_GTwFsgaA0lCt">Collections</a> note from the  |   href="#root/_help_GTwFsgaA0lCt">Collections</a> note from the <a class="reference-link" | ||||||
|   <a |   href="#root/_help_BlN9DFI679QC">Ribbon</a>, but it can also be changed manually | ||||||
|   class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>, but it can also be changed manually on any type of note using |   on any type of note using the <code>#viewType</code> attribute.</p> | ||||||
|     the <code>#viewType</code> attribute.</p> |  | ||||||
| @@ -4,6 +4,7 @@ | |||||||
|   <figcaption>Screenshot of the note contextual menu indicating the “Export as PDF” |   <figcaption>Screenshot of the note contextual menu indicating the “Export as PDF” | ||||||
|     option.</figcaption> |     option.</figcaption> | ||||||
| </figure> | </figure> | ||||||
|  |  | ||||||
| <h2>Printing</h2> | <h2>Printing</h2> | ||||||
| <p>This feature allows printing of notes. It works on both the desktop client, | <p>This feature allows printing of notes. It works on both the desktop client, | ||||||
|   but also on the web.</p> |   but also on the web.</p> | ||||||
| @@ -26,7 +27,8 @@ class="admonition note"> | |||||||
|     <a |     <a | ||||||
|     href="#root/_help_wy8So3yZZlH9">report the issue</a>. In this case, it's best to offer a sample note (click |     href="#root/_help_wy8So3yZZlH9">report the issue</a>. In this case, it's best to offer a sample note (click | ||||||
|       on the |       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> |       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 |   <p>Consider adjusting font sizes and using <a href="#root/_help_CohkqWQC1iBv">page breaks</a> to | ||||||
|     work around the layout.</p> |     work around the layout.</p> | ||||||
| @@ -40,7 +42,7 @@ class="admonition note"> | |||||||
|   <aside class="admonition tip"> |   <aside class="admonition tip"> | ||||||
|     <p>Although direct export as PDF is not available in the browser version |     <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 |       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 |       (depending on the browser). Generally, Mozilla Firefox has better printing | ||||||
|       capabilities.</p> |       capabilities.</p> | ||||||
|   </aside> |   </aside> | ||||||
| @@ -56,12 +58,11 @@ class="admonition note"> | |||||||
|   <h3>Customizing exporting as PDF</h3> |   <h3>Customizing exporting as PDF</h3> | ||||||
|   <p>When exporting to PDF, there are no customizable settings such as page |   <p>When exporting to PDF, there are no customizable settings such as page | ||||||
|     orientation, size. However, there are a few <a class="reference-link" |     orientation, size. However, there are a few <a class="reference-link" | ||||||
|     href="#root/_help_zEY4DaJG4YT5">Attributes</a> to adjust some of the |     href="#root/_help_zEY4DaJG4YT5">Attributes</a> to adjust some of the settings:</p> | ||||||
|     settings:</p> |  | ||||||
|   <ul> |   <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> |       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, |       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> |       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> |   </ul> | ||||||
| @@ -75,9 +76,9 @@ class="admonition note"> | |||||||
|     href="#root/_help_4TIF1oA4VQRO">Options</a> and assigning a key combination |     href="#root/_help_4TIF1oA4VQRO">Options</a> and assigning a key combination | ||||||
|     for:</p> |     for:</p> | ||||||
|   <ul> |   <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> | ||||||
|     <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> |     </li> | ||||||
|   </ul> |   </ul> | ||||||
|   <h2>Constraints & limitations</h2> |   <h2>Constraints & 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 |     supported when printing, in which case the <em>Print</em> and <em>Export as PDF</em> options | ||||||
|     will be disabled.</p> |     will be disabled.</p> | ||||||
|   <ul> |   <ul> | ||||||
|     <li data-list-item-id="e10824952bca3d35d824df6ff828a674f">For <a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a> notes: |     <li>For <a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a> notes: | ||||||
|       <ul> |       <ul> | ||||||
|         <li data-list-item-id="ea6c43aec2902c6e071541491e8bd60ac">Line numbers are not printed.</li> |         <li>Line numbers are not printed.</li> | ||||||
|         <li data-list-item-id="efddf7e53853db4e34d16d154b8ed4928">Syntax highlighting is enabled, however a default theme (Visual Studio) |         <li>Syntax highlighting is enabled, however a default theme (Visual Studio) | ||||||
|           is enforced.</li> |           is enforced.</li> | ||||||
|       </ul> |       </ul> | ||||||
|     </li> |     </li> | ||||||
|     <li data-list-item-id="e015b49c0f3289d6899c5a8b234d5be8b">For <a class="reference-link" href="#root/_help_GTwFsgaA0lCt">Collections</a>: |     <li>For <a class="reference-link" href="#root/_help_GTwFsgaA0lCt">Collections</a>: | ||||||
|       <ul> |       <ul> | ||||||
|         <li data-list-item-id="ee53ebf2cbc850302a779b29475441b0b">Only <a class="reference-link" href="#root/_help_zP3PMqaG71Ct">Presentation View</a> is |         <li>Only <a class="reference-link" href="#root/_help_zP3PMqaG71Ct">Presentation View</a> is | ||||||
|           currently supported.</li> |           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> |       </ul> | ||||||
|     </li> |     </li> | ||||||
|     <li data-list-item-id="e25476c9600ab387eda79fa5eec0b5394">Using <a class="reference-link" href="#root/_help_AlhDUqhENtH7">Custom app-wide CSS</a> for |     <li>Using <a class="reference-link" href="#root/_help_AlhDUqhENtH7">Custom app-wide CSS</a> for | ||||||
|       printing is not longer supported, due to a more stable but isolated mechanism. |       printing is not longer supported, due to a more stable but isolated mechanism. | ||||||
|       <ul> |       <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> |       </ul> | ||||||
|     </li> |     </li> | ||||||
|   </ul> |   </ul> | ||||||
|   | |||||||
| @@ -6,8 +6,8 @@ | |||||||
|   <li><strong>Encryption:</strong> Protected notes are encrypted using a key |   <li><strong>Encryption:</strong> Protected notes are encrypted using a key | ||||||
|     derived from your password. This ensures that without the correct password, |     derived from your password. This ensures that without the correct password, | ||||||
|     protected notes remain indecipherable. Even if someone gains access to |     protected notes remain indecipherable. Even if someone gains access to | ||||||
|     your Trilium <a href="#root/_help_wX4HbRucYSDD">database</a>, they won't |     your Trilium <a href="#root/_help_wX4HbRucYSDD">database</a>, they won't be able | ||||||
|     be able to read your encrypted notes.</li> |     to read your encrypted notes.</li> | ||||||
|   <li><strong>Time-limited access:</strong> To access protected notes, you must |   <li><strong>Time-limited access:</strong> To access protected notes, you must | ||||||
|     first enter your password, which decrypts the note for reading and writing. |     first enter your password, which decrypts the note for reading and writing. | ||||||
|     However, after a specified period of inactivity (10 minutes by default), |     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 | <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> |   the shield icon next to the note's title, as shown here:</p> | ||||||
| <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> | </p> | ||||||
| <h2>What is Encrypted?</h2> | <h2>What is Encrypted?</h2> | ||||||
| <p>Trilium encrypts the data within protected notes but not their metadata. | <p>Trilium encrypts the data within protected notes but not their metadata. | ||||||
|   | |||||||
| @@ -11,10 +11,9 @@ | |||||||
|   of the next section.</p> |   of the next section.</p> | ||||||
| <p>In addition, it's possible to change the number of characters at which | <p>In addition, it's possible to change the number of characters at which | ||||||
|   the automatic read-only mode will trigger in <a class="reference-link" |   the automatic read-only mode will trigger in <a class="reference-link" | ||||||
|   href="#root/_help_4TIF1oA4VQRO">Options</a> by going to the options |   href="#root/_help_4TIF1oA4VQRO">Options</a> by going to the options for  | ||||||
|   for <a class="reference-link" href="#root/_hidden/_options/_help__optionsTextNotes">Text Notes</a> and  |  | ||||||
|   <a |   <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> and <a class="reference-link" href="#root/_hidden/_options/_help__optionsCodeNotes">Code Notes</a>.</p> | ||||||
| <h2>Changing a note's read-only behavior</h2> | <h2>Changing a note's read-only behavior</h2> | ||||||
| <p>Via the <a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>, | <p>Via the <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. |   by going to the <em>Basic Properties</em> tab and looking for the <em>Editable</em> selection. | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| <h2>Manual sorting</h2> | <h2>Manual sorting</h2> | ||||||
| <p>You can sort notes by right-clicking the parent note in the <a class="reference-link" | <p>You can sort notes by right-clicking the parent note in the <a class="reference-link" | ||||||
|   href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> and selecting Advanced |   href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> and selecting Advanced -> | ||||||
|   -> Sort notes by ... This will sort existing notes, but will not automatically |   Sort notes by ... This will sort existing notes, but will not automatically | ||||||
|   sort future notes added to this parent note.</p> |   sort future notes added to this parent note.</p> | ||||||
| <p>The sorting dialog allows:</p> | <p>The sorting dialog allows:</p> | ||||||
| <ul> | <ul> | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image image-style-align-center"> | <figure class="image image-style-align-center"> | ||||||
|   <img style="aspect-ratio:893/144;" src="Floating buttons_image.png" width="893" |   <img style="aspect-ratio:893/144;" src="Floating buttons_image.png" | ||||||
|   height="144"> |   width="893" height="144"> | ||||||
| </figure> | </figure> | ||||||
| <p>Depending on the current note, a panel will appear near the top-right | <p>Depending on the current note, a panel will appear near the top-right | ||||||
|   of the note, right underneath the <a class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>. |   of the note, right underneath the <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 |     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 <a class="reference-link" |       note, or to copy a reference to the note for pasting it a <a class="reference-link" | ||||||
|       href="#root/_help_iPIMuisry3hd">Text</a> note.</li> |       href="#root/_help_iPIMuisry3hd">Text</a> note.</li> | ||||||
|   <li>For <a href="#root/_help_CoFPLs3dRlXc">read-only notes</a>, there is a |   <li>For <a href="#root/_help_CoFPLs3dRlXc">read-only notes</a>, there is a button | ||||||
|     button to temporarily edit the note for quick modifications.</li> |     to temporarily edit the note for quick modifications.</li> | ||||||
| </ul> | </ul> | ||||||
| <h2>Interaction</h2> | <h2>Interaction</h2> | ||||||
| <p>The floating button area can be collapsed by pressing the two right arrows | <p>The floating button area can be collapsed by pressing the two right arrows | ||||||
|   | |||||||
| @@ -36,8 +36,8 @@ | |||||||
| <p>Similarly, to remove it from the launch bar, simply look for it in <em>Visible Launchers</em> then | <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> |   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 tree in order to change their | <p>Drag-and-drop the items in the tree in order to change their | ||||||
|   order. See <a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> for |   order. See <a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> for more | ||||||
|   more interaction options, including using keyboard shortcuts.</p> |   interaction options, including using keyboard shortcuts.</p> | ||||||
| <h2>Customizing the launcher</h2> | <h2>Customizing the launcher</h2> | ||||||
| <ul> | <ul> | ||||||
|   <li>The icon of a launcher can be changed just like a normal note. See  |   <li>The icon of a launcher can be changed just like a normal note. See  | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| <figure class="image image-style-align-right"> | <figure class="image image-style-align-right"> | ||||||
|   <img style="aspect-ratio:505/261;" src="Note Tooltip_image.png" width="505" |   <img style="aspect-ratio:505/261;" src="Note Tooltip_image.png" | ||||||
|   height="261"> |   width="505" height="261"> | ||||||
| </figure> | </figure> | ||||||
| <p>The note tooltip is a convenience feature which displays a popup when | <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 |   hovering over an <a href="#root/_help_hrZ1D00cLbal">internal link</a> to another | ||||||
|   another note.</p> |   note.</p> | ||||||
| <p>The following information is displayed:</p> | <p>The following information is displayed:</p> | ||||||
| <ul> | <ul> | ||||||
|   <li>The note path, at the top of the popup.</li> |   <li>The note path, at the top of the popup.</li> | ||||||
| @@ -16,8 +16,8 @@ | |||||||
|     </ul> |     </ul> | ||||||
|   </li> |   </li> | ||||||
|   <li>A snippet of the content will be displayed as well.</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 |   <li>A button to <a href="#root/_help_ZjLYv08Rp3qC">quickly edit</a> the note in a | ||||||
|     in a popup.</li> |     popup.</li> | ||||||
| </ul> | </ul> | ||||||
| <p>The tooltip can be found in multiple places, including:</p> | <p>The tooltip can be found in multiple places, including:</p> | ||||||
| <ul> | <ul> | ||||||
| @@ -29,8 +29,8 @@ | |||||||
|         when hovering over a marker.</li> |         when hovering over a marker.</li> | ||||||
|       <li><a class="reference-link" href="#root/_help_xWbu3jpNWapp">Calendar View</a>, |       <li><a class="reference-link" href="#root/_help_xWbu3jpNWapp">Calendar View</a>, | ||||||
|         when hovering over an event.</li> |         when hovering over an event.</li> | ||||||
|       <li><a class="reference-link" href="#root/_help_2FvYrpmOXm29">Table View</a>, |       <li><a class="reference-link" href="#root/_help_2FvYrpmOXm29">Table View</a>, when | ||||||
|         when hovering over a note title, or over a <a href="#root/_help_Cq5X6iKQop6R">relation</a>.</li> |         hovering over a note title, or over a <a href="#root/_help_Cq5X6iKQop6R">relation</a>.</li> | ||||||
|     </ul> |     </ul> | ||||||
|   </li> |   </li> | ||||||
| </ul> | </ul> | ||||||
| @@ -5,13 +5,15 @@ | |||||||
| </p> | </p> | ||||||
| <h2>Drag and Drop</h2> | <h2>Drag and Drop</h2> | ||||||
| <p> | <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> | ||||||
| <p>You can easily rearrange the note tree by dragging and dropping notes, | <p>You can easily rearrange the note tree by dragging and dropping notes, | ||||||
|   as demonstrated in the example above.</p> |   as demonstrated in the example above.</p> | ||||||
| <h2>Keyboard Manipulation</h2> | <h2>Keyboard Manipulation</h2> | ||||||
| <p> | <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 |   <a | ||||||
|   href="#root/_help_A9Oc6YKKc65v">shortcuts</a>:</p> |   href="#root/_help_A9Oc6YKKc65v">shortcuts</a>:</p> | ||||||
| <ul> | <ul> | ||||||
|   | |||||||
| @@ -10,8 +10,7 @@ | |||||||
| <ul> | <ul> | ||||||
|   <li>On a single note, by right clicking it in the note tree.</li> |   <li>On a single note, by right clicking it in the note tree.</li> | ||||||
|   <li>On multiple notes, by selecting them first. See <a class="reference-link" |   <li>On multiple notes, by selecting them first. See <a class="reference-link" | ||||||
|     href="#root/_help_yTjUdsOi4CIE">Multiple selection</a> on how to do |     href="#root/_help_yTjUdsOi4CIE">Multiple selection</a> on how to do so. | ||||||
|     so. |  | ||||||
|     <ul> |     <ul> | ||||||
|       <li>When right clicking, do note that usually the note being right clicked |       <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 |         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 |       <li>Use one of the two paste functions (or the keyboard shortcuts) to copy | ||||||
|         them to the desired location.</li> |         them to the desired location.</li> | ||||||
|       <li>Note that the copy function here works according to the <a class="reference-link" |       <li>Note that the copy function here works according to the <a class="reference-link" | ||||||
|         href="#root/_help_IakOLONlIfGI">Cloning Notes</a> functionality (i.e. |         href="#root/_help_IakOLONlIfGI">Cloning Notes</a> functionality (i.e. the | ||||||
|         the note itself will be present in two locations at once, and editing it |         note itself will be present in two locations at once, and editing it in | ||||||
|         in one place will edit it everywhere).</li> |         one place will edit it everywhere).</li> | ||||||
|       <li>To simply create a duplicate note that can be modified independently, |       <li>To simply create a duplicate note that can be modified independently, | ||||||
|         look for <em>Duplicate subtree</em>.</li> |         look for <em>Duplicate subtree</em>.</li> | ||||||
|     </ul> |     </ul> | ||||||
| @@ -145,8 +144,8 @@ | |||||||
|   </li> |   </li> | ||||||
|   <li><strong>Import into note</strong> |   <li><strong>Import into note</strong> | ||||||
|     <ul> |     <ul> | ||||||
|       <li>Opens the <a href="#root/_help_mHbBMPDPkVV5">import</a> dialog and places |       <li>Opens the <a href="#root/_help_mHbBMPDPkVV5">import</a> dialog and places the | ||||||
|         the imported notes as child notes of the selected one.</li> |         imported notes as child notes of the selected one.</li> | ||||||
|     </ul> |     </ul> | ||||||
|   </li> |   </li> | ||||||
|   <li><strong>Export</strong> |   <li><strong>Export</strong> | ||||||
| @@ -191,8 +190,8 @@ | |||||||
|       <li>Converts the selected notes to <a class="reference-link" href="#root/_help_0vhv7lsOLy82">Attachments</a> of |       <li>Converts the selected notes to <a class="reference-link" href="#root/_help_0vhv7lsOLy82">Attachments</a> of | ||||||
|         their parent notes.</li> |         their parent notes.</li> | ||||||
|       <li>This functional is most useful when dealing with image <a class="reference-link" |       <li>This functional is most useful when dealing with image <a class="reference-link" | ||||||
|         href="#root/_help_W8vYD3Q1zjCR">File</a> notes that were imported |         href="#root/_help_W8vYD3Q1zjCR">File</a> notes that were imported from an | ||||||
|         from an external source or an older version of Trilium.</li> |         external source or an older version of Trilium.</li> | ||||||
|     </ul> |     </ul> | ||||||
|   </li> |   </li> | ||||||
|   <li><strong>Expand subtree</strong> |   <li><strong>Expand subtree</strong> | ||||||
|   | |||||||
| @@ -1,14 +1,13 @@ | |||||||
| <figure class="image image-style-align-center"> | <figure class="image image-style-align-center"> | ||||||
|   <img style="aspect-ratio:1189/709;" src="Options_image.png" width="1189" |   <img style="aspect-ratio:1189/709;" src="Options_image.png" | ||||||
|   height="709"> |   width="1189" height="709"> | ||||||
| </figure> | </figure> | ||||||
| <p>The Options section allows the configuration of the TriliumNext client | <p>The Options section allows the configuration of the TriliumNext client | ||||||
|   and server.</p> |   and server.</p> | ||||||
| <h2>Entering options</h2> | <h2>Entering options</h2> | ||||||
| <p>The Options can be accessed via:</p> | <p>The Options can be accessed via:</p> | ||||||
| <ul> | <ul> | ||||||
|   <li>The <a href="#root/_help_x3i7MxGccDuM">Global menu</a>, by selecting |   <li>The <a href="#root/_help_x3i7MxGccDuM">Global menu</a>, by selecting the <em>Options</em> item.</li> | ||||||
|     the <em>Options</em> item.</li> |  | ||||||
|   <li>The |   <li>The | ||||||
|     <img src="1_Options_image.png">button in the <a href="#root/_help_xYmIYSP6wE3F">Launch Bar</a> which |     <img src="1_Options_image.png">button in the <a href="#root/_help_xYmIYSP6wE3F">Launch Bar</a> which | ||||||
|     can optionally be hidden if not desirable.</li> |     can optionally be hidden if not desirable.</li> | ||||||
|   | |||||||
| @@ -1,18 +1,18 @@ | |||||||
| <figure class="image image-style-align-right image_resized" style="width:53.13%;"> | <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" |   <img style="aspect-ratio:895/694;" src="Quick edit_image.png" | ||||||
|   height="694"> |   width="895" height="694"> | ||||||
| </figure> | </figure> | ||||||
| <p><em>Quick edit</em> provides an alternative to the standard tab-based navigation | <p><em>Quick edit</em> provides an alternative to the standard tab-based navigation | ||||||
|   and editing.</p> |   and editing.</p> | ||||||
| <p>Instead of clicking on a note which switches the <a class="reference-link" | <p>Instead of clicking on a note which switches the <a class="reference-link" | ||||||
|   href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> to the newly selected |   href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> to the newly selected note, | ||||||
|   note, or navigating between two different <a class="reference-link" |   or navigating between two different <a class="reference-link" href="#root/_help_3seOhtN8uLIY">Tabs</a>, | ||||||
|   href="#root/_help_3seOhtN8uLIY">Tabs</a>, the <em>Quick edit</em> feature |   the <em>Quick edit</em> feature opens as a popup window that can be easily | ||||||
|   opens as a popup window that can be easily dismissed.</p> |   dismissed.</p> | ||||||
| <p>This feature is also well integrated with <a class="reference-link" | <p>This feature is also well integrated with <a class="reference-link" | ||||||
|   href="#root/_help_GTwFsgaA0lCt">Collections</a> such as the calendar |   href="#root/_help_GTwFsgaA0lCt">Collections</a> such as the calendar view, | ||||||
|   view, which makes it easy to edit entries without having to go back and |   which makes it easy to edit entries without having to go back and forth | ||||||
|   forth between the child note and the calendar.</p> |   between the child note and the calendar.</p> | ||||||
| <h2>Feature highlights</h2> | <h2>Feature highlights</h2> | ||||||
| <ul> | <ul> | ||||||
|   <li>All note types are supported, including <a class="reference-link" |   <li>All note types are supported, including <a class="reference-link" | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image image-style-align-center image_resized" style="width:50%;"> | <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" |   <img style="aspect-ratio:988/572;" src="1_Recent Changes_image.png" | ||||||
|   height="572"> |   width="988" height="572"> | ||||||
| </figure> | </figure> | ||||||
|  |  | ||||||
| <h2>Accessing the recent changes</h2> | <h2>Accessing the recent changes</h2> | ||||||
| @@ -9,10 +9,9 @@ | |||||||
|     <img src="Recent Changes_image.png" |     <img src="Recent Changes_image.png" | ||||||
|     width="25" height="21">button in the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>. |     width="25" height="21">button in the <a class="reference-link" href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>. | ||||||
|     <ul> |     <ul> | ||||||
|       <li>If there is a <a href="#root/_help_OR8WJ7Iz9K4U">hoisted note</a> or a |       <li>If there is a <a href="#root/_help_OR8WJ7Iz9K4U">hoisted note</a> or a <a href="#root/_help_9sRHySam5fXb">workspace</a>, | ||||||
|         <a |         the list of recent changes will be limited to the descendents of the hoisted | ||||||
|         href="#root/_help_9sRHySam5fXb">workspace</a>, the list of recent changes will be limited to the descendents |         note, or the workspace.</li> | ||||||
|           of the hoisted note, or the workspace.</li> |  | ||||||
|     </ul> |     </ul> | ||||||
|   </li> |   </li> | ||||||
|   <li>To limit the list of recent changes to a note and its descendants, look |   <li>To limit the list of recent changes to a note and its descendants, look | ||||||
|   | |||||||
| @@ -24,28 +24,27 @@ | |||||||
|   </li> |   </li> | ||||||
|   <li><em><strong>Protect the note</strong></em> toggles whether the current |   <li><em><strong>Protect the note</strong></em> toggles whether the current | ||||||
|     note is encrypted and accessible only by entering the protected session. |     note is encrypted and accessible only by entering the protected session. | ||||||
|     See <a href="#root/_help_bwg0e8ewQMak">Protected Notes</a> for |     See <a href="#root/_help_bwg0e8ewQMak">Protected Notes</a> for more | ||||||
|     more information.</li> |     information.</li> | ||||||
|   <li><em><strong>Editable</strong></em> changes whether the current note: |   <li><em><strong>Editable</strong></em> changes whether the current note: | ||||||
|     <ul> |     <ul> | ||||||
|       <li>Enters <a href="#root/_help_CoFPLs3dRlXc">read-only mode</a> automatically |       <li>Enters <a href="#root/_help_CoFPLs3dRlXc">read-only mode</a> automatically if | ||||||
|         if the note is too big (default behaviour).</li> |         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 in read-only mode (however it can still be edited temporarily).</li> | ||||||
|       <li>Is always editable, regardless of its size.</li> |       <li>Is always editable, regardless of its size.</li> | ||||||
|     </ul> |     </ul> | ||||||
|   </li> |   </li> | ||||||
|   <li><em><strong>Bookmark</strong></em> toggles the display of the current note |   <li><em><strong>Bookmark</strong></em> toggles the display of the current note | ||||||
|     into the <a href="#root/_help_xYmIYSP6wE3F">Launch Bar</a> for |     into the <a href="#root/_help_xYmIYSP6wE3F">Launch Bar</a> for easy | ||||||
|     easy access. See <a href="#root/_help_u3YFHC9tQlpm">Bookmarks</a> for |     access. See <a href="#root/_help_u3YFHC9tQlpm">Bookmarks</a> for more | ||||||
|     more information.</li> |     information.</li> | ||||||
|   <li><em><strong>Shared</strong></em> toggles whether the current note is publicly |   <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 |     accessible if you have a <a href="#root/_help_WOcw2SLH6tbX">server instance</a> set | ||||||
|     up. See <a href="#root/_help_R9pX4DGra2Vt">Sharing</a> for more |     up. See <a href="#root/_help_R9pX4DGra2Vt">Sharing</a> for more information.</li> | ||||||
|     information.</li> |  | ||||||
|   <li><em><strong>Template</strong></em> toggles whether the current note is |   <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 |     considered a template and can be used to easily create notes with the same | ||||||
|     content. See <a href="#root/_help_KC1HB96bqqHX">Template</a> for |     content. See <a href="#root/_help_KC1HB96bqqHX">Template</a> for more | ||||||
|     more information.</li> |     information.</li> | ||||||
|   <li><em><strong>Language</strong></em> changes the main language of the current |   <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  |     note, mostly useful for spell checking or right-to-left support. See  | ||||||
|     <a |     <a | ||||||
| @@ -65,23 +64,21 @@ | |||||||
| <h3>Note Paths</h3> | <h3>Note Paths</h3> | ||||||
| <p>This section displays all the places where the current note has been cloned | <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. Here the current note can also be cloned to a new location (similar | ||||||
|   to the <a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>) See  |   to the <a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>) See <a href="#root/_help_IakOLONlIfGI">Cloning Notes</a> for | ||||||
|   <a |   more information.</p> | ||||||
|   href="#root/_help_IakOLONlIfGI">Cloning Notes</a> for more information.</p> |  | ||||||
| <h3>Note Map</h3> | <h3>Note Map</h3> | ||||||
| <p>The note map displays all the relations of the current note to other notes, | <p>The note map displays all the relations of the current note to other notes, | ||||||
|   as well as the subtree structure. See <a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> for |   as well as the subtree structure. See <a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> for | ||||||
|   more information.</p> |   more information.</p> | ||||||
| <h3>Similar Notes</h3> | <h3>Similar Notes</h3> | ||||||
| <p>This section lists all the notes that are similar to the current one. | <p>This section lists all the notes that are similar to the current one. | ||||||
|   See <a href="#root/_help_xWtq5NUHOwql">Similar Notes</a> for |   See <a href="#root/_help_xWtq5NUHOwql">Similar Notes</a> for more information.</p> | ||||||
|   more information.</p> |  | ||||||
| <h3>Note Info</h3> | <h3>Note Info</h3> | ||||||
| <p>This section displays information about the current note:</p> | <p>This section displays information about the current note:</p> | ||||||
| <ul> | <ul> | ||||||
|   <li>The <a href="#root/_help_m1lbrzyKDaRB">internal ID</a> of the note.</li> |   <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 |   <li>The <a href="#root/_help_KSZ04uQ2D1St">type of the note</a>, as well as its MIME | ||||||
|     its MIME type (used mostly for exporting notes).</li> |     type (used mostly for exporting notes).</li> | ||||||
|   <li>The created and modification dates.</li> |   <li>The created and modification dates.</li> | ||||||
|   <li>The estimated size of the note in the <a href="#root/_help_wX4HbRucYSDD">Database</a>, |   <li>The estimated size of the note in the <a href="#root/_help_wX4HbRucYSDD">Database</a>, | ||||||
|     as well as its children count and size.</li> |     as well as its children count and size.</li> | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image"> | <figure class="image"> | ||||||
|   <img style="aspect-ratio:1036/372;" src="Right Sidebar_image.png" width="1036" |   <img style="aspect-ratio:1036/372;" src="Right Sidebar_image.png" | ||||||
|   height="372"> |   width="1036" height="372"> | ||||||
| </figure> | </figure> | ||||||
| <p>The right sidebar displays specific content for the current note. Currently | <p>The right sidebar displays specific content for the current note. Currently | ||||||
|   it includes:</p> |   it includes:</p> | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image image-style-align-center"> | <figure class="image image-style-align-center"> | ||||||
|   <img style="aspect-ratio:1119/43;" src="2_Tabs_image.png" width="1119" |   <img style="aspect-ratio:1119/43;" src="2_Tabs_image.png" | ||||||
|   height="43"> |   width="1119" height="43"> | ||||||
| </figure> | </figure> | ||||||
| <p>In Trilium, tabs allow easy switching between notes.</p> | <p>In Trilium, tabs allow easy switching between notes.</p> | ||||||
| <h2>Layout</h2> | <h2>Layout</h2> | ||||||
| @@ -9,8 +9,8 @@ | |||||||
|   <li>For the vertical layout, the tabs will be placed at the top but to the |   <li>For the vertical layout, the tabs will be placed at the top but to the | ||||||
|     right of the <a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li> |     right of the <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, |   <li>For the horizontal layout, the tabs will be placed at the top in full-width, | ||||||
|     above the <a href="#root/_help_oPVyFC7WL2Lp">note tree</a>, allowing |     above the <a href="#root/_help_oPVyFC7WL2Lp">note tree</a>, allowing for | ||||||
|     for more tabs to be comfortably displayed.</li> |     more tabs to be comfortably displayed.</li> | ||||||
| </ul> | </ul> | ||||||
| <h2>Interaction</h2> | <h2>Interaction</h2> | ||||||
| <ul> | <ul> | ||||||
| @@ -19,8 +19,8 @@ | |||||||
|   <li>To close a tab, press the corresponding |   <li>To close a tab, press the corresponding | ||||||
|     <img src="Tabs_image.png">button.</li> |     <img src="Tabs_image.png">button.</li> | ||||||
|   <li>For multitasking, tabs can be used alongside <a class="reference-link" |   <li>For multitasking, tabs can be used alongside <a class="reference-link" | ||||||
|     href="#root/_help_luNhaphA37EO">Split View</a>. Each tab can have one or |     href="#root/_help_luNhaphA37EO">Split View</a>. Each tab can have one or more | ||||||
|     more notes, displayed horizontally.</li> |     notes, displayed horizontally.</li> | ||||||
|   <li>Tabs can be reordered by drag-and-dropping it into a new position.</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 |   <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> |     or downwards. It is not possible to combine tabs back into another window.</li> | ||||||
|   | |||||||
| @@ -0,0 +1,8 @@ | |||||||
|  | <p>Zoom applies to the entire UI, including text.</p> | ||||||
|  | <p>On the desktop application, use the <a class="reference-link" href="#root/pOsGYCXsbNQG/gh7bpGYxajRS/Vc8PjrjAGuOp/_help_x3i7MxGccDuM">Global menu</a> 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 <a class="reference-link" href="#root/pOsGYCXsbNQG/gh7bpGYxajRS/Vc8PjrjAGuOp/_help_4TIF1oA4VQRO">Options</a> → <em>Appearance</em>.</p> | ||||||
							
								
								
									
										83
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/FAQ.html
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										83
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/FAQ.html
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,3 +1,17 @@ | |||||||
|  | <h2>Inspiration for the name “Trilium”</h2> | ||||||
|  | <blockquote> | ||||||
|  |   <p>Naming software is hard. I lived in Ontario when I first started the project | ||||||
|  |     and Trillium (the flower) is sort of a provincial logo, many institutions | ||||||
|  |     in Ontario are named "Trillium [something]". So I kept hearing/reading | ||||||
|  |     it almost everyday, I liked the sound of it and its nature motif, so I | ||||||
|  |     just reused it.</p> | ||||||
|  |   <p><em>– Zadam (original Trilium maintainer)</em> | ||||||
|  |   </p> | ||||||
|  | </blockquote> | ||||||
|  | <aside class="admonition note"> | ||||||
|  |   <p>Despite the fact that the Trillium flower has two “l"s, the Trilium application | ||||||
|  |     only has one.</p> | ||||||
|  | </aside> | ||||||
| <h2>macOS support</h2> | <h2>macOS support</h2> | ||||||
| <p>Originally, Trilium Notes considered the macOS build unsupported. TriliumNext | <p>Originally, Trilium Notes considered the macOS build unsupported. TriliumNext | ||||||
|   commits to make the experience on macOS as good as possible.</p> |   commits to make the experience on macOS as good as possible.</p> | ||||||
| @@ -11,14 +25,14 @@ | |||||||
| <p>Common request is to allow multiple users collaborate, share notes etc. | <p>Common request is to allow multiple users collaborate, share notes etc. | ||||||
|   So far I'm resisting this because of these reasons:</p> |   So far I'm resisting this because of these reasons:</p> | ||||||
| <ul> | <ul> | ||||||
|   <li>it's a huge feature, or rather a Pandora's box of collaboration features |   <li data-list-item-id="eb800113d8b3ab1905b710e9e8ee0f12a">it's a huge feature, or rather a Pandora's box of collaboration features | ||||||
|     like user management, permissions, conflict resolution, real-time editing |     like user management, permissions, conflict resolution, real-time editing | ||||||
|     of a note by multiple people etc. This would be a huge amount of work. |     of a note by multiple people etc. This would be a huge amount of work. | ||||||
|     Trilium Notes is project made mostly by one person in free time and that's |     Trilium Notes is project made mostly by one person in free time and that's | ||||||
|     unlikely to change in the future.</li> |     unlikely to change in the future.</li> | ||||||
|   <li>given its size it would probably pivot the attention away from my main |   <li data-list-item-id="ee44659e9fabe03f5392ad0d6a3d1c246">given its size it would probably pivot the attention away from my main | ||||||
|     focus which is a personal note-taking</li> |     focus which is a personal note-taking</li> | ||||||
|   <li>the assumption that only single person has access to the app simplifies |   <li data-list-item-id="e40e9d3e3682b4aa23621056270b76257">the assumption that only single person has access to the app simplifies | ||||||
|     many things, or just outright makes them possible. In multi-user app, our |     many things, or just outright makes them possible. In multi-user app, our | ||||||
|     <a |     <a | ||||||
|     href="#root/_help_CdNpE2pqjmI6">scripting</a>support would be a XSS security hole, while with the single |     href="#root/_help_CdNpE2pqjmI6">scripting</a>support would be a XSS security hole, while with the single | ||||||
| @@ -26,13 +40,14 @@ | |||||||
| </ul> | </ul> | ||||||
| <h2>How to open multiple documents in one Trilium instance</h2> | <h2>How to open multiple documents in one Trilium instance</h2> | ||||||
| <p>This is normally not supported - one Trilium process can open only a single | <p>This is normally not supported - one Trilium process can open only a single | ||||||
|   instance of a <a href="#root/_help_wX4HbRucYSDD">database</a>. However, |   instance of a <a href="#root/_help_wX4HbRucYSDD">database</a>. However, you can | ||||||
|   you can run two Trilium processes (from one installation), each connected |   run two Trilium processes (from one installation), each connected to a | ||||||
|   to a separate document. To achieve this, you need to set a location for |   separate document. To achieve this, you need to set a location for the | ||||||
|   the <a href="#root/_help_tAassRL4RSQL">data directory</a> in the <code>TRILIUM_DATA_DIR</code> environment |   <a | ||||||
|   variable and separate port on <code>TRILIUM_PORT</code> environment variable. |   href="#root/_help_tAassRL4RSQL">data directory</a>in the <code>TRILIUM_DATA_DIR</code> environment variable | ||||||
|   How to do that depends on the platform, in Unix-based systems you can achieve |     and separate port on <code>TRILIUM_PORT</code> environment variable. How | ||||||
|   that by running command such as this:</p><pre><code class="language-text-x-trilium-auto">TRILIUM_DATA_DIR=/home/me/path/to/data/dir TRILIUM_PORT=12345 trilium </code></pre> |     to do that depends on the platform, in Unix-based systems you can achieve | ||||||
|  |     that by running command such as this:</p><pre><code class="language-text-x-trilium-auto">TRILIUM_DATA_DIR=/home/me/path/to/data/dir TRILIUM_PORT=12345 trilium </code></pre> | ||||||
| <p>You can save this command into a <code>.sh</code> script file or make an | <p>You can save this command into a <code>.sh</code> script file or make an | ||||||
|   alias. Do this similarly for a second instance with different data directory |   alias. Do this similarly for a second instance with different data directory | ||||||
|   and port.</p> |   and port.</p> | ||||||
| @@ -54,36 +69,38 @@ | |||||||
|   with probably more problems.</p> |   with probably more problems.</p> | ||||||
| <p>More detailed answer:</p> | <p>More detailed answer:</p> | ||||||
| <ul> | <ul> | ||||||
|   <li><a href="#root/_help_IakOLONlIfGI">clones</a> are what you might call "hard |   <li data-list-item-id="ed6f42f2a9c3d02e70f8c562d961bb63d"><a href="#root/_help_IakOLONlIfGI">clones</a> are what you might call "hard directory | ||||||
|     directory link" in filesystem lingo, but this concept is not implemented |     link" in filesystem lingo, but this concept is not implemented in any filesystem</li> | ||||||
|     in any filesystem</li> |   <li | ||||||
|   <li>filesystems make a distinction between directory and file while there's |   data-list-item-id="ea08b9caa11abddfb48deb74d5b6f7388">filesystems make a distinction between directory and file while there's | ||||||
|     intentionally no such difference in Trilium</li> |     intentionally no such difference in Trilium</li> | ||||||
|   <li>files are stored in no particular order and user can't change this</li> |     <li data-list-item-id="e9c3473810cd4fe860b5824b714ced189">files are stored in no particular order and user can't change this</li> | ||||||
|   <li>Trilium allows storing note <a href="#root/_help_zEY4DaJG4YT5">attributes</a> which |     <li | ||||||
|     could be represented in extended user attributes but their support differs |     data-list-item-id="e168be7c32aff67053f0095dcd583da0f">Trilium allows storing note <a href="#root/_help_zEY4DaJG4YT5">attributes</a> which | ||||||
|     greatly among different filesystems / operating systems</li> |       could be represented in extended user attributes but their support differs | ||||||
|   <li>Trilium makes links / relations between different notes which can be quickly |       greatly among different filesystems / operating systems</li> | ||||||
|     retrieved / navigated (e.g. for <a href="#root/_help_BCkXAVs63Ttv">note map</a>). |       <li data-list-item-id="e86308cf2302c48ae3684f817ef921e46">Trilium makes links / relations between different notes which can be quickly | ||||||
|     There's no such support in file systems which means these would have to |         retrieved / navigated (e.g. for <a href="#root/_help_BCkXAVs63Ttv">note map</a>). | ||||||
|     be stored in some kind of side-car files (mini-databases).</li> |         There's no such support in file systems which means these would have to | ||||||
|   <li>Filesystems are generally not transactional. While this is not completely |         be stored in some kind of side-car files (mini-databases).</li> | ||||||
|     required for a note-taking application, having transactions make it way |       <li data-list-item-id="ea23fb3e81afba708ad7da44c2feeb9be">Filesystems are generally not transactional. While this is not completely | ||||||
|     easier to keep notes and their metadata in predictable and consistent state.</li> |         required for a note-taking application, having transactions make it way | ||||||
|  |         easier to keep notes and their metadata in predictable and consistent state.</li> | ||||||
| </ul> | </ul> | ||||||
| <h2>Search-related Questions</h2> | <h2>Search-related Questions</h2> | ||||||
| <h3>Why does search sometimes find results with typos?</h3> | <h3>Why does search sometimes find results with typos?</h3> | ||||||
| <p>Trilium uses a progressive search strategy that includes fuzzy matching | <p>Trilium uses a progressive search strategy that includes fuzzy matching | ||||||
|   when exact matches return fewer than 5 results. This finds notes despite |   when exact matches return fewer than 5 results. This finds notes despite | ||||||
|   minor typos in your search query. You can use fuzzy search operators (<code>~=</code> for |   minor typos in your search query. You can use fuzzy search operators (<code>~=</code> for | ||||||
|   fuzzy exact match and <code>~*</code> for fuzzy contains). See the <a class="reference-link" |   fuzzy exact match and <code>~*</code> for fuzzy contains). See the  | ||||||
|   href="#root/_help_eIg8jdvaoNNd">Search</a> documentation for details.</p> |   <a | ||||||
|  |   class="reference-link" href="#root/_help_eIg8jdvaoNNd">Search</a> documentation for details.</p> | ||||||
| <h3>How can I search for notes when I'm not sure of the exact spelling?</h3> | <h3>How can I search for notes when I'm not sure of the exact spelling?</h3> | ||||||
| <p>Use the fuzzy search operators:</p> | <p>Use the fuzzy search operators:</p> | ||||||
| <ul> | <ul> | ||||||
|   <li><code>#title ~= "projct"</code> - finds notes with titles like "project" |   <li data-list-item-id="e91e70fef9031d168e95d28af8eb4c8ed"><code>#title ~= "projct"</code> - finds notes with titles like "project" | ||||||
|     despite the typo</li> |     despite the typo</li> | ||||||
|   <li><code>note.content ~* "algoritm"</code> - finds content containing "algorithm" |   <li data-list-item-id="ee1eddc61b08bb2497a4eed03784cb845"><code>note.content ~* "algoritm"</code> - finds content containing "algorithm" | ||||||
|     or similar words</li> |     or similar words</li> | ||||||
| </ul> | </ul> | ||||||
| <h3>Why do some search results appear before others with lower scores?</h3> | <h3>Why do some search results appear before others with lower scores?</h3> | ||||||
| @@ -93,9 +110,9 @@ | |||||||
|   factors.</p> |   factors.</p> | ||||||
| <h3>How can I make my searches faster?</h3> | <h3>How can I make my searches faster?</h3> | ||||||
| <ol> | <ol> | ||||||
|   <li>Use the "Fast search" option to search only titles and attributes (not |   <li data-list-item-id="e31e798496de72ab1d1c890e5143bdcf3">Use the "Fast search" option to search only titles and attributes (not | ||||||
|     content)</li> |     content)</li> | ||||||
|   <li>Limit search scope using the "Ancestor" field</li> |   <li data-list-item-id="e8659a04d4b8d1ce16740520524f51dd1">Limit search scope using the "Ancestor" field</li> | ||||||
|   <li>Set a result limit to prevent loading too many results</li> |   <li data-list-item-id="e71c171a22ad97a012f3fe0b4934e9eed">Set a result limit to prevent loading too many results</li> | ||||||
|   <li>For large databases, consider archiving old notes to reduce search scope</li> |   <li data-list-item-id="e345d6d8caa359211458da8597d0aeb07">For large databases, consider archiving old notes to reduce search scope</li> | ||||||
| </ol> | </ol> | ||||||
							
								
								
									
										4
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Feature Highlights.html
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Feature Highlights.html
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -30,8 +30,8 @@ | |||||||
|   <li>v0.95.0: |   <li>v0.95.0: | ||||||
|     <ul> |     <ul> | ||||||
|       <li>A more friendly theme was introduced for <a class="reference-link" |       <li>A more friendly theme was introduced for <a class="reference-link" | ||||||
|         href="#root/_help_R9pX4DGra2Vt">Sharing</a>, with search, expandable tree, |         href="#root/_help_R9pX4DGra2Vt">Sharing</a>, with search, expandable tree, night | ||||||
|         night mode and more.</li> |         mode and more.</li> | ||||||
|     </ul> |     </ul> | ||||||
|   </li> |   </li> | ||||||
|   <li>v0.94.0: |   <li>v0.94.0: | ||||||
|   | |||||||
| @@ -12,17 +12,17 @@ | |||||||
|   by default in <code>backup</code> directory placed in the <a href="#root/_help_tAassRL4RSQL">data directory</a>.</p> |   by default in <code>backup</code> directory placed in the <a href="#root/_help_tAassRL4RSQL">data directory</a>.</p> | ||||||
| <p>This is only very basic backup solution, and you're encouraged to add | <p>This is only very basic backup solution, and you're encouraged to add | ||||||
|   some better backup solution - e.g. backing up the <a class="reference-link" |   some better backup solution - e.g. backing up the <a class="reference-link" | ||||||
|   href="#root/_help_wX4HbRucYSDD">Database</a> to cloud / different |   href="#root/_help_wX4HbRucYSDD">Database</a> to cloud / different computer | ||||||
|   computer etc.</p> |   etc.</p> | ||||||
| <p>Note that <a class="reference-link" href="#root/_help_cbkrhQjrkKrh">Synchronization</a> provides | <p>Note that <a class="reference-link" href="#root/_help_cbkrhQjrkKrh">Synchronization</a> provides | ||||||
|   also some backup capabilities by its nature of distributing the data to |   also some backup capabilities by its nature of distributing the data to | ||||||
|   other computers.</p> |   other computers.</p> | ||||||
| <h2>Restoring backup</h2> | <h2>Restoring backup</h2> | ||||||
| <p>Let's assume you want to restore the weekly backup, here's how to do it:</p> | <p>Let's assume you want to restore the weekly backup, here's how to do it:</p> | ||||||
| <ul> | <ul> | ||||||
|   <li>find <a href="#root/_help_tAassRL4RSQL">data directory</a> Trilium uses |   <li>find <a href="#root/_help_tAassRL4RSQL">data directory</a> Trilium uses - easy | ||||||
|     - easy way is to open "About Trilium Notes" from "Menu" in upper left corner |     way is to open "About Trilium Notes" from "Menu" in upper left corner and | ||||||
|     and looking at "data directory" |     looking at "data directory" | ||||||
|     <ul> |     <ul> | ||||||
|       <li>I'll refer to <code>~/trilium-data</code> as data directory from now on</li> |       <li>I'll refer to <code>~/trilium-data</code> as data directory from now on</li> | ||||||
|     </ul> |     </ul> | ||||||
|   | |||||||
| @@ -21,8 +21,8 @@ | |||||||
|       </ul> |       </ul> | ||||||
|   </li> |   </li> | ||||||
|   <li><code>trilium-portable</code>: Launches Trilium in portable mode, where |   <li><code>trilium-portable</code>: Launches Trilium in portable mode, where | ||||||
|     the <a href="#root/_help_tAassRL4RSQL">data directory</a> is created within |     the <a href="#root/_help_tAassRL4RSQL">data directory</a> is created within the | ||||||
|     the application's directory, making it easy to move the entire setup.</li> |     application's directory, making it easy to move the entire setup.</li> | ||||||
|   <li><code>trilium-safe-mode</code>: Boots Trilium in "safe mode," disabling |   <li><code>trilium-safe-mode</code>: Boots Trilium in "safe mode," disabling | ||||||
|     any startup scripts that might cause the application to crash.</li> |     any startup scripts that might cause the application to crash.</li> | ||||||
| </ul> | </ul> | ||||||
|   | |||||||
| @@ -12,8 +12,8 @@ class="admonition note"> | |||||||
|   <h2>Mobile interface</h2> |   <h2>Mobile interface</h2> | ||||||
|   <p>By default, this will display the desktop user interface, even on mobile. |   <p>By default, this will display the desktop user interface, even on mobile. | ||||||
|     To switch to the mobile version, simply go to the <a class="reference-link" |     To switch to the mobile version, simply go to the <a class="reference-link" | ||||||
|     href="#root/_help_x3i7MxGccDuM">Global menu</a> and select “Switch |     href="#root/_help_x3i7MxGccDuM">Global menu</a> and select “Switch to the | ||||||
|     to the mobile version”.</p> |     mobile version”.</p> | ||||||
|   <h2>Allowing the port externally on Windows with Windows Defender Firewall</h2> |   <h2>Allowing the port externally on Windows with Windows Defender Firewall</h2> | ||||||
|   <p>First, find out the IP of your desktop server by running <code>ipconfig</code> in |   <p>First, find out the IP of your desktop server by running <code>ipconfig</code> in | ||||||
|     your local terminal. Then try accessing <code>http://<ip>:37840/login</code> on |     your local terminal. Then try accessing <code>http://<ip>:37840/login</code> on | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| <p>Trilium (<a href="#root/_help_WOcw2SLH6tbX">server edition</a>) has a | <p>Trilium (<a href="#root/_help_WOcw2SLH6tbX">server edition</a>) has a mobile | ||||||
|   mobile web frontend which is optimized for touch based devices - smartphones |   web frontend which is optimized for touch based devices - smartphones and | ||||||
|   and tablets. It is activated automatically during login process based on |   tablets. It is activated automatically during login process based on browser | ||||||
|   browser detection.</p> |   detection.</p> | ||||||
| <p>Mobile frontend is limited in features compared to full desktop frontend. | <p>Mobile frontend is limited in features compared to full desktop frontend. | ||||||
|   See below for more details on this.</p> |   See below for more details on this.</p> | ||||||
| <p>Note that this is not an Android/iOS app, this is just mobile friendly | <p>Note that this is not an Android/iOS app, this is just mobile friendly | ||||||
|   | |||||||
| @@ -27,8 +27,8 @@ | |||||||
| <p>After setting up your server installation, you may want to configure settings | <p>After setting up your server installation, you may want to configure settings | ||||||
|   such as the port or enable <a href="#root/_help_l2VkvOwUNfZj">TLS</a>. Configuration |   such as the port or enable <a href="#root/_help_l2VkvOwUNfZj">TLS</a>. Configuration | ||||||
|   is managed via the Trilium <code>config.ini</code> file, which is located |   is managed via the Trilium <code>config.ini</code> file, which is located | ||||||
|   in the <a href="#root/_help_tAassRL4RSQL">data directory</a> by default. |   in the <a href="#root/_help_tAassRL4RSQL">data directory</a> by default. To begin | ||||||
|   To begin customizing your setup, copy the provided <code>config-sample.ini</code> file |   customizing your setup, copy the provided <code>config-sample.ini</code> file | ||||||
|   with default values to <code>config.ini</code>.</p> |   with default values to <code>config.ini</code>.</p> | ||||||
| <p>You can also review the <a href="#root/_help_Gzjqa934BdH4">configuration</a> file | <p>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> |   to provide all <code>config.ini</code> values as environment variables instead.</p> | ||||||
|   | |||||||
| @@ -39,5 +39,5 @@ nohup TRILIUM_ENV=dev node src/www &</code></pre> | |||||||
|   browser and navigate to <a href="http://localhost:8080">http://localhost:8080</a> to |   browser and navigate to <a href="http://localhost:8080">http://localhost:8080</a> to | ||||||
|   access Trilium (replace "localhost" with your hostname).</p> |   access Trilium (replace "localhost" with your hostname).</p> | ||||||
| <h2>TLS</h2> | <h2>TLS</h2> | ||||||
| <p>Don't forget to <a href="#root/_help_l2VkvOwUNfZj">configure TLS</a> which | <p>Don't forget to <a href="#root/_help_l2VkvOwUNfZj">configure TLS</a> which is | ||||||
|   is required for secure usage!</p> |   required for secure usage!</p> | ||||||
| @@ -163,5 +163,5 @@ echo "Cleanup complete. Trilium updated to $LATEST_VERSION."</code></pre> | |||||||
| <p>If you get an error like this, you need to either upgrade your glibc (typically | <p>If you get an error like this, you need to either upgrade your glibc (typically | ||||||
|   by upgrading to up-to-date distribution version) or use some other <a href="#root/_help_WOcw2SLH6tbX">server installation</a> method.</p> |   by upgrading to up-to-date distribution version) or use some other <a href="#root/_help_WOcw2SLH6tbX">server installation</a> method.</p> | ||||||
| <h2>TLS</h2> | <h2>TLS</h2> | ||||||
| <p>Don't forget to <a href="#root/_help_l2VkvOwUNfZj">configure TLS</a>, which | <p>Don't forget to <a href="#root/_help_l2VkvOwUNfZj">configure TLS</a>, which is | ||||||
|   is required for secure usage!</p> |   required for secure usage!</p> | ||||||
| @@ -4,8 +4,7 @@ | |||||||
|   by adding the following to <code>config.ini</code>:</p><pre><code class="language-text-x-trilium-auto">[General] |   by adding the following to <code>config.ini</code>:</p><pre><code class="language-text-x-trilium-auto">[General] | ||||||
| noAuthentication=true</code></pre> | noAuthentication=true</code></pre> | ||||||
| <p>Disabling authentication will bypass even the <a class="reference-link" | <p>Disabling authentication will bypass even the <a class="reference-link" | ||||||
|   href="#root/_help_7DAiwaf8Z7Rz">Multi-Factor Authentication</a> since |   href="#root/_help_7DAiwaf8Z7Rz">Multi-Factor Authentication</a> since v0.94.1.</p> | ||||||
|   v0.94.1.</p> |  | ||||||
| <h2>Understanding how the session works</h2> | <h2>Understanding how the session works</h2> | ||||||
| <p>Once logged into Trilium, the application will store this information | <p>Once logged into Trilium, the application will store this information | ||||||
|   about the login into a cookie on the browser, but also as a session on |   about the login into a cookie on the browser, but also as a session on | ||||||
| @@ -22,10 +21,9 @@ cookieMaxAge=86400</code></pre> | |||||||
|   the <em>last interaction with the application</em>.</p> |   the <em>last interaction with the application</em>.</p> | ||||||
| <h2>Viewing active sessions</h2> | <h2>Viewing active sessions</h2> | ||||||
| <p>The login sessions are now stored in the same <a class="reference-link" | <p>The login sessions are now stored in the same <a class="reference-link" | ||||||
|   href="#root/_help_wX4HbRucYSDD">Database</a> as the user data. In |   href="#root/_help_wX4HbRucYSDD">Database</a> as the user data. In order | ||||||
|   order to view which sessions are active, open the <a class="reference-link" |   to view which sessions are active, open the <a class="reference-link" | ||||||
|   href="#root/_help_YKWqdJhzi2VY">SQL Console</a> and run the following |   href="#root/_help_YKWqdJhzi2VY">SQL Console</a> and run the following query:</p><pre><code class="language-text-x-trilium-auto">SELECT * FROM sessions</code></pre> | ||||||
|   query:</p><pre><code class="language-text-x-trilium-auto">SELECT * FROM sessions</code></pre> |  | ||||||
| <p>Expired sessions are periodically cleaned by the server, generally an | <p>Expired sessions are periodically cleaned by the server, generally an | ||||||
|   hourly interval.</p> |   hourly interval.</p> | ||||||
| <h2>See also</h2> | <h2>See also</h2> | ||||||
|   | |||||||
| @@ -3,8 +3,8 @@ | |||||||
| <aside | <aside | ||||||
| class="admonition tip"> | class="admonition tip"> | ||||||
|   <p>While Trilium supports HTTPS on its own, it's generally a good idea to |   <p>While Trilium supports HTTPS on its own, it's generally a good idea to | ||||||
|     use a <a href="#root/_help_vcjrb3VVYPZI">reverse proxy</a> instead with TLS |     use a <a href="#root/_help_vcjrb3VVYPZI">reverse proxy</a> instead with TLS termination. | ||||||
|     termination. You can follow a <a href="https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-20-04">guide like this</a> for |     You can follow a <a href="https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-20-04">guide like this</a> for | ||||||
|     such setups.</p> |     such setups.</p> | ||||||
|   </aside> |   </aside> | ||||||
|   <h2>Obtaining a TLS Certificate</h2> |   <h2>Obtaining a TLS Certificate</h2> | ||||||
| @@ -20,8 +20,8 @@ class="admonition tip"> | |||||||
|   </ul> |   </ul> | ||||||
|   <h2>Modifying <code>config.ini</code></h2> |   <h2>Modifying <code>config.ini</code></h2> | ||||||
|   <p>Once you have your certificate, modify the <code>config.ini</code> file |   <p>Once you have your certificate, modify the <code>config.ini</code> file | ||||||
|     in the <a href="#root/_help_tAassRL4RSQL">data directory</a> to configure |     in the <a href="#root/_help_tAassRL4RSQL">data directory</a> to configure Trilium | ||||||
|     Trilium to use it:</p><pre><code class="language-text-x-trilium-auto">[Network] |     to use it:</p><pre><code class="language-text-x-trilium-auto">[Network] | ||||||
| port=8080 | port=8080 | ||||||
| # Set to true for TLS/SSL/HTTPS (secure), false for HTTP (insecure). | # Set to true for TLS/SSL/HTTPS (secure), false for HTTP (insecure). | ||||||
| https=true | https=true | ||||||
|   | |||||||
							
								
								
									
										37
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/Third-party cloud hosting.html
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/Third-party cloud hosting.html
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,37 @@ | |||||||
|  | <p>As an alternative to <a href="#root/pOsGYCXsbNQG/Otzi9La2YAUX/WOcw2SLH6tbX/_help_Dgg7bR3b6K9j">hosting your own Trilium instance</a>, | ||||||
|  |   there are two services out there that provide out of the box support for | ||||||
|  |   Trilium.</p> | ||||||
|  | <aside class="admonition important"> | ||||||
|  |   <p><strong>Disclaimer</strong>: The Trilium Notes project and maintainers | ||||||
|  |     are not directly affiliated with either of the projects.</p> | ||||||
|  |   <p>PikaPods have gracefully offered us free credits for testing purposes.</p> | ||||||
|  | </aside> | ||||||
|  | <h2>Cloud instance providers</h2> | ||||||
|  | <h3>PikaPods</h3> | ||||||
|  | <ol> | ||||||
|  |   <li>Go to <a href="https://www.pikapods.com">pikapods.com</a>  and sign | ||||||
|  |     up.</li> | ||||||
|  |   <li>In the “Available Apps” section, look for "TriliumNext | ||||||
|  |     <br> and select “Run your own”.</li> | ||||||
|  |   <li>Follow the on-screen instructions to set up your own cloud hosted instance.</li> | ||||||
|  | </ol> | ||||||
|  | <p>PikaPods generally updates their Trilium instances to the latest version | ||||||
|  |   within a two-week interval after a new version is released.</p> | ||||||
|  | <h3>trilium.cc</h3> | ||||||
|  | <p><a href="https://trilium.cc/">Trilium.cc</a> is a cloud service dedicated | ||||||
|  |   to hosting a Trilium instance.</p> | ||||||
|  | <aside class="admonition warning"> | ||||||
|  |   <p>Trilium.cc usually runs several versions behind Trilium releases.</p> | ||||||
|  | </aside> | ||||||
|  | <h2>Matching your version with the cloud instance</h2> | ||||||
|  | <p>Please note that once you set up <a class="reference-link" href="#root/pOsGYCXsbNQG/Otzi9La2YAUX/_help_cbkrhQjrkKrh">Synchronization</a> between | ||||||
|  |   a cloud instance and <a href="#root/pOsGYCXsbNQG/Otzi9La2YAUX/_help_poXkQfguuA0U">desktop</a> clients, | ||||||
|  |   it's important that the version of the desktop application and the server | ||||||
|  |   match up.</p> | ||||||
|  | <p>When setting up a cloud instance, it's best to check the version of the | ||||||
|  |   server by accessing it via a web browser and going to the <em>About</em> section. | ||||||
|  |   It's best that both the desktop and the server have the same <em>App version</em>; | ||||||
|  |   however it's generally OK to update the desktop to a newer version than | ||||||
|  |   the server if it has the same <em>Sync version</em>.</p> | ||||||
|  | <p>If the <em>Sync version</em> between the server and the desktop application | ||||||
|  |   doesn't match, synchronization will not work.</p> | ||||||
| @@ -12,9 +12,9 @@ | |||||||
| <h2>Setting Up Synchronization</h2> | <h2>Setting Up Synchronization</h2> | ||||||
| <h3>Security Considerations</h3> | <h3>Security Considerations</h3> | ||||||
| <p>Setting up the server securely is critical and can be complex. It is crucial | <p>Setting up the server securely is critical and can be complex. It is crucial | ||||||
|   to use a valid <a href="#root/_help_l2VkvOwUNfZj">TLS certificate</a> (HTTPS) |   to use a valid <a href="#root/_help_l2VkvOwUNfZj">TLS certificate</a> (HTTPS) rather | ||||||
|   rather than an unencrypted HTTP connection to ensure security and avoid |   than an unencrypted HTTP connection to ensure security and avoid potential | ||||||
|   potential vulnerabilities.</p> |   vulnerabilities.</p> | ||||||
| <h3>Synchronizing a Desktop Instance with a Sync Server</h3> | <h3>Synchronizing a Desktop Instance with a Sync Server</h3> | ||||||
| <p>This method is used when you already have a desktop instance of Trilium | <p>This method is used when you already have a desktop instance of Trilium | ||||||
|   and want to set up a sync server on your web host.</p> |   and want to set up a sync server on your web host.</p> | ||||||
| @@ -26,7 +26,8 @@ | |||||||
|     instance address" to your sync server's address. Click Save.</li> |     instance address" to your sync server's address. Click Save.</li> | ||||||
| </ol> | </ol> | ||||||
| <p> | <p> | ||||||
|   <img src="Synchronization_sync-confi.png" alt="screenshot of the sync settings options modal"> |   <img src="Synchronization_sync-confi.png" | ||||||
|  |   alt="screenshot of the sync settings options modal"> | ||||||
| </p> | </p> | ||||||
| <ol> | <ol> | ||||||
|   <li><strong>Testing Sync</strong>: Click the "Test sync" button to verify |   <li><strong>Testing Sync</strong>: Click the "Test sync" button to verify | ||||||
| @@ -45,7 +46,8 @@ | |||||||
|     to set up sync with a sync server.</li> |     to set up sync with a sync server.</li> | ||||||
| </ol> | </ol> | ||||||
| <p> | <p> | ||||||
|   <img src="Synchronization_sync-init.png" alt="screenshot of the sync from server setup page"> |   <img src="Synchronization_sync-init.png" | ||||||
|  |   alt="screenshot of the sync from server setup page"> | ||||||
| </p> | </p> | ||||||
| <ol> | <ol> | ||||||
|   <li><strong>Server Details</strong>: Configure the Trilium server address |   <li><strong>Server Details</strong>: Configure the Trilium server address | ||||||
| @@ -54,7 +56,8 @@ | |||||||
|     you will see the following screen:</li> |     you will see the following screen:</li> | ||||||
| </ol> | </ol> | ||||||
| <p> | <p> | ||||||
|   <img src="Synchronization_sync-in-pr.png" alt="screenshot of the sync page"> |   <img src="Synchronization_sync-in-pr.png" | ||||||
|  |   alt="screenshot of the sync page"> | ||||||
| </p> | </p> | ||||||
| <p>Once synchronization is complete, you will be automatically redirected | <p>Once synchronization is complete, you will be automatically redirected | ||||||
|   to the Trilium application.</p> |   to the Trilium application.</p> | ||||||
|   | |||||||
| @@ -18,8 +18,8 @@ | |||||||
|   of Trilium and its database, you can restore the <a href="#root/_help_ODY7qQn5m2FT">backup</a> that |   of Trilium and its database, you can restore the <a href="#root/_help_ODY7qQn5m2FT">backup</a> that | ||||||
|   is created prior to migration.</p> |   is created prior to migration.</p> | ||||||
| <h2>Sync Compatibility</h2> | <h2>Sync Compatibility</h2> | ||||||
| <p>The <a href="#root/_help_cbkrhQjrkKrh">synchronization</a> protocol used | <p>The <a href="#root/_help_cbkrhQjrkKrh">synchronization</a> protocol used by Trilium | ||||||
|   by Trilium is versioned, requiring all members of the sync cluster to use |   is versioned, requiring all members of the sync cluster to use the same | ||||||
|   the same protocol version. Therefore, when upgrading to a new version, |   protocol version. Therefore, when upgrading to a new version, you may need | ||||||
|   you may need to upgrade all instances in the sync cluster. Changes to the |   to upgrade all instances in the sync cluster. Changes to the sync protocol | ||||||
|   sync protocol version are typically indicated on the release page.</p> |   version are typically indicated on the release page.</p> | ||||||
| @@ -17,8 +17,8 @@ | |||||||
| </ul> | </ul> | ||||||
| <p>Trilium will save these clippings as a new child note under a "clipper | <p>Trilium will save these clippings as a new child note under a "clipper | ||||||
|   inbox" note.</p> |   inbox" note.</p> | ||||||
| <p>By default, that's the <a href="#root/_help_l0tKav7yLHGF">day note</a> but | <p>By default, that's the <a href="#root/_help_l0tKav7yLHGF">day note</a> but you | ||||||
|   you can override that by setting the <a href="#root/_help_zEY4DaJG4YT5">label</a>  <code>clipperInbox</code>, |   can override that by setting the <a href="#root/_help_zEY4DaJG4YT5">label</a>  <code>clipperInbox</code>, | ||||||
|   on any other note.</p> |   on any other note.</p> | ||||||
| <p>If there's multiple clippings from the same page (and on the same day), | <p>If there's multiple clippings from the same page (and on the same day), | ||||||
|   then they will be added to the same note.</p> |   then they will be added to the same note.</p> | ||||||
|   | |||||||
							
								
								
									
										11
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types.html
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types.html
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -18,17 +18,16 @@ | |||||||
| <h2>Creating a new note of a different type via add link or new tab</h2> | <h2>Creating a new note of a different type via add link or new tab</h2> | ||||||
| <ul> | <ul> | ||||||
|   <li>When adding a <a href="#root/_help_QEAPj01N5f7w">link</a> in a <a class="reference-link" |   <li>When adding a <a href="#root/_help_QEAPj01N5f7w">link</a> in a <a class="reference-link" | ||||||
|     href="#root/_help_iPIMuisry3hd">Text</a> note, type the desired title |     href="#root/_help_iPIMuisry3hd">Text</a> note, type the desired title of | ||||||
|     of the new note and press Enter. Afterwards the type of the note will be |     the new note and press Enter. Afterwards the type of the note will be asked.</li> | ||||||
|     asked.</li> |  | ||||||
|   <li>Similarly, when creating a new tab, type the desired title and press Enter.</li> |   <li>Similarly, when creating a new tab, type the desired title and press Enter.</li> | ||||||
| </ul> | </ul> | ||||||
| <h2>Changing the type of a note</h2> | <h2>Changing the type of a note</h2> | ||||||
| <p>It is possible to change the type of a note after it has been created | <p>It is possible to change the type of a note after it has been created | ||||||
|   via the <em>Basic Properties</em> tab in the <a class="reference-link" |   via the <em>Basic Properties</em> tab in the <a class="reference-link" | ||||||
|   href="#root/_help_BlN9DFI679QC">Ribbon</a>. Note that it's generally a |   href="#root/_help_BlN9DFI679QC">Ribbon</a>. Note that it's generally a good idea | ||||||
|   good idea to change the note type only if the note is empty. Can also be |   to change the note type only if the note is empty. Can also be used to | ||||||
|   used to edit the <a href="#root/_help_4FahAwuGTAwC">source of a note</a>.</p> |   edit the <a href="#root/_help_4FahAwuGTAwC">source of a note</a>.</p> | ||||||
| <h2>Supported note types</h2> | <h2>Supported note types</h2> | ||||||
| <p>The following note types are supported by Trilium:</p> | <p>The following note types are supported by Trilium:</p> | ||||||
| <table> | <table> | ||||||
|   | |||||||
| @@ -54,8 +54,8 @@ | |||||||
|   to display notes all across the tree, with advanced querying functionality.</p> |   to display notes all across the tree, with advanced querying functionality.</p> | ||||||
| <p>To do so, simply start a <a class="reference-link" href="#root/_help_eIg8jdvaoNNd">Search</a> and | <p>To do so, simply start a <a class="reference-link" href="#root/_help_eIg8jdvaoNNd">Search</a> and | ||||||
|   go to the <em>Collection Properties</em> tab in the <a class="reference-link" |   go to the <em>Collection Properties</em> tab in the <a class="reference-link" | ||||||
|   href="#root/_help_BlN9DFI679QC">Ribbon</a> and select a desired type |   href="#root/_help_BlN9DFI679QC">Ribbon</a> and select a desired type of | ||||||
|   of collection. To keep the search-based collection, use a <a class="reference-link" |   collection. To keep the search-based collection, use a <a class="reference-link" | ||||||
|   href="#root/_help_m523cpzocqaD">Saved Search</a>.</p> |   href="#root/_help_m523cpzocqaD">Saved Search</a>.</p> | ||||||
| <aside class="admonition important"> | <aside class="admonition important"> | ||||||
|   <p>While in search, none of the collections will not display the child notes |   <p>While in search, none of the collections will not display the child notes | ||||||
| @@ -88,8 +88,8 @@ | |||||||
|   (the one that lists the children notes at the bottom of a note) to display |   (the one that lists the children notes at the bottom of a note) to display | ||||||
|   information.</p> |   information.</p> | ||||||
| <p>By default, new collections use predefined <a class="reference-link" | <p>By default, new collections use predefined <a class="reference-link" | ||||||
|   href="#root/_help_KC1HB96bqqHX">Templates</a> that are stored safely |   href="#root/_help_KC1HB96bqqHX">Templates</a> that are stored safely in | ||||||
|   in the <a class="reference-link" href="#root/_help_2mUhVmZK8RF3">Hidden Notes</a> to |   the <a class="reference-link" href="#root/_help_2mUhVmZK8RF3">Hidden Notes</a> to | ||||||
|   define some basic configuration such as the type of view, but also some  |   define some basic configuration such as the type of view, but also some  | ||||||
|   <a |   <a | ||||||
|   class="reference-link" href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a> to make editing easier.</p> |   class="reference-link" href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a> to make editing easier.</p> | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image"> | <figure class="image"> | ||||||
|   <img style="aspect-ratio:918/248;" src="Board View_image.png" width="918" |   <img style="aspect-ratio:918/248;" src="Board View_image.png" | ||||||
|   height="248"> |   width="918" height="248"> | ||||||
| </figure> | </figure> | ||||||
| <p>The Board view presents sub-notes in columns for a Kanban-like experience. | <p>The Board view presents sub-notes in columns for a Kanban-like experience. | ||||||
|   Each column represents a possible value for a status label, which can be |   Each column represents a possible value for a status label, which can be | ||||||
| @@ -11,8 +11,8 @@ | |||||||
|   then groups each note by the value of the status attribute.</p> |   then groups each note by the value of the status attribute.</p> | ||||||
| <p>Notes are displayed recursively, so even the child notes of the child | <p>Notes are displayed recursively, so even the child notes of the child | ||||||
|   notes will be displayed. However, unlike the <a class="reference-link" |   notes will be displayed. However, unlike the <a class="reference-link" | ||||||
|   href="#root/_help_2FvYrpmOXm29">Table View</a>, the notes are not displayed |   href="#root/_help_2FvYrpmOXm29">Table View</a>, the notes are not displayed in | ||||||
|   in a hierarchy.</p> |   a hierarchy.</p> | ||||||
| <h2>Interaction with columns</h2> | <h2>Interaction with columns</h2> | ||||||
| <ul> | <ul> | ||||||
|   <li>Create a new column by pressing <em>Add Column</em> near the last column. |   <li>Create a new column by pressing <em>Add Column</em> near the last column. | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image image-style-align-center"> | <figure class="image image-style-align-center"> | ||||||
|   <img style="aspect-ratio:767/606;" src="4_Calendar View_image.png" width="767" |   <img style="aspect-ratio:767/606;" src="4_Calendar View_image.png" | ||||||
|   height="606"> |   width="767" height="606"> | ||||||
| </figure> | </figure> | ||||||
| <p>The Calendar view will display each child note in a calendar that has | <p>The Calendar view will display each child note in a calendar that has | ||||||
|   a start date and optionally an end date, as an event.</p> |   a start date and optionally an end date, as an event.</p> | ||||||
| @@ -283,7 +283,8 @@ | |||||||
|     not having a <code>dateNote</code> attribute. Children of the child notes |     not having a <code>dateNote</code> attribute. Children of the child notes | ||||||
|     will not be displayed.</li> |     will not be displayed.</li> | ||||||
| </ul> | </ul> | ||||||
| <img src="8_Calendar View_image.png" width="1217" height="724"> | <img src="8_Calendar View_image.png" | ||||||
|  | width="1217" height="724"> | ||||||
|  |  | ||||||
| <h3>Using a different attribute as event title</h3> | <h3>Using a different attribute as event title</h3> | ||||||
| <p>By default, events are displayed on the calendar by their note title. | <p>By default, events are displayed on the calendar by their note title. | ||||||
| @@ -308,8 +309,8 @@ | |||||||
|       <td> |       <td> | ||||||
|         <p> </p> |         <p> </p> | ||||||
|         <figure class="image image-style-align-center"> |         <figure class="image image-style-align-center"> | ||||||
|           <img style="aspect-ratio:445/124;" src="5_Calendar View_image.png" width="445" |           <img style="aspect-ratio:445/124;" src="5_Calendar View_image.png" | ||||||
|           height="124"> |           width="445" height="124"> | ||||||
|         </figure> |         </figure> | ||||||
|       </td> |       </td> | ||||||
|     </tr> |     </tr> | ||||||
| @@ -334,7 +335,8 @@ | |||||||
|       <td><pre><code class="language-text-x-trilium-auto">#startDate=2025-02-14 #endDate=2025-02-15 ~for=@John Smith ~for=@Jane Doe #calendar:title="for"</code></pre> |       <td><pre><code class="language-text-x-trilium-auto">#startDate=2025-02-14 #endDate=2025-02-15 ~for=@John Smith ~for=@Jane Doe #calendar:title="for"</code></pre> | ||||||
|       </td> |       </td> | ||||||
|       <td> |       <td> | ||||||
|         <img src="6_Calendar View_image.png" width="294" height="151"> |         <img src="6_Calendar View_image.png" | ||||||
|  |         width="294" height="151"> | ||||||
|       </td> |       </td> | ||||||
|     </tr> |     </tr> | ||||||
|   </tbody> |   </tbody> | ||||||
| @@ -357,8 +359,8 @@ | |||||||
|       </td> |       </td> | ||||||
|       <td> |       <td> | ||||||
|         <figure class="image image-style-align-center"> |         <figure class="image image-style-align-center"> | ||||||
|           <img style="aspect-ratio:296/150;" src="1_Calendar View_image.png" width="296" |           <img style="aspect-ratio:296/150;" src="1_Calendar View_image.png" | ||||||
|           height="150"> |           width="296" height="150"> | ||||||
|         </figure> |         </figure> | ||||||
|       </td> |       </td> | ||||||
|     </tr> |     </tr> | ||||||
|   | |||||||
| @@ -5,8 +5,8 @@ | |||||||
|       href="#root/_help_0ESUbbAxVnoK">Note List</a>. </p> |       href="#root/_help_0ESUbbAxVnoK">Note List</a>. </p> | ||||||
| </aside> | </aside> | ||||||
| <figure class="image image-style-align-center"> | <figure class="image image-style-align-center"> | ||||||
|   <img style="aspect-ratio:892/675;" src="9_Geo Map View_image.png" width="892" |   <img style="aspect-ratio:892/675;" src="9_Geo Map View_image.png" | ||||||
|   height="675"> |   width="892" height="675"> | ||||||
| </figure> | </figure> | ||||||
| <p>This note type displays the children notes on a geographical map, based | <p>This note type displays the children notes on a geographical map, based | ||||||
|   on an attribute. It is also possible to add new notes at a specific location |   on an attribute. It is also possible to add new notes at a specific location | ||||||
| @@ -25,8 +25,8 @@ | |||||||
|       <td>1</td> |       <td>1</td> | ||||||
|       <td> |       <td> | ||||||
|         <figure class="image"> |         <figure class="image"> | ||||||
|           <img style="aspect-ratio:483/413;" src="15_Geo Map View_image.png" width="483" |           <img style="aspect-ratio:483/413;" src="15_Geo Map View_image.png" | ||||||
|           height="413"> |           width="483" height="413"> | ||||||
|         </figure> |         </figure> | ||||||
|       </td> |       </td> | ||||||
|       <td>Right click on any note on the note tree and select <em>Insert child note</em> → <em>Geo Map (beta)</em>.</td> |       <td>Right click on any note on the note tree and select <em>Insert child note</em> → <em>Geo Map (beta)</em>.</td> | ||||||
| @@ -35,8 +35,8 @@ | |||||||
|       <td>2</td> |       <td>2</td> | ||||||
|       <td> |       <td> | ||||||
|         <figure class="image image-style-align-center image_resized" style="width:53.44%;"> |         <figure class="image image-style-align-center image_resized" style="width:53.44%;"> | ||||||
|           <img style="aspect-ratio:1720/1396;" src="8_Geo Map View_image.png" width="1720" |           <img style="aspect-ratio:1720/1396;" src="8_Geo Map View_image.png" | ||||||
|           height="1396"> |           width="1720" height="1396"> | ||||||
|         </figure> |         </figure> | ||||||
|       </td> |       </td> | ||||||
|       <td>By default the map will be empty and will show the entire world.</td> |       <td>By default the map will be empty and will show the entire world.</td> | ||||||
| @@ -136,8 +136,8 @@ | |||||||
| <h2>How the location of the markers is stored</h2> | <h2>How the location of the markers is stored</h2> | ||||||
| <p>The location of a marker is stored in the <code>#geolocation</code> attribute | <p>The location of a marker is stored in the <code>#geolocation</code> attribute | ||||||
|   of the child notes:</p> |   of the child notes:</p> | ||||||
| <img src="18_Geo Map View_image.png" width="1288" | <img src="18_Geo Map View_image.png" | ||||||
| height="278"> | width="1288" height="278"> | ||||||
| <p>This value can be added manually if needed. The value of the attribute | <p>This value can be added manually if needed. The value of the attribute | ||||||
|   is made up of the latitude and longitude separated by a comma.</p> |   is made up of the latitude and longitude separated by a comma.</p> | ||||||
| <h2>Repositioning markers</h2> | <h2>Repositioning markers</h2> | ||||||
| @@ -191,8 +191,8 @@ height="278"> | |||||||
| </ol> | </ol> | ||||||
| <h2>Icon and color of the markers</h2> | <h2>Icon and color of the markers</h2> | ||||||
| <figure class="image image-style-align-center"> | <figure class="image image-style-align-center"> | ||||||
|   <img style="aspect-ratio:523/295;" src="Geo Map View_image.jpg" alt="image" |   <img style="aspect-ratio:523/295;" src="Geo Map View_image.jpg" | ||||||
|   width="523" height="295"> |   alt="image" width="523" height="295"> | ||||||
| </figure> | </figure> | ||||||
| <p>The markers will have the same icon as the note.</p> | <p>The markers will have the same icon as the note.</p> | ||||||
| <p>It's possible to add a custom color to a marker by assigning them a <code>#color</code> attribute | <p>It's possible to add a custom color to a marker by assigning them a <code>#color</code> attribute | ||||||
| @@ -216,8 +216,8 @@ height="278"> | |||||||
|       <td>1</td> |       <td>1</td> | ||||||
|       <td> |       <td> | ||||||
|         <figure class="image image-style-align-center image_resized" style="width:56.84%;"> |         <figure class="image image-style-align-center image_resized" style="width:56.84%;"> | ||||||
|           <img style="aspect-ratio:732/918;" src="12_Geo Map View_image.png" width="732" |           <img style="aspect-ratio:732/918;" src="12_Geo Map View_image.png" | ||||||
|           height="918"> |           width="732" height="918"> | ||||||
|         </figure> |         </figure> | ||||||
|       </td> |       </td> | ||||||
|       <td>Go to Google Maps on the web and look for a desired location, right click |       <td>Go to Google Maps on the web and look for a desired location, right click | ||||||
| @@ -233,8 +233,8 @@ height="278"> | |||||||
|       <td>2</td> |       <td>2</td> | ||||||
|       <td> |       <td> | ||||||
|         <figure class="image image-style-align-center image_resized" style="width:100%;"> |         <figure class="image image-style-align-center image_resized" style="width:100%;"> | ||||||
|           <img style="aspect-ratio:518/84;" src="4_Geo Map View_image.png" width="518" |           <img style="aspect-ratio:518/84;" src="4_Geo Map View_image.png" | ||||||
|           height="84"> |           width="518" height="84"> | ||||||
|         </figure> |         </figure> | ||||||
|       </td> |       </td> | ||||||
|       <td>In Trilium, create a child note under the map.</td> |       <td>In Trilium, create a child note under the map.</td> | ||||||
| @@ -243,8 +243,8 @@ height="278"> | |||||||
|       <td>3</td> |       <td>3</td> | ||||||
|       <td> |       <td> | ||||||
|         <figure class="image image-style-align-center image_resized" style="width:100%;"> |         <figure class="image image-style-align-center image_resized" style="width:100%;"> | ||||||
|           <img style="aspect-ratio:1074/276;" src="11_Geo Map View_image.png" width="1074" |           <img style="aspect-ratio:1074/276;" src="11_Geo Map View_image.png" | ||||||
|           height="276"> |           width="1074" height="276"> | ||||||
|         </figure> |         </figure> | ||||||
|       </td> |       </td> | ||||||
|       <td>And then go to Owned Attributes and type <code>#geolocation="</code>, then |       <td>And then go to Owned Attributes and type <code>#geolocation="</code>, then | ||||||
| @@ -313,8 +313,8 @@ height="278"> | |||||||
|       <td>1</td> |       <td>1</td> | ||||||
|       <td> |       <td> | ||||||
|         <figure class="image image-style-align-center"> |         <figure class="image image-style-align-center"> | ||||||
|           <img style="aspect-ratio:226/74;" src="3_Geo Map View_image.png" width="226" |           <img style="aspect-ratio:226/74;" src="3_Geo Map View_image.png" | ||||||
|           height="74"> |           width="226" height="74"> | ||||||
|         </figure> |         </figure> | ||||||
|       </td> |       </td> | ||||||
|       <td>To add a track, simply drag & drop a .gpx file inside the geo map |       <td>To add a track, simply drag & drop a .gpx file inside the geo map | ||||||
| @@ -324,8 +324,8 @@ height="278"> | |||||||
|       <td>2</td> |       <td>2</td> | ||||||
|       <td> |       <td> | ||||||
|         <figure class="image image-style-align-center"> |         <figure class="image image-style-align-center"> | ||||||
|           <img style="aspect-ratio:322/222;" src="14_Geo Map View_image.png" width="322" |           <img style="aspect-ratio:322/222;" src="14_Geo Map View_image.png" | ||||||
|           height="222"> |           width="322" height="222"> | ||||||
|         </figure> |         </figure> | ||||||
|       </td> |       </td> | ||||||
|       <td>In order for the file to be recognized as a GPS track, it needs to show |       <td>In order for the file to be recognized as a GPS track, it needs to show | ||||||
| @@ -335,8 +335,8 @@ height="278"> | |||||||
|       <td>3</td> |       <td>3</td> | ||||||
|       <td> |       <td> | ||||||
|         <figure class="image image-style-align-center"> |         <figure class="image image-style-align-center"> | ||||||
|           <img style="aspect-ratio:620/530;" src="6_Geo Map View_image.png" width="620" |           <img style="aspect-ratio:620/530;" src="6_Geo Map View_image.png" | ||||||
|           height="530"> |           width="620" height="530"> | ||||||
|         </figure> |         </figure> | ||||||
|       </td> |       </td> | ||||||
|       <td>When going back to the map, the track should now be visible.       |       <td>When going back to the map, the track should now be visible.       | ||||||
| @@ -400,8 +400,8 @@ height="278"> | |||||||
|   of the scale of the map.</p> |   of the scale of the map.</p> | ||||||
| <h2>Troubleshooting</h2> | <h2>Troubleshooting</h2> | ||||||
| <figure class="image image-style-align-right image_resized" style="width:34.06%;"> | <figure class="image image-style-align-right image_resized" style="width:34.06%;"> | ||||||
|   <img style="aspect-ratio:678/499;" src="13_Geo Map View_image.png" width="678" |   <img style="aspect-ratio:678/499;" src="13_Geo Map View_image.png" | ||||||
|   height="499"> |   width="678" height="499"> | ||||||
| </figure> | </figure> | ||||||
|  |  | ||||||
| <h3>Grid-like artifacts on the map</h3> | <h3>Grid-like artifacts on the map</h3> | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image"> | <figure class="image"> | ||||||
|   <img style="aspect-ratio:990/590;" src="Grid View_image.png" width="990" |   <img style="aspect-ratio:990/590;" src="Grid View_image.png" | ||||||
|   height="590"> |   width="990" height="590"> | ||||||
| </figure> | </figure> | ||||||
| <p>This view presents the child notes in a grid format, allowing for a more | <p>This view presents the child notes in a grid format, allowing for a more | ||||||
|   visual navigation experience.</p> |   visual navigation experience.</p> | ||||||
| @@ -24,7 +24,7 @@ | |||||||
|     displayed instead.</li> |     displayed instead.</li> | ||||||
| </ul> | </ul> | ||||||
| <p>The grid view is also used by default in the <a class="reference-link" | <p>The grid view is also used by default in the <a class="reference-link" | ||||||
|   href="#root/_help_0ESUbbAxVnoK">Note List</a> of every note, making |   href="#root/_help_0ESUbbAxVnoK">Note List</a> of every note, making it easy | ||||||
|   it easy to navigate to children notes.</p> |   to navigate to children notes.</p> | ||||||
| <h2>Configuration</h2> | <h2>Configuration</h2> | ||||||
| <p>Unlike most other view types, the grid view is not actually configurable.</p> | <p>Unlike most other view types, the grid view is not actually configurable.</p> | ||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image"> | <figure class="image"> | ||||||
|   <img style="aspect-ratio:1387/758;" src="List View_image.png" width="1387" |   <img style="aspect-ratio:1387/758;" src="List View_image.png" | ||||||
|   height="758"> |   width="1387" height="758"> | ||||||
| </figure> | </figure> | ||||||
| <p>List view is similar to <a class="reference-link" href="#root/_help_8QqnMzx393bx">Grid View</a>, | <p>List view is similar to <a class="reference-link" href="#root/_help_8QqnMzx393bx">Grid View</a>, | ||||||
|   but in the list view mode, each note is displayed in a single row with |   but in the list view mode, each note is displayed in a single row with | ||||||
|   | |||||||
| @@ -86,8 +86,8 @@ | |||||||
|     looking for the <em>Collection Properties</em> tab.</li> |     looking for the <em>Collection Properties</em> tab.</li> | ||||||
|   <li>It's currently not possible to create custom themes, although it is planned.</li> |   <li>It's currently not possible to create custom themes, although it is planned.</li> | ||||||
|   <li>Note that it is note possible to alter the CSS via <a class="reference-link" |   <li>Note that it is note possible to alter the CSS via <a class="reference-link" | ||||||
|     href="#root/_help_AlhDUqhENtH7">Custom app-wide CSS</a> because the |     href="#root/_help_AlhDUqhENtH7">Custom app-wide CSS</a> because the slides | ||||||
|     slides are rendered isolated (in a shadow DOM).</li> |     are rendered isolated (in a shadow DOM).</li> | ||||||
| </ul> | </ul> | ||||||
| <p>At slide level:</p> | <p>At slide level:</p> | ||||||
| <ul> | <ul> | ||||||
| @@ -105,29 +105,29 @@ | |||||||
|     and background colors) and font size. Code blocks and tables also work.</li> |     and background colors) and font size. Code blocks and tables also work.</li> | ||||||
|   <li>Try using more than just text notes, the presentation uses the same mechanism |   <li>Try using more than just text notes, the presentation uses the same mechanism | ||||||
|     as <a href="#root/_help_R9pX4DGra2Vt">shared notes</a> and <a class="reference-link" |     as <a href="#root/_help_R9pX4DGra2Vt">shared notes</a> and <a class="reference-link" | ||||||
|     href="#root/_help_0ESUbbAxVnoK">Note List</a> so it should be able |     href="#root/_help_0ESUbbAxVnoK">Note List</a> so it should be able to display  | ||||||
|     to display <a class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>,  |  | ||||||
|     <a |     <a | ||||||
|     class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a> and <a class="reference-link" href="#root/_help_gBbsAeiuUxI5">Mind Map</a> in |     class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>, <a class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a> and  | ||||||
|       full-screen (without the interactivity). |       <a | ||||||
|       <ul> |       class="reference-link" href="#root/_help_gBbsAeiuUxI5">Mind Map</a> in full-screen (without the interactivity). | ||||||
|         <li> |         <ul> | ||||||
|           <p>Consider using a transparent background for <a class="reference-link" |           <li> | ||||||
|             href="#root/_help_grjYqerjn243">Canvas</a>, if the slides have a custom |             <p>Consider using a transparent background for <a class="reference-link" | ||||||
|             background (go to the hamburger menu in the Canvas, press the button select |               href="#root/_help_grjYqerjn243">Canvas</a>, if the slides have a custom background | ||||||
|             a custom color and write <code>transparent</code>).</p> |               (go to the hamburger menu in the Canvas, press the button select a custom | ||||||
|         </li> |               color and write <code>transparent</code>).</p> | ||||||
|         <li> |           </li> | ||||||
|           <p>For <a class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>, |           <li> | ||||||
|             some of them have a predefined background which can be changed via the |             <p>For <a class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>, | ||||||
|             frontmatter. For example, for XY-charts:</p><pre><code class="language-text-x-trilium-auto">--- |               some of them have a predefined background which can be changed via the | ||||||
|  |               frontmatter. For example, for XY-charts:</p><pre><code class="language-text-x-trilium-auto">--- | ||||||
| config: | config: | ||||||
|     themeVariables: |     themeVariables: | ||||||
|         xyChart: |         xyChart: | ||||||
|             backgroundColor: transparent |             backgroundColor: transparent | ||||||
| ---</code></pre> | ---</code></pre> | ||||||
|         </li> |           </li> | ||||||
|       </ul> |         </ul> | ||||||
|   </li> |   </li> | ||||||
| </ul> | </ul> | ||||||
| <h2>Under the hood</h2> | <h2>Under the hood</h2> | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image"> | <figure class="image"> | ||||||
|   <img style="aspect-ratio:1050/259;" src="Table View_image.png" width="1050" |   <img style="aspect-ratio:1050/259;" src="Table View_image.png" | ||||||
|   height="259"> |   width="1050" height="259"> | ||||||
| </figure> | </figure> | ||||||
| <p>The table view displays information in a grid, where the rows are individual | <p>The table view displays information in a grid, where the rows are individual | ||||||
|   notes and the columns are <a class="reference-link" href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>. |   notes and the columns are <a class="reference-link" href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a>. | ||||||
| @@ -30,8 +30,8 @@ | |||||||
|       <li>This simply counts the note and is affected by sorting.</li> |       <li>This simply counts the note and is affected by sorting.</li> | ||||||
|     </ul> |     </ul> | ||||||
|   </li> |   </li> | ||||||
|   <li><a class="reference-link" href="#root/_help_m1lbrzyKDaRB">Note ID</a>, |   <li><a class="reference-link" href="#root/_help_m1lbrzyKDaRB">Note ID</a>, representing | ||||||
|     representing the unique ID used internally by Trilium</li> |     the unique ID used internally by Trilium</li> | ||||||
|   <li>The title of the note.</li> |   <li>The title of the note.</li> | ||||||
| </ul> | </ul> | ||||||
| <h2>Interaction</h2> | <h2>Interaction</h2> | ||||||
| @@ -113,8 +113,8 @@ | |||||||
| <h2>Working with the data</h2> | <h2>Working with the data</h2> | ||||||
| <h3>Sorting by column</h3> | <h3>Sorting by column</h3> | ||||||
| <p>By default, the order of the notes matches the order in the <a class="reference-link" | <p>By default, the order of the notes matches the order in the <a class="reference-link" | ||||||
|   href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>. However, it is possible |   href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>. However, it is possible to sort | ||||||
|   to sort the data by the values of a column:</p> |   the data by the values of a column:</p> | ||||||
| <ul> | <ul> | ||||||
|   <li>To do so, simply click on a column.</li> |   <li>To do so, simply click on a column.</li> | ||||||
|   <li>To switch between ascending or descending sort, simply click again on |   <li>To switch between ascending or descending sort, simply click again on | ||||||
| @@ -170,8 +170,8 @@ | |||||||
| <h2>Limitations</h2> | <h2>Limitations</h2> | ||||||
| <ul> | <ul> | ||||||
|   <li>Multi-value labels and relations are not supported. If a <a class="reference-link" |   <li>Multi-value labels and relations are not supported. If a <a class="reference-link" | ||||||
|     href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a> is defined |     href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a> is defined with | ||||||
|     with a <em>Multi value</em> specificity, they will be ignored.</li> |     a <em>Multi value</em> specificity, they will be ignored.</li> | ||||||
|   <li>There is no support to filter the rows by a certain criteria. Consider |   <li>There is no support to filter the rows by a certain criteria. Consider | ||||||
|     using the table view in search for that use case.</li> |     using the table view in search for that use case.</li> | ||||||
| </ul> | </ul> | ||||||
| @@ -187,7 +187,6 @@ | |||||||
|   <li>It's not possible to add a new row.</li> |   <li>It's not possible to add a new row.</li> | ||||||
| </ul> | </ul> | ||||||
| <p>Columns are supported, by being defined as <a class="reference-link" | <p>Columns are supported, by being defined as <a class="reference-link" | ||||||
|   href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a> to the  |   href="#root/_help_OFXdgB2nNk1F">Promoted Attributes</a> to the <a class="reference-link" | ||||||
|   <a |   href="#root/_help_m523cpzocqaD">Saved Search</a> note.</p> | ||||||
|   class="reference-link" href="#root/_help_m523cpzocqaD">Saved Search</a> note.</p> |  | ||||||
| <p>Editing is also supported.</p> | <p>Editing is also supported.</p> | ||||||
							
								
								
									
										33
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/File.html
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/File.html
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -11,7 +11,8 @@ | |||||||
| <h2>Supported file types</h2> | <h2>Supported file types</h2> | ||||||
| <h3>PDFs</h3> | <h3>PDFs</h3> | ||||||
| <figure class="image image-style-align-center image_resized" style="width:50%;"> | <figure class="image image-style-align-center image_resized" style="width:50%;"> | ||||||
|   <img style="aspect-ratio:933/666;" src="File_image.png" width="933" height="666"> |   <img style="aspect-ratio:933/666;" src="File_image.png" | ||||||
|  |   width="933" height="666"> | ||||||
| </figure> | </figure> | ||||||
| <p>PDFs can be browsed directly from Trilium.</p> | <p>PDFs can be browsed directly from Trilium.</p> | ||||||
| <p>Interaction:</p> | <p>Interaction:</p> | ||||||
| @@ -31,8 +32,8 @@ | |||||||
| </ul> | </ul> | ||||||
| <h3>Images</h3> | <h3>Images</h3> | ||||||
| <figure class="image image-style-align-center image_resized" style="width:50%;"> | <figure class="image image-style-align-center image_resized" style="width:50%;"> | ||||||
|   <img style="aspect-ratio:879/766;" src="4_File_image.png" width="879" |   <img style="aspect-ratio:879/766;" src="4_File_image.png" | ||||||
|   height="766"> |   width="879" height="766"> | ||||||
| </figure> | </figure> | ||||||
| <p>Interaction:</p> | <p>Interaction:</p> | ||||||
| <ul> | <ul> | ||||||
| @@ -43,8 +44,8 @@ | |||||||
| </ul> | </ul> | ||||||
| <h3>Videos</h3> | <h3>Videos</h3> | ||||||
| <figure class="image image-style-align-center image_resized" style="width:50%;"> | <figure class="image image-style-align-center image_resized" style="width:50%;"> | ||||||
|   <img style="aspect-ratio:854/700;" src="1_File_image.png" width="854" |   <img style="aspect-ratio:854/700;" src="1_File_image.png" | ||||||
|   height="700"> |   width="854" height="700"> | ||||||
| </figure> | </figure> | ||||||
| <p>Video files can be added in as well. The file is streamed directly, so | <p>Video files can be added in as well. The file is streamed directly, so | ||||||
|   when accessing the note from a server it doesn't have to download the entire |   when accessing the note from a server it doesn't have to download the entire | ||||||
| @@ -54,14 +55,14 @@ | |||||||
|     to be used with very large files. Uploading large videos will cause the  |     to be used with very large files. Uploading large videos will cause the  | ||||||
|     <a |     <a | ||||||
|     class="reference-link" href="#root/_help_wX4HbRucYSDD">Database</a> to balloon as well as the any <a class="reference-link" |     class="reference-link" href="#root/_help_wX4HbRucYSDD">Database</a> to balloon as well as the any <a class="reference-link" | ||||||
|       href="#root/_help_ODY7qQn5m2FT">Backup</a> of it. In addition to that, |       href="#root/_help_ODY7qQn5m2FT">Backup</a> of it. In addition to that, there | ||||||
|       there might be slowdowns when first uploading the files. Otherwise, a large |       might be slowdowns when first uploading the files. Otherwise, a large database | ||||||
|       database should not impact the general performance of Trilium significantly.</p> |       should not impact the general performance of Trilium significantly.</p> | ||||||
| </aside> | </aside> | ||||||
| <h3>Audio</h3> | <h3>Audio</h3> | ||||||
| <figure class="image image_resized image-style-align-center" style="width:50%;"> | <figure class="image image_resized image-style-align-center" style="width:50%;"> | ||||||
|   <img style="aspect-ratio:850/243;" src="3_File_image.png" width="850" |   <img style="aspect-ratio:850/243;" src="3_File_image.png" | ||||||
|   height="243"> |   width="850" height="243"> | ||||||
| </figure> | </figure> | ||||||
| <p>Adding a supported audio file will reveal a basic audio player that can | <p>Adding a supported audio file will reveal a basic audio player that can | ||||||
|   be used to play it.</p> |   be used to play it.</p> | ||||||
| @@ -76,8 +77,8 @@ | |||||||
| </ul> | </ul> | ||||||
| <h3>Text files</h3> | <h3>Text files</h3> | ||||||
| <figure class="image image-style-align-center image_resized" style="width:50%;"> | <figure class="image image-style-align-center image_resized" style="width:50%;"> | ||||||
|   <img style="aspect-ratio:926/347;" src="2_File_image.png" width="926" |   <img style="aspect-ratio:926/347;" src="2_File_image.png" | ||||||
|   height="347"> |   width="926" height="347"> | ||||||
| </figure> | </figure> | ||||||
| <p>Files that are identified as containing text will show a preview of their | <p>Files that are identified as containing text will show a preview of their | ||||||
|   content. One common use case for this type of file is to embed text files |   content. One common use case for this type of file is to embed text files | ||||||
| @@ -95,8 +96,8 @@ | |||||||
|   application.</p> |   application.</p> | ||||||
| <h3>Unknown file types</h3> | <h3>Unknown file types</h3> | ||||||
| <figure class="image image_resized image-style-align-center" style="width:50%;"> | <figure class="image image_resized image-style-align-center" style="width:50%;"> | ||||||
|   <img style="aspect-ratio:532/240;" src="5_File_image.png" width="532" |   <img style="aspect-ratio:532/240;" src="5_File_image.png" | ||||||
|   height="240"> |   width="532" height="240"> | ||||||
| </figure> | </figure> | ||||||
| <p>If the file could not be identified as any of the supported file types | <p>If the file could not be identified as any of the supported file types | ||||||
|   from above, it will be treated as an unknown file. In this case, all the |   from above, it will be treated as an unknown file. In this case, all the | ||||||
| @@ -114,9 +115,7 @@ | |||||||
|     </ul> |     </ul> | ||||||
|   </li> |   </li> | ||||||
|   <li>It is <strong>not</strong> possible to change the note type of a <em>File</em> note.</li> |   <li>It is <strong>not</strong> possible to change the note type of a <em>File</em> note.</li> | ||||||
|   <li>Convert into an <a href="#root/_help_0vhv7lsOLy82">attachment</a> from the |   <li>Convert into an <a href="#root/_help_0vhv7lsOLy82">attachment</a> from the <a href="#root/_help_8YBEPzcpUgxw">note menu</a>.</li> | ||||||
|     <a |  | ||||||
|     href="#root/_help_8YBEPzcpUgxw">note menu</a>.</li> |  | ||||||
| </ul> | </ul> | ||||||
| <h2>Relation with other notes</h2> | <h2>Relation with other notes</h2> | ||||||
| <ul> | <ul> | ||||||
|   | |||||||
							
								
								
									
										8
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Mind Map.html
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Mind Map.html
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image image-style-align-center"> | <figure class="image image-style-align-center"> | ||||||
|   <img style="aspect-ratio:892/675;" src="Mind Map_image.png" width="892" |   <img style="aspect-ratio:892/675;" src="Mind Map_image.png" | ||||||
|   height="675"> |   width="892" height="675"> | ||||||
| </figure> | </figure> | ||||||
| <p>The mindmap allows for easy jotting down of ideas and storing them in | <p>The mindmap allows for easy jotting down of ideas and storing them in | ||||||
|   a hierarchical fashion.</p> |   a hierarchical fashion.</p> | ||||||
| @@ -31,8 +31,8 @@ | |||||||
|     relative to the root node (to the left, to the right, or to both sides).</li> |     relative to the root node (to the left, to the right, or to both sides).</li> | ||||||
|   <li>In the <a class="reference-link" href="#root/_help_XpOYSgsLkTJy">Floating buttons</a> area: |   <li>In the <a class="reference-link" href="#root/_help_XpOYSgsLkTJy">Floating buttons</a> area: | ||||||
|     <ul> |     <ul> | ||||||
|       <li>An <a href="#root/_help_0Ofbk1aSuVRu">image reference</a> can be copied, |       <li>An <a href="#root/_help_0Ofbk1aSuVRu">image reference</a> can be copied, to paste | ||||||
|         to paste the mind map in a text note.</li> |         the mind map in a text note.</li> | ||||||
|       <li>The diagram can be exported either as SVG (vectorial) or PNG (raster).</li> |       <li>The diagram can be exported either as SVG (vectorial) or PNG (raster).</li> | ||||||
|     </ul> |     </ul> | ||||||
|   </li> |   </li> | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Note Map.html
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Note Map.html
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image image-style-align-center image_resized" style="width:50%;"> | <figure class="image image-style-align-center image_resized" style="width:50%;"> | ||||||
|   <img style="aspect-ratio:856/763;" src="Note Map_image.png" width="856" |   <img style="aspect-ratio:856/763;" src="Note Map_image.png" | ||||||
|   height="763"> |   width="856" height="763"> | ||||||
| </figure> | </figure> | ||||||
| <p>A Note map is a note type which displays a standalone version of the feature | <p>A Note map is a note type which displays a standalone version of the feature | ||||||
|   of the same name: <a href="#root/_help_BCkXAVs63Ttv">Note Map (Link map, Tree map)</a>.</p> |   of the same name: <a href="#root/_help_BCkXAVs63Ttv">Note Map (Link map, Tree map)</a>.</p> | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Relation Map.html
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Relation Map.html
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -11,12 +11,12 @@ | |||||||
|     </ul> |     </ul> | ||||||
|   </li> |   </li> | ||||||
|   <li>An existing note can also be dragged from the <a class="reference-link" |   <li>An existing note can also be dragged from the <a class="reference-link" | ||||||
|     href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>. It will be placed at the |     href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>. It will be placed at the position | ||||||
|     position it's dragged on. |     it's dragged on. | ||||||
|     <ul> |     <ul> | ||||||
|       <li>Multiple notes can also be dragged via <a class="reference-link" |       <li>Multiple notes can also be dragged via <a class="reference-link" | ||||||
|         href="#root/_help_yTjUdsOi4CIE">Multiple selection</a>. The notes will |         href="#root/_help_yTjUdsOi4CIE">Multiple selection</a>. The notes will be positioned | ||||||
|         be positioned near the dragged position without overlapping.</li> |         near the dragged position without overlapping.</li> | ||||||
|       <li>The dragged note can be a sub-child of the map, or it can be at any arbitrary |       <li>The dragged note can be a sub-child of the map, or it can be at any arbitrary | ||||||
|         position.</li> |         position.</li> | ||||||
|     </ul> |     </ul> | ||||||
| @@ -42,7 +42,8 @@ | |||||||
| <h2>Development process demo</h2> | <h2>Development process demo</h2> | ||||||
| <p>This is a basic example how you can create simple diagram using relation | <p>This is a basic example how you can create simple diagram using relation | ||||||
|   maps:</p> |   maps:</p> | ||||||
| <img src="1_Relation Map_relation-map-.png" width="934" height="667"> | <img src="1_Relation Map_relation-map-.png" | ||||||
|  | width="934" height="667"> | ||||||
| <p>And this is how you can create it:</p> | <p>And this is how you can create it:</p> | ||||||
| <img src="1_Relation Map_relation-map-.gif" | <img src="1_Relation Map_relation-map-.gif" | ||||||
| width="812" height="585"> | width="812" height="585"> | ||||||
| @@ -58,8 +59,8 @@ width="812" height="585"> | |||||||
| <h2>Family demo</h2> | <h2>Family demo</h2> | ||||||
| <p>This is more complicated demo using some advanced concepts. Resulting | <p>This is more complicated demo using some advanced concepts. Resulting | ||||||
|   diagram is here:</p> |   diagram is here:</p> | ||||||
| <img src="Relation Map_relation-map-.png" width="941" | <img src="Relation Map_relation-map-.png" | ||||||
| height="758"> | width="941" height="758"> | ||||||
| <p>This is how you get to it:</p> | <p>This is how you get to it:</p> | ||||||
| <img src="Relation Map_relation-map-.gif" | <img src="Relation Map_relation-map-.gif" | ||||||
| width="812" height="585"> | width="812" height="585"> | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image"> | <figure class="image"> | ||||||
|   <img style="aspect-ratio:601/216;" src="Render Note_image.png" width="601" |   <img style="aspect-ratio:601/216;" src="Render Note_image.png" | ||||||
|   height="216"> |   width="601" height="216"> | ||||||
| </figure> | </figure> | ||||||
| <p>Render Note is used in <a class="reference-link" href="#root/_help_CdNpE2pqjmI6">Scripting</a>. | <p>Render Note is used in <a class="reference-link" href="#root/_help_CdNpE2pqjmI6">Scripting</a>. | ||||||
|   It works by displaying the HTML of a <a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a> note, |   It works by displaying the HTML of a <a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a> note, | ||||||
|   | |||||||
| @@ -10,6 +10,6 @@ style="width:50%;"> | |||||||
| <h2>Location</h2> | <h2>Location</h2> | ||||||
| <p>By default, saved searches are stored in the day note. However, you can | <p>By default, saved searches are stored in the day note. However, you can | ||||||
|   designate a different note to store saved searches by marking it with the <code>#searchHome</code> label. |   designate a different note to store saved searches by marking it with the <code>#searchHome</code> label. | ||||||
|   Additionally, for <a href="#root/_help_9sRHySam5fXb">workspaces</a>, you |   Additionally, for <a href="#root/_help_9sRHySam5fXb">workspaces</a>, you can use | ||||||
|   can use the <code>#workspaceSearchHome</code> label to specify a storage |   the <code>#workspaceSearchHome</code> label to specify a storage location | ||||||
|   location for saved searches within that workspace.</p> |   for saved searches within that workspace.</p> | ||||||
							
								
								
									
										10
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text.html
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text.html
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -7,8 +7,10 @@ | |||||||
|   <li>The <em>Floating toolbar</em> is hidden by default and only appears when |   <li>The <em>Floating toolbar</em> is hidden by default and only appears when | ||||||
|     needed. In this mode there are actually two different toolbars: |     needed. In this mode there are actually two different toolbars: | ||||||
|     <br> |     <br> | ||||||
|     <img src="1_Text_image.png" width="496" height="91"> |     <img src="1_Text_image.png" width="496" | ||||||
|     <img src="2_Text_image.png" width="812" height="114"> |     height="91"> | ||||||
|  |     <img src="2_Text_image.png" width="812" | ||||||
|  |     height="114"> | ||||||
|   </li> |   </li> | ||||||
|   <li>A toolbar that appears when text is selected. This provides text-level |   <li>A toolbar that appears when text is selected. This provides text-level | ||||||
|     formatting such as bold, italic, text colors, inline code, etc. |     formatting such as bold, italic, text colors, inline code, etc. | ||||||
| @@ -175,8 +177,8 @@ | |||||||
|   to use the mouse. For a reference of all the key combinations, see  |   to use the mouse. For a reference of all the key combinations, see  | ||||||
|   <a |   <a | ||||||
|   class="reference-link" href="#root/_help_A9Oc6YKKc65v">Keyboard Shortcuts</a>. In addition, see <a class="reference-link" |   class="reference-link" href="#root/_help_A9Oc6YKKc65v">Keyboard Shortcuts</a>. In addition, see <a class="reference-link" | ||||||
|     href="#root/_help_QrtTYPmdd1qq">Markdown-like formatting</a> as an |     href="#root/_help_QrtTYPmdd1qq">Markdown-like formatting</a> as an alternative | ||||||
|     alternative to the keyboard shortcuts.</p> |     to the keyboard shortcuts.</p> | ||||||
| <h2>Technical details</h2> | <h2>Technical details</h2> | ||||||
| <p>For the text editing functionality, Trilium uses a commercial product | <p>For the text editing functionality, Trilium uses a commercial product | ||||||
|   (with an open-source base) called <a class="reference-link" href="#root/_help_MI26XDLSAlCD">CKEditor</a>. |   (with an open-source base) called <a class="reference-link" href="#root/_help_MI26XDLSAlCD">CKEditor</a>. | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Bookmarks.html
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Bookmarks.html
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,5 +1,5 @@ | |||||||
| <p>Bookmarks allows creating <a href="#root/_help_QEAPj01N5f7w">links</a> to | <p>Bookmarks allows creating <a href="#root/_help_QEAPj01N5f7w">links</a> to a certain | ||||||
|   a certain part of a note, such as referencing a particular heading.</p> |   part of a note, such as referencing a particular heading.</p> | ||||||
| <p>Technically, bookmarks are HTML anchors.</p> | <p>Technically, bookmarks are HTML anchors.</p> | ||||||
| <p>This feature was introduced in TriliumNext 0.94.0.</p> | <p>This feature was introduced in TriliumNext 0.94.0.</p> | ||||||
| <h2>Interaction</h2> | <h2>Interaction</h2> | ||||||
| @@ -8,9 +8,11 @@ | |||||||
|     <ul> |     <ul> | ||||||
|       <li>Place the cursor at the desired position where to place the bookmark.</li> |       <li>Place the cursor at the desired position where to place the bookmark.</li> | ||||||
|       <li>Look for the |       <li>Look for the | ||||||
|         <img src="Bookmarks_plus.png" width="15" height="16">button in the <a class="reference-link" href="#root/_help_nRhnJkTT8cPs">Formatting toolbar</a>, |         <img src="Bookmarks_plus.png" | ||||||
|  |         width="15" height="16">button in the <a class="reference-link" href="#root/_help_nRhnJkTT8cPs">Formatting toolbar</a>, | ||||||
|         and then press the |         and then press the | ||||||
|         <img src="1_Bookmarks_plus.png" width="12" height="15">button.</li> |         <img src="1_Bookmarks_plus.png" | ||||||
|  |         width="12" height="15">button.</li> | ||||||
|     </ul> |     </ul> | ||||||
|   </li> |   </li> | ||||||
|   <li>To place a link to a bookmark: |   <li>To place a link to a bookmark: | ||||||
|   | |||||||
| @@ -8,8 +8,8 @@ | |||||||
|   as shell commands (<code>git</code> in this case).</p> |   as shell commands (<code>git</code> in this case).</p> | ||||||
| <p>To insert an inline code:</p> | <p>To insert an inline code:</p> | ||||||
| <ul> | <ul> | ||||||
|   <li>Via the <a href="#root/_help_nRhnJkTT8cPs">Formatting toolbar</a>, |   <li>Via the <a href="#root/_help_nRhnJkTT8cPs">Formatting toolbar</a>, look | ||||||
|     look for the |     for the | ||||||
|     <img src="3_Developer-specific formatt.png">button.</li> |     <img src="3_Developer-specific formatt.png">button.</li> | ||||||
|   <li>Type `code` where <code>code</code> is the desired text to be automatically |   <li>Type `code` where <code>code</code> is the desired text to be automatically | ||||||
|     formatted as inline code.</li> |     formatted as inline code.</li> | ||||||
| @@ -21,8 +21,7 @@ | |||||||
| </p> | </p> | ||||||
| <p>A code block with JavaScript syntax highlight enabled.</p> | <p>A code block with JavaScript syntax highlight enabled.</p> | ||||||
| <p>Note that these are not meant for very large portions of code. Use the | <p>Note that these are not meant for very large portions of code. Use the | ||||||
|   dedicated <a href="#root/_help_6f9hih2hXXZk">Code</a> note type |   dedicated <a href="#root/_help_6f9hih2hXXZk">Code</a> note type instead.</p> | ||||||
|   instead.</p> |  | ||||||
| <p>See the dedicated documentation for more information: <a href="#root/_help_QxEyIjRBizuC">Code blocks</a> | <p>See the dedicated documentation for more information: <a href="#root/_help_QxEyIjRBizuC">Code blocks</a> | ||||||
| </p> | </p> | ||||||
| <h3>Keyboard shortcuts</h3> | <h3>Keyboard shortcuts</h3> | ||||||
|   | |||||||
| @@ -55,8 +55,7 @@ | |||||||
| <p>Note that when editing a text note, syntax highlighting is automatically | <p>Note that when editing a text note, syntax highlighting is automatically | ||||||
|   disabled if the code block is too big (somewhere around 500 lines). This |   disabled if the code block is too big (somewhere around 500 lines). This | ||||||
|   value is currently not configurable. For <a class="reference-link" |   value is currently not configurable. For <a class="reference-link" | ||||||
|   href="#root/_help_CoFPLs3dRlXc">Read-Only Notes</a>, this limitation is |   href="#root/_help_CoFPLs3dRlXc">Read-Only Notes</a>, this limitation is not applied.</p> | ||||||
|   not applied.</p> |  | ||||||
| <p>In order to configure this new feature, a section has been added in Options | <p>In order to configure this new feature, a section has been added in Options | ||||||
|   → Appearance to control the syntax highlighting. There the color scheme |   → Appearance to control the syntax highlighting. There the color scheme | ||||||
|   can be chosen, from a builtin selection of themes from Highlight.js.</p> |   can be chosen, from a builtin selection of themes from Highlight.js.</p> | ||||||
| @@ -97,9 +96,9 @@ | |||||||
|   <a |   <a | ||||||
|   class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a> note type.</p> |   class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a> note type.</p> | ||||||
| <p>The supported languages can be adjusted by going to <a class="reference-link" | <p>The supported languages can be adjusted by going to <a class="reference-link" | ||||||
|   href="#root/_help_4TIF1oA4VQRO">Options</a>, then <em>Code Notes</em> and |   href="#root/_help_4TIF1oA4VQRO">Options</a>, then <em>Code Notes</em> and looking | ||||||
|   looking for the <em>Available MIME types in the dropdown</em> section. Simply |   for the <em>Available MIME types in the dropdown</em> section. Simply check | ||||||
|   check any of the items to add them to the list, or uncheck them to remove |   any of the items to add them to the list, or uncheck them to remove them | ||||||
|   them from the list.</p> |   from the list.</p> | ||||||
| <p>Note that the list of languages is not immediately refreshed, you'd have | <p>Note that the list of languages is not immediately refreshed, you'd have | ||||||
|   to manually <a href="#root/_help_s8alTXmpFR61">refresh the application</a>.</p> |   to manually <a href="#root/_help_s8alTXmpFR61">refresh the application</a>.</p> | ||||||
| @@ -1,14 +1,14 @@ | |||||||
| <figure class="image image-style-align-right"> | <figure class="image image-style-align-right"> | ||||||
|   <img style="aspect-ratio:199/187;" src="1_Footnotes_image.png" width="199" |   <img style="aspect-ratio:199/187;" src="1_Footnotes_image.png" | ||||||
|   height="187"> |   width="199" height="187"> | ||||||
| </figure> | </figure> | ||||||
| <p>Footnotes are a good place to insert references to a paragraph or details | <p>Footnotes are a good place to insert references to a paragraph or details | ||||||
|   that are displayed at the bottom of the note.</p> |   that are displayed at the bottom of the note.</p> | ||||||
| <h2>Interaction</h2> | <h2>Interaction</h2> | ||||||
| <ul> | <ul> | ||||||
|   <li>To insert a new footnote, press |   <li>To insert a new footnote, press | ||||||
|     <img src="Footnotes_image.png" width="17" |     <img src="Footnotes_image.png" | ||||||
|     height="12">(or press the right arrow and select <em>New footnote</em>).</li> |     width="17" height="12">(or press the right arrow and select <em>New footnote</em>).</li> | ||||||
|   <li>To insert a reference to an existing footnote, press the right arrow and |   <li>To insert a reference to an existing footnote, press the right arrow and | ||||||
|     select <em>Insert footnote</em>, followed by the number of the footnote |     select <em>Insert footnote</em>, followed by the number of the footnote | ||||||
|     to insert.</li> |     to insert.</li> | ||||||
|   | |||||||
| @@ -79,7 +79,8 @@ | |||||||
|   the <em>Remove formatting</em> toolbar item.</p> |   the <em>Remove formatting</em> toolbar item.</p> | ||||||
| <h2>Remove formatting</h2> | <h2>Remove formatting</h2> | ||||||
| <p>The | <p>The | ||||||
|   <img src="1_General formatting_image.png" width="17" height="16"> <em>Remove formatting</em> button is a quick way to eliminate the general |   <img src="1_General formatting_image.png" | ||||||
|  |   width="17" height="16"> <em>Remove formatting</em> button is a quick way to eliminate the general | ||||||
|   formatting styling of a particular text.</p> |   formatting styling of a particular text.</p> | ||||||
| <p>Simply select the text and press the button to remove the formatting (bold, | <p>Simply select the text and press the button to remove the formatting (bold, | ||||||
|   italic, colors, sizes, etc.). If the text does not have any removable formatting, |   italic, colors, sizes, etc.). If the text does not have any removable formatting, | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image image-style-align-right"> | <figure class="image image-style-align-right"> | ||||||
|   <img style="aspect-ratio:250/150;" src="Highlights list_image.png" width="250" |   <img style="aspect-ratio:250/150;" src="Highlights list_image.png" | ||||||
|   height="150"> |   width="250" height="150"> | ||||||
| </figure> | </figure> | ||||||
| <p>Similar to the <a class="reference-link" href="#root/_help_BFvAtE74rbP6">Table of contents</a>, | <p>Similar to the <a class="reference-link" href="#root/_help_BFvAtE74rbP6">Table of contents</a>, | ||||||
|   but instead of headings this feature will list highlighted text from a |   but instead of headings this feature will list highlighted text from a | ||||||
|   | |||||||
| @@ -1,10 +1,9 @@ | |||||||
| <p>Trilium supports storing and displaying images. Supported formats are | <p>Trilium supports storing and displaying images. Supported formats are | ||||||
|   JPEG, PNG and GIF.</p> |   JPEG, PNG and GIF.</p> | ||||||
| <p>An image can be uploaded in the form of note's <a href="#root/_help_0vhv7lsOLy82">attachment</a> or | <p>An image can be uploaded in the form of note's <a href="#root/_help_0vhv7lsOLy82">attachment</a> or | ||||||
|   as a standalone <a href="#root/_help_kBrnXNG3Hplm">note</a> placed into the |   as a standalone <a href="#root/_help_kBrnXNG3Hplm">note</a> placed into the <a href="#root/_help_kBrnXNG3Hplm">note tree</a>. | ||||||
|   <a |   Its reference can be copied into a text note, in order to display it in | ||||||
|   href="#root/_help_kBrnXNG3Hplm">note tree</a>. Its reference can be copied into a text note, in order |   the text itself.</p> | ||||||
|     to display it in the text itself.</p> |  | ||||||
| <h2>Uploading images</h2> | <h2>Uploading images</h2> | ||||||
| <p>To add an image to the note, simply drag it from file explorer onto the | <p>To add an image to the note, simply drag it from file explorer onto the | ||||||
|   note editor inside Trilium and the image will be uploaded.</p> |   note editor inside Trilium and the image will be uploaded.</p> | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <figure class="image image-style-align-right image_resized" style="width:50.47%;"> | <figure class="image image-style-align-right image_resized" style="width:50.47%;"> | ||||||
|   <img style="aspect-ratio:880/553;" src="Image references_image.png" width="880" |   <img style="aspect-ratio:880/553;" src="Image references_image.png" | ||||||
|   height="553"> |   width="880" height="553"> | ||||||
| </figure> | </figure> | ||||||
| <p>Image references are an easy way to embed the preview of another note | <p>Image references are an easy way to embed the preview of another note | ||||||
|   type into a <a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a> note.</p> |   type into a <a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a> note.</p> | ||||||
|   | |||||||
| @@ -7,9 +7,9 @@ | |||||||
|   <img src="Include Note_image.png">button. There is also a keyboard shortcut defined for it but it is not |   <img src="Include Note_image.png">button. There is also a keyboard shortcut defined for it but it is not | ||||||
|   allocated by default.</p> |   allocated by default.</p> | ||||||
| <h2>Included notes in the share functionality</h2> | <h2>Included notes in the share functionality</h2> | ||||||
| <p>If a <a href="#root/_help_R9pX4DGra2Vt">shared note</a> contains one or | <p>If a <a href="#root/_help_R9pX4DGra2Vt">shared note</a> contains one or more included | ||||||
|   more included notes, they will be displayed in the content of the note |   notes, they will be displayed in the content of the note as if they were | ||||||
|   as if they were part of the note itself.</p> |   part of the note itself.</p> | ||||||
| <p>For this to work, the included notes must also be shared, otherwise they | <p>For this to work, the included notes must also be shared, otherwise they | ||||||
|   will not be shown. However, the included notes can still be hidden from |   will not be shown. However, the included notes can still be hidden from | ||||||
|   the note tree via <code>#shareHiddenFromTree</code>.</p> |   the note tree via <code>#shareHiddenFromTree</code>.</p> | ||||||
| @@ -1,13 +1,14 @@ | |||||||
| <p>Press the | <p>Press the | ||||||
|   <img src="4_Insert buttons_image.png" width="34" height="16">button in the <a class="reference-link" href="#root/_help_nRhnJkTT8cPs">Formatting toolbar</a> to |   <img src="4_Insert buttons_image.png" | ||||||
|  |   width="34" height="16">button in the <a class="reference-link" href="#root/_help_nRhnJkTT8cPs">Formatting toolbar</a> to | ||||||
|   reveal special inserable items and blocks such as symbols, Math expressions |   reveal special inserable items and blocks such as symbols, Math expressions | ||||||
|   and separators.</p> |   and separators.</p> | ||||||
| <h2>Bookmarks</h2> | <h2>Bookmarks</h2> | ||||||
| <p>See the dedicated <a class="reference-link" href="#root/_help_oSuaNgyyKnhu">Bookmarks</a> section.</p> | <p>See the dedicated <a class="reference-link" href="#root/_help_oSuaNgyyKnhu">Bookmarks</a> section.</p> | ||||||
| <h2>Emoji</h2> | <h2>Emoji</h2> | ||||||
| <figure class="image image-style-align-right image_resized" style="width:42.4%;"> | <figure class="image image-style-align-right image_resized" style="width:42.4%;"> | ||||||
|   <img style="aspect-ratio:366/410;" src="Insert buttons_plus.png" width="366" |   <img style="aspect-ratio:366/410;" src="Insert buttons_plus.png" | ||||||
|   height="410"> |   width="366" height="410"> | ||||||
| </figure> | </figure> | ||||||
| <p>This feature allows inserting Unicode emoji characters. Simply select | <p>This feature allows inserting Unicode emoji characters. Simply select | ||||||
|   a category and a desired emoji to insert it.</p> |   a category and a desired emoji to insert it.</p> | ||||||
| @@ -17,15 +18,17 @@ | |||||||
|   by a name of an emoji, triggering the display of a list of emojis. Simply |   by a name of an emoji, triggering the display of a list of emojis. Simply | ||||||
|   use the arrow keys to select one and press <kbd>Enter</kbd> to insert it.</p> |   use the arrow keys to select one and press <kbd>Enter</kbd> to insert it.</p> | ||||||
| <img | <img | ||||||
| src="1_Insert buttons_plus.png" width="272" height="187"> | src="1_Insert buttons_plus.png" width="272" | ||||||
|  | height="187"> | ||||||
|    |    | ||||||
| <h2>Symbols</h2> | <h2>Symbols</h2> | ||||||
|   <figure class="image image-style-align-right"> |   <figure class="image image-style-align-right"> | ||||||
|     <img style="aspect-ratio:346/322;" src="1_Insert buttons_image.png" width="346" |     <img style="aspect-ratio:346/322;" src="1_Insert buttons_image.png" | ||||||
|     height="322"> |     width="346" height="322"> | ||||||
|   </figure> |   </figure> | ||||||
|   <p>Pressing the |   <p>Pressing the | ||||||
|     <img src="7_Insert buttons_image.png" width="18" height="15">button will reveal a popup window displaying a list of characters that |     <img src="7_Insert buttons_image.png" | ||||||
|  |     width="18" height="15">button will reveal a popup window displaying a list of characters that | ||||||
|     are generally more difficult to insert directly from the keyboard, such |     are generally more difficult to insert directly from the keyboard, such | ||||||
|     as a subset of emojis, quotation characters, etc.</p> |     as a subset of emojis, quotation characters, etc.</p> | ||||||
|   <p>Interaction:</p> |   <p>Interaction:</p> | ||||||
| @@ -39,14 +42,15 @@ src="1_Insert buttons_plus.png" width="272" height="187"> | |||||||
|   <p>See the dedicated <a class="reference-link" href="#root/_help_YfYAtQBcfo5V">Math Equations</a> page.</p> |   <p>See the dedicated <a class="reference-link" href="#root/_help_YfYAtQBcfo5V">Math Equations</a> page.</p> | ||||||
|   <h2>Mermaid diagram</h2> |   <h2>Mermaid diagram</h2> | ||||||
|   <p>Press the |   <p>Press the | ||||||
|     <img src="2_Insert buttons_image.png" width="16" height="17">button to create an inline Mermaid diagram.</p> |     <img src="2_Insert buttons_image.png" | ||||||
|  |     width="16" height="17">button to create an inline Mermaid diagram.</p> | ||||||
|   <p>This feature is quite similar to the <a class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a> note |   <p>This feature is quite similar to the <a class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a> note | ||||||
|     types and is meant as an alternative to it for simple diagrams. For more |     types and is meant as an alternative to it for simple diagrams. For more | ||||||
|     complex diagrams, use the <a class="reference-link" href="#root/_help_nBAXQFj20hS1">Include Note</a> feature |     complex diagrams, use the <a class="reference-link" href="#root/_help_nBAXQFj20hS1">Include Note</a> feature | ||||||
|     for a dedicated Mermaid note.</p> |     for a dedicated Mermaid note.</p> | ||||||
|   <figure class="image"> |   <figure class="image"> | ||||||
|     <img style="aspect-ratio:1174/358;" src="6_Insert buttons_image.png" width="1174" |     <img style="aspect-ratio:1174/358;" src="6_Insert buttons_image.png" | ||||||
|     height="358"> |     width="1174" height="358"> | ||||||
|   </figure> |   </figure> | ||||||
|    |    | ||||||
| <h2>Horizontal ruler</h2> | <h2>Horizontal ruler</h2> | ||||||
| @@ -55,12 +59,13 @@ src="1_Insert buttons_plus.png" width="272" height="187"> | |||||||
|     <img src="5_Insert buttons_image.png" |     <img src="5_Insert buttons_image.png" | ||||||
|     width="18" height="16">button in the <a class="reference-link" href="#root/_help_nRhnJkTT8cPs">Formatting toolbar</a>.</p> |     width="18" height="16">button in the <a class="reference-link" href="#root/_help_nRhnJkTT8cPs">Formatting toolbar</a>.</p> | ||||||
|   <img |   <img | ||||||
|   src="3_Insert buttons_image.png" width="502" height="95"> |   src="3_Insert buttons_image.png" width="502" | ||||||
|  |   height="95"> | ||||||
|     <p>Alternatively, it's possible to insert a horizontal ruler by typing <code>---</code>.</p> |     <p>Alternatively, it's possible to insert a horizontal ruler by typing <code>---</code>.</p> | ||||||
|     <h2>Page break</h2> |     <h2>Page break</h2> | ||||||
|     <figure class="image image-style-align-right"> |     <figure class="image image-style-align-right"> | ||||||
|       <img style="aspect-ratio:371/79;" src="8_Insert buttons_image.png" width="371" |       <img style="aspect-ratio:371/79;" src="8_Insert buttons_image.png" | ||||||
|       height="79"> |       width="371" height="79"> | ||||||
|     </figure> |     </figure> | ||||||
|     <p>Page breaks provide a way to force the next paragraph or block (table, |     <p>Page breaks provide a way to force the next paragraph or block (table, | ||||||
|       image, etc.) to be displayed onto the next page when printing (either to |       image, etc.) to be displayed onto the next page when printing (either to | ||||||
| @@ -69,8 +74,8 @@ src="1_Insert buttons_plus.png" width="272" height="187"> | |||||||
|       but they will not actually be shown when printed.</p> |       but they will not actually be shown when printed.</p> | ||||||
|     <ul> |     <ul> | ||||||
|       <li>To insert a page break, press the |       <li>To insert a page break, press the | ||||||
|         <img src="Insert buttons_image.png" width="20" |         <img src="Insert buttons_image.png" | ||||||
|         height="19">in the formatting toolbar.</li> |         width="20" height="19">in the formatting toolbar.</li> | ||||||
|       <li>To insert many page breaks at once, insert a page break first, click on |       <li>To insert many page breaks at once, insert a page break first, click on | ||||||
|         it and press <kbd>Ctrl</kbd>+<kbd>C</kbd>. Then use <kbd>Ctrl</kbd>+<kbd>V</kbd>, |         it and press <kbd>Ctrl</kbd>+<kbd>C</kbd>. Then use <kbd>Ctrl</kbd>+<kbd>V</kbd>, | ||||||
|         to paste as many times as needed.</li> |         to paste as many times as needed.</li> | ||||||
|   | |||||||
| @@ -111,10 +111,10 @@ | |||||||
| <aside class="admonition tip"> | <aside class="admonition tip"> | ||||||
|   <p>This section of keyboard shortcuts presents a subset of the keyboard shortcuts |   <p>This section of keyboard shortcuts presents a subset of the keyboard shortcuts | ||||||
|     as supported by the editor technology we are using, <a class="reference-link" |     as supported by the editor technology we are using, <a class="reference-link" | ||||||
|     href="#root/_help_MI26XDLSAlCD">CKEditor</a>. The shortcuts were taken |     href="#root/_help_MI26XDLSAlCD">CKEditor</a>. The shortcuts were taken from the | ||||||
|     from the <a href="https://ckeditor.com/docs/ckeditor5/latest/features/accessibility.html#keyboard-shortcuts">official documentation</a>. |     <a | ||||||
|     Note that not all the shortcuts in the original documentation are applicable |     href="https://ckeditor.com/docs/ckeditor5/latest/features/accessibility.html#keyboard-shortcuts">official documentation</a>. Note that not all the shortcuts in the original | ||||||
|     (due to using a different configuration).</p> |       documentation are applicable (due to using a different configuration).</p> | ||||||
| </aside> | </aside> | ||||||
| <h3>Content editing</h3> | <h3>Content editing</h3> | ||||||
| <table> | <table> | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Links.html
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Links.html
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -31,5 +31,4 @@ | |||||||
|   press enter and you have a link.</p> |   press enter and you have a link.</p> | ||||||
| <h2>Note map</h2> | <h2>Note map</h2> | ||||||
| <p>Trilium provides a visualisation of incoming and outgoing links for a | <p>Trilium provides a visualisation of incoming and outgoing links for a | ||||||
|   particular note. See <a href="#root/_help_BCkXAVs63Ttv">note map</a> for |   particular note. See <a href="#root/_help_BCkXAVs63Ttv">note map</a> for details.</p> | ||||||
|   details.</p> |  | ||||||
| @@ -4,7 +4,8 @@ | |||||||
| <p>To create a link without a custom text:</p> | <p>To create a link without a custom text:</p> | ||||||
| <ul> | <ul> | ||||||
|   <li>Press |   <li>Press | ||||||
|     <img src="1_External links_image.png" width="15" height="16">in the <a class="reference-link" href="#root/_help_nRhnJkTT8cPs">Formatting toolbar</a>: |     <img src="1_External links_image.png" | ||||||
|  |     width="15" height="16">in the <a class="reference-link" href="#root/_help_nRhnJkTT8cPs">Formatting toolbar</a>: | ||||||
|     <ul> |     <ul> | ||||||
|       <li>A popup will appear, type or paste the URL in the box.</li> |       <li>A popup will appear, type or paste the URL in the box.</li> | ||||||
|       <li>Press <kbd>Enter</kbd> or the check mark icon to confirm.</li> |       <li>Press <kbd>Enter</kbd> or the check mark icon to confirm.</li> | ||||||
| @@ -29,7 +30,8 @@ | |||||||
|     will remain.</li> |     will remain.</li> | ||||||
|   <li>To modify the link, click on the link to display the popup and press the |   <li>To modify the link, click on the link to display the popup and press the | ||||||
|     <img |     <img | ||||||
|     src="External links_image.png" width="18" height="18"> <em>Edit link</em> button.</li> |     src="External links_image.png" width="18" | ||||||
|  |     height="18"> <em>Edit link</em> button.</li> | ||||||
|   <li>To remove a link, click on it and press the |   <li>To remove a link, click on it and press the | ||||||
|     <img src="2_External links_image.png" |     <img src="2_External links_image.png" | ||||||
|     width="18" height="18"> <em>Unlink</em> button.</li> |     width="18" height="18"> <em>Unlink</em> button.</li> | ||||||
|   | |||||||
							
								
								
									
										19
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Lists.html
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Lists.html
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,11 +1,14 @@ | |||||||
| <p>There are three types of lists supported by text notes:</p> | <p>There are three types of lists supported by text notes:</p> | ||||||
| <ul> | <ul> | ||||||
|   <li> |   <li> | ||||||
|     <img src="4_Lists_image.png" width="17" height="13">Bulleted lists (also known as unordered lists).</li> |     <img src="4_Lists_image.png" width="17" | ||||||
|  |     height="13">Bulleted lists (also known as unordered lists).</li> | ||||||
|   <li> |   <li> | ||||||
|     <img src="1_Lists_image.png" width="18" height="16">Numbered lists (or ordered lists).</li> |     <img src="1_Lists_image.png" width="18" | ||||||
|  |     height="16">Numbered lists (or ordered lists).</li> | ||||||
|   <li> |   <li> | ||||||
|     <img src="Lists_image.png" width="19" height="13">To-do lists</li> |     <img src="Lists_image.png" width="19" | ||||||
|  |     height="13">To-do lists</li> | ||||||
| </ul> | </ul> | ||||||
| <p>For bulleted and numbered lists, it's possible to configure an alternative | <p>For bulleted and numbered lists, it's possible to configure an alternative | ||||||
|   marker such as squares or Roman numbering by pressing the |   marker such as squares or Roman numbering by pressing the | ||||||
| @@ -29,8 +32,8 @@ | |||||||
|   <li>To exit out of the list, press <kbd>Enter</kbd> twice.</li> |   <li>To exit out of the list, press <kbd>Enter</kbd> twice.</li> | ||||||
|   <li>To merge two lists, simply delete the gap between them.</li> |   <li>To merge two lists, simply delete the gap between them.</li> | ||||||
|   <li>To create nested lists, simply use the |   <li>To create nested lists, simply use the | ||||||
|     <img src="7_Lists_image.png" width="17" |     <img src="7_Lists_image.png" | ||||||
|     height="14">button (see <em>Indentation</em> in <a class="reference-link" href="#root/_help_dEHYtoWWi8ct">Other features</a>) |     width="17" height="14">button (see <em>Indentation</em> in <a class="reference-link" href="#root/_help_dEHYtoWWi8ct">Other features</a>) | ||||||
|     or the <kbd>Tab</kbd> key. To decrease the nesting level for the current |     or the <kbd>Tab</kbd> key. To decrease the nesting level for the current | ||||||
|     element, press <kbd>Shift</kbd>+<kbd>Tab</kbd>.</li> |     element, press <kbd>Shift</kbd>+<kbd>Tab</kbd>.</li> | ||||||
| </ul> | </ul> | ||||||
| @@ -71,7 +74,8 @@ | |||||||
|       <td>4</td> |       <td>4</td> | ||||||
|       <td> |       <td> | ||||||
|         <img class="image_resized" style="aspect-ratio:676/112;width:98.29%;" |         <img class="image_resized" style="aspect-ratio:676/112;width:98.29%;" | ||||||
|         src="10_Lists_image.png" width="676" height="112"> |         src="10_Lists_image.png" width="676" | ||||||
|  |         height="112"> | ||||||
|       </td> |       </td> | ||||||
|       <td>At this point, insert any desired block-level item such as a code block.</td> |       <td>At this point, insert any desired block-level item such as a code block.</td> | ||||||
|     </tr> |     </tr> | ||||||
| @@ -79,7 +83,8 @@ | |||||||
|       <td>5</td> |       <td>5</td> | ||||||
|       <td> |       <td> | ||||||
|         <img class="image_resized" style="aspect-ratio:675/129;width:94.22%;" |         <img class="image_resized" style="aspect-ratio:675/129;width:94.22%;" | ||||||
|         src="8_Lists_image.png" width="675" height="129"> |         src="8_Lists_image.png" width="675" | ||||||
|  |         height="129"> | ||||||
|       </td> |       </td> | ||||||
|       <td>To continue with a new bullet point, press Enter until the cursor moves |       <td>To continue with a new bullet point, press Enter until the cursor moves | ||||||
|         to a new blank position.</td> |         to a new blank position.</td> | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| <p>Markdown-like formatting allows inserting some basic formatting by typing | <p>Markdown-like formatting allows inserting some basic formatting by typing | ||||||
|   the Markdown equivalent. Note that this does not mean that <a class="reference-link" |   the Markdown equivalent. Note that this does not mean that <a class="reference-link" | ||||||
|   href="#root/_help_iPIMuisry3hd">Text</a> notes supports Markdown, |   href="#root/_help_iPIMuisry3hd">Text</a> notes supports Markdown, these | ||||||
|   these are just some convenience shortcuts.</p> |   are just some convenience shortcuts.</p> | ||||||
| <p>To import more complex formatting into text notes, consider using the | <p>To import more complex formatting into text notes, consider using the | ||||||
|   <a |   <a | ||||||
|   href="#root/_help_dEHYtoWWi8ct"><em>Import from Markdown</em> |   href="#root/_help_dEHYtoWWi8ct"><em>Import from Markdown</em> | ||||||
|   | |||||||
| @@ -1,10 +1,11 @@ | |||||||
| <figure class="image image-style-align-right"> | <figure class="image image-style-align-right"> | ||||||
|   <img style="aspect-ratio:350/193;" src="Math Equations_image.png" width="350" |   <img style="aspect-ratio:350/193;" src="Math Equations_image.png" | ||||||
|   height="193"> |   width="350" height="193"> | ||||||
| </figure> | </figure> | ||||||
| <p>Within text notes, it's possible to enter mathematical equations using | <p>Within text notes, it's possible to enter mathematical equations using | ||||||
|   the |   the | ||||||
|   <img src="1_Math Equations_image.png" width="20" height="15">button from the <a class="reference-link" href="#root/_help_nRhnJkTT8cPs">Formatting toolbar</a> (generally |   <img src="1_Math Equations_image.png" | ||||||
|  |   width="20" height="15">button from the <a class="reference-link" href="#root/_help_nRhnJkTT8cPs">Formatting toolbar</a> (generally | ||||||
|   found under the <a class="reference-link" href="#root/_help_CohkqWQC1iBv">Insert buttons</a>).</p> |   found under the <a class="reference-link" href="#root/_help_CohkqWQC1iBv">Insert buttons</a>).</p> | ||||||
| <p>The mathematical expression must be written in the TeX format. There is | <p>The mathematical expression must be written in the TeX format. There is | ||||||
|   no visual editor for the math equations, only a preview. </p> |   no visual editor for the math equations, only a preview. </p> | ||||||
| @@ -30,8 +31,8 @@ | |||||||
|   surrounded by <code>$</code> characters for inline math expressions, and <code>$$</code> for |   surrounded by <code>$</code> characters for inline math expressions, and <code>$$</code> for | ||||||
|   display mode.</p> |   display mode.</p> | ||||||
| <p>If you notice any issue with the Markdown import/export for equations, | <p>If you notice any issue with the Markdown import/export for equations, | ||||||
|   feel free to <a href="#root/_help_wy8So3yZZlH9">report</a> it while providing |   feel free to <a href="#root/_help_wy8So3yZZlH9">report</a> it while providing the | ||||||
|   the equation that causes issues.</p> |   equation that causes issues.</p> | ||||||
| <h2>Formatting the equation</h2> | <h2>Formatting the equation</h2> | ||||||
| <p>It is possible to customize the font size and foreground color for both | <p>It is possible to customize the font size and foreground color for both | ||||||
|   inline and display-mode equations, just like any other text. For inline |   inline and display-mode equations, just like any other text. For inline | ||||||
|   | |||||||
| @@ -1,25 +1,27 @@ | |||||||
| <h2>Indentation</h2> | <h2>Indentation</h2> | ||||||
| <figure class="image image-style-align-right"> | <figure class="image image-style-align-right"> | ||||||
|   <img style="aspect-ratio:201/124;" src="6_Other features_image.png" width="201" |   <img style="aspect-ratio:201/124;" src="6_Other features_image.png" | ||||||
|   height="124"> |   width="201" height="124"> | ||||||
| </figure> | </figure> | ||||||
| <p>Paragraphs can be indented to the right using the  button from the  | <p>Paragraphs can be indented to the right using the  button from the  | ||||||
|   <a |   <a | ||||||
|   class="reference-link" href="#root/_help_nRhnJkTT8cPs">Formatting toolbar</a>.</p> |   class="reference-link" href="#root/_help_nRhnJkTT8cPs">Formatting toolbar</a>.</p> | ||||||
| <ul> | <ul> | ||||||
|   <li>Press |   <li>Press | ||||||
|     <img src="5_Other features_image.png" width="17" height="14">to increase the indentation of the current paragraph by one. Can be pressed |     <img src="5_Other features_image.png" | ||||||
|  |     width="17" height="14">to increase the indentation of the current paragraph by one. Can be pressed | ||||||
|     multiple times if needed.</li> |     multiple times if needed.</li> | ||||||
|   <li>Press |   <li>Press | ||||||
|     <img src="1_Other features_image.png" width="17" height="14">to decrease the indentation of a current paragraph. The button will be |     <img src="1_Other features_image.png" | ||||||
|  |     width="17" height="14">to decrease the indentation of a current paragraph. The button will be | ||||||
|     disabled if it is already at the minimum indentation level.</li> |     disabled if it is already at the minimum indentation level.</li> | ||||||
|   <li>For convenience, keyboard shortcuts are also available. Press <kbd>Tab</kbd> to |   <li>For convenience, keyboard shortcuts are also available. Press <kbd>Tab</kbd> to | ||||||
|     indent or <kbd>Shift</kbd>+<kbd>Tab</kbd> to decrease the indentation. These |     indent or <kbd>Shift</kbd>+<kbd>Tab</kbd> to decrease the indentation. These | ||||||
|     shortcuts work even if the cursor is not at the beginning of a paragraph |     shortcuts work even if the cursor is not at the beginning of a paragraph | ||||||
|     or a list.</li> |     or a list.</li> | ||||||
|   <li>Apart from paragraphs, the indent button is also enabled in <a class="reference-link" |   <li>Apart from paragraphs, the indent button is also enabled in <a class="reference-link" | ||||||
|     href="#root/_help_S6Xx8QIWTV66">Lists</a>, where it can be used to create |     href="#root/_help_S6Xx8QIWTV66">Lists</a>, where it can be used to create nested | ||||||
|     nested lists.</li> |     lists.</li> | ||||||
| </ul> | </ul> | ||||||
| <h2>Markdown import</h2> | <h2>Markdown import</h2> | ||||||
| <p>If the clipboard contains Markdown text, it can be easily imported into | <p>If the clipboard contains Markdown text, it can be easily imported into | ||||||
| @@ -38,14 +40,16 @@ | |||||||
|   not have access to the clipboard.</p> |   not have access to the clipboard.</p> | ||||||
| <h2>Cut to subnote</h2> | <h2>Cut to subnote</h2> | ||||||
| <p>The | <p>The | ||||||
|   <img src="Other features_image.png" width="16" height="20">button will create a child note with the selected text. For more information, |   <img src="Other features_image.png" | ||||||
|  |   width="16" height="20">button will create a child note with the selected text. For more information, | ||||||
|   see <a class="reference-link" href="#root/_help_2x0ZAX9ePtzV">Cut to subnote</a>.</p> |   see <a class="reference-link" href="#root/_help_2x0ZAX9ePtzV">Cut to subnote</a>.</p> | ||||||
| <h2>Find and replace</h2> | <h2>Find and replace</h2> | ||||||
| <figure class="image image-style-align-right"> | <figure class="image image-style-align-right"> | ||||||
|   <img style="aspect-ratio:394/203;" src="4_Other features_image.png" width="394" |   <img style="aspect-ratio:394/203;" src="4_Other features_image.png" | ||||||
|   height="203"> |   width="394" height="203"> | ||||||
| </figure> | </figure> | ||||||
| <p>The | <p>The | ||||||
|   <img src="3_Other features_image.png" width="18" height="17">button will open the editor's dedicated search and replace functionality.</p> |   <img src="3_Other features_image.png" | ||||||
|  |   width="18" height="17">button will open the editor's dedicated search and replace functionality.</p> | ||||||
| <p>Alternatively, the <kbd>Ctrl</kbd>+<kbd>F</kbd> combination can be pressed | <p>Alternatively, the <kbd>Ctrl</kbd>+<kbd>F</kbd> combination can be pressed | ||||||
|   to show the dialog.</p> |   to show the dialog.</p> | ||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user