mirror of
https://github.com/zadam/trilium.git
synced 2025-10-30 18:05:55 +01:00
Compare commits
2 Commits
feat/ui-im
...
copilot/fi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
71eb1edf07 | ||
|
|
f3e6ba8f37 |
73
.github/workflows/deploy-docs.yml
vendored
73
.github/workflows/deploy-docs.yml
vendored
@@ -1,4 +1,6 @@
|
|||||||
name: Deploy Documentation
|
# GitHub Actions workflow for deploying MkDocs documentation to Cloudflare Pages
|
||||||
|
# This workflow builds and deploys your MkDocs site when changes are pushed to main
|
||||||
|
name: Deploy MkDocs Documentation
|
||||||
|
|
||||||
on:
|
on:
|
||||||
# Trigger on push to main branch
|
# Trigger on push to main branch
|
||||||
@@ -9,8 +11,11 @@ on:
|
|||||||
# Only run when docs files change
|
# Only run when docs files change
|
||||||
paths:
|
paths:
|
||||||
- 'docs/**'
|
- 'docs/**'
|
||||||
- 'apps/edit-docs/**'
|
- 'README.md' # README is synced to docs/index.md
|
||||||
- 'packages/share-theme/**'
|
- 'mkdocs.yml'
|
||||||
|
- '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:
|
||||||
@@ -22,12 +27,15 @@ on:
|
|||||||
- master
|
- master
|
||||||
paths:
|
paths:
|
||||||
- 'docs/**'
|
- 'docs/**'
|
||||||
- 'apps/edit-docs/**'
|
- 'README.md' # README is synced to docs/index.md
|
||||||
- 'packages/share-theme/**'
|
- 'mkdocs.yml'
|
||||||
|
- '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 Documentation
|
name: Build and Deploy MkDocs
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 10
|
timeout-minutes: 10
|
||||||
|
|
||||||
@@ -41,25 +49,72 @@ 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: pnpm install --frozen-lockfile
|
run: |
|
||||||
|
pnpm install --frozen-lockfile
|
||||||
|
|
||||||
- name: Trigger build of documentation
|
- name: Fix Documentation Structure
|
||||||
run: pnpm docs:build
|
run: |
|
||||||
|
# Fix duplicate navigation entries by moving overview pages to index.md
|
||||||
|
pnpm run chore:fix-mkdocs-structure
|
||||||
|
|
||||||
|
- name: Build MkDocs Site
|
||||||
|
run: |
|
||||||
|
# Build with strict mode but allow expected warnings
|
||||||
|
mkdocs build --verbose || {
|
||||||
|
EXIT_CODE=$?
|
||||||
|
# Check if the only issue is expected warnings
|
||||||
|
if mkdocs build 2>&1 | grep -E "WARNING.*(README|not found)" && \
|
||||||
|
[ $(mkdocs build 2>&1 | grep -c "ERROR") -eq 0 ]; then
|
||||||
|
echo "✅ Build succeeded with expected warnings"
|
||||||
|
mkdocs build --verbose
|
||||||
|
else
|
||||||
|
echo "❌ Build failed with unexpected errors"
|
||||||
|
exit $EXIT_CODE
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
- name: Fix HTML Links
|
||||||
|
run: |
|
||||||
|
# Remove .md extensions from links in generated HTML
|
||||||
|
pnpm tsx ./scripts/fix-html-links.ts site
|
||||||
|
|
||||||
- name: 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
|
||||||
|
|||||||
6
.github/workflows/main-docker.yml
vendored
6
.github/workflows/main-docker.yml
vendored
@@ -116,12 +116,6 @@ jobs:
|
|||||||
- dockerfile: Dockerfile
|
- dockerfile: Dockerfile
|
||||||
platform: linux/arm64
|
platform: linux/arm64
|
||||||
image: ubuntu-24.04-arm
|
image: ubuntu-24.04-arm
|
||||||
- dockerfile: Dockerfile.legacy
|
|
||||||
platform: linux/arm/v7
|
|
||||||
image: ubuntu-24.04-arm
|
|
||||||
- dockerfile: Dockerfile.legacy
|
|
||||||
platform: linux/arm/v8
|
|
||||||
image: ubuntu-24.04-arm
|
|
||||||
runs-on: ${{ matrix.image }}
|
runs-on: ${{ matrix.image }}
|
||||||
needs:
|
needs:
|
||||||
- test_docker
|
- test_docker
|
||||||
|
|||||||
24
apps/client/src/share.ts
Normal file
24
apps/client/src/share.ts
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
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();
|
||||||
|
}
|
||||||
@@ -1809,15 +1809,12 @@ body:not(.mobile) #launcher-pane.horizontal .dropdown-submenu > .dropdown-menu {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.note-split {
|
.note-split {
|
||||||
/* Limits the maximum width of the note */
|
|
||||||
--max-content-width: var(--preferred-max-content-width);
|
|
||||||
|
|
||||||
margin-inline-start: auto;
|
margin-inline-start: auto;
|
||||||
margin-inline-end: auto;
|
margin-inline-end: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.note-split.full-content-width {
|
.note-split.full-content-width {
|
||||||
--max-content-width: unset;
|
max-width: 999999px;
|
||||||
}
|
}
|
||||||
|
|
||||||
button.close:hover {
|
button.close:hover {
|
||||||
@@ -2043,8 +2040,7 @@ body.zen .ribbon-container .ribbon-body:not(:has(.classic-toolbar-widget)),
|
|||||||
body.zen .note-icon-widget,
|
body.zen .note-icon-widget,
|
||||||
body.zen .title-row .icon-action,
|
body.zen .title-row .icon-action,
|
||||||
body.zen .floating-buttons-children > *:not(.bx-edit-alt),
|
body.zen .floating-buttons-children > *:not(.bx-edit-alt),
|
||||||
body.zen .action-button,
|
body.zen .action-button {
|
||||||
body.zen .note-list-widget {
|
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2088,33 +2084,12 @@ body.zen .note-title-widget,
|
|||||||
body.zen .note-title-widget input {
|
body.zen .note-title-widget input {
|
||||||
font-size: 1rem !important;
|
font-size: 1rem !important;
|
||||||
background: transparent !important;
|
background: transparent !important;
|
||||||
pointer-events: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
body.zen #detail-container {
|
body.zen #detail-container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
body.zen .note-split:not(.full-content-width) .scrolling-container {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
scroll-behavior: unset !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
body.zen .note-split:not(.full-content-width) .note-detail {
|
|
||||||
margin: auto;
|
|
||||||
padding-bottom: 15%;
|
|
||||||
width: var(--max-content-width);
|
|
||||||
}
|
|
||||||
|
|
||||||
body.zen .note-split:not(.full-content-width) .scroll-padding-widget {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
body.zen .note-split.type-text {
|
|
||||||
font-size: 1.15em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Content renderer */
|
/* Content renderer */
|
||||||
|
|
||||||
footer.file-footer,
|
footer.file-footer,
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
--native-titlebar-background: #00000000;
|
--native-titlebar-background: #00000000;
|
||||||
--window-background-color-bgfx: transparent; /* When background effects enabled */
|
--window-background-color-bgfx: transparent; /* When background effects enabled */
|
||||||
|
|
||||||
--main-background-color: #242424;
|
--main-background-color: #272727;
|
||||||
--main-text-color: #ccc;
|
--main-text-color: #ccc;
|
||||||
--main-border-color: #454545;
|
--main-border-color: #454545;
|
||||||
--subtle-border-color: #313131;
|
--subtle-border-color: #313131;
|
||||||
@@ -166,9 +166,6 @@
|
|||||||
--protected-session-active-icon-color: #8edd8e;
|
--protected-session-active-icon-color: #8edd8e;
|
||||||
--sync-status-error-pulse-color: #f47871;
|
--sync-status-error-pulse-color: #f47871;
|
||||||
|
|
||||||
--center-pane-vert-layout-background-color-bgfx: #0c0c0c69;
|
|
||||||
--center-pane-horiz-layout-background-color-bgfx: #1e1e1ec7;
|
|
||||||
|
|
||||||
--right-pane-heading-color: gray;
|
--right-pane-heading-color: gray;
|
||||||
|
|
||||||
--root-background: var(--left-pane-background-color);
|
--root-background: var(--left-pane-background-color);
|
||||||
@@ -195,9 +192,9 @@
|
|||||||
--badge-background-color: #ffffff1a;
|
--badge-background-color: #ffffff1a;
|
||||||
--badge-text-color: var(--muted-text-color);
|
--badge-text-color: var(--muted-text-color);
|
||||||
|
|
||||||
--promoted-attribute-card-background-color: #ffffff21;
|
--promoted-attribute-card-background-color: var(--card-background-color);
|
||||||
--promoted-attribute-card-shadow: none;
|
--promoted-attribute-card-shadow-color: #000000b3;
|
||||||
|
|
||||||
--floating-button-shadow-color: #00000080;
|
--floating-button-shadow-color: #00000080;
|
||||||
--floating-button-background-color: #494949d2;
|
--floating-button-background-color: #494949d2;
|
||||||
--floating-button-color: var(--button-text-color);
|
--floating-button-color: var(--button-text-color);
|
||||||
@@ -211,8 +208,6 @@
|
|||||||
--floating-button-hide-button-background: #00000029;
|
--floating-button-hide-button-background: #00000029;
|
||||||
--floating-button-hide-button-color: #ffffff63;
|
--floating-button-hide-button-color: #ffffff63;
|
||||||
|
|
||||||
--right-pane-background-color: var(--main-background-color);
|
|
||||||
--right-pane-background-color-bgfx: #0c0c0c24; /* Only for the vertical layout */
|
|
||||||
--right-pane-item-hover-background: #ffffff26;
|
--right-pane-item-hover-background: #ffffff26;
|
||||||
--right-pane-item-hover-color: white;
|
--right-pane-item-hover-color: white;
|
||||||
|
|
||||||
@@ -232,8 +227,8 @@
|
|||||||
--card-background-color: #ffffff12;
|
--card-background-color: #ffffff12;
|
||||||
--card-background-hover-color: #3c3c3c;
|
--card-background-hover-color: #3c3c3c;
|
||||||
--card-background-press-color: #464646;
|
--card-background-press-color: #464646;
|
||||||
--card-border-color: transparent;
|
--card-border-color: #222222;
|
||||||
--card-box-shadow: none;
|
--card-box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);
|
||||||
|
|
||||||
--calendar-color: var(--menu-text-color);
|
--calendar-color: var(--menu-text-color);
|
||||||
--calendar-weekday-labels-color: var(--muted-text-color);
|
--calendar-weekday-labels-color: var(--muted-text-color);
|
||||||
@@ -299,10 +294,4 @@ body ::-webkit-calendar-picker-indicator {
|
|||||||
|
|
||||||
body .todo-list input[type="checkbox"]:not(:checked):before {
|
body .todo-list input[type="checkbox"]:not(:checked):before {
|
||||||
border-color: var(--muted-text-color) !important;
|
border-color: var(--muted-text-color) !important;
|
||||||
}
|
|
||||||
|
|
||||||
.tinted-quick-edit-dialog {
|
|
||||||
--modal-background-color: hsl(var(--custom-color-hue), 8.8%, 11.2%);
|
|
||||||
--modal-border-color: hsl(var(--custom-color-hue), 9.4%, 25.1%);
|
|
||||||
--promoted-attribute-card-background-color: hsl(var(--custom-color-hue), 13.2%, 20.8%);
|
|
||||||
}
|
}
|
||||||
@@ -159,9 +159,6 @@
|
|||||||
--protected-session-active-icon-color: #16b516;
|
--protected-session-active-icon-color: #16b516;
|
||||||
--sync-status-error-pulse-color: #ff5528;
|
--sync-status-error-pulse-color: #ff5528;
|
||||||
|
|
||||||
--center-pane-vert-layout-background-color-bgfx: #ffffff75;
|
|
||||||
--center-pane-horiz-layout-background-color-bgfx: #ffffffd6;
|
|
||||||
|
|
||||||
--right-pane-heading-color: gray;
|
--right-pane-heading-color: gray;
|
||||||
|
|
||||||
--root-background: var(--left-pane-background-color);
|
--root-background: var(--left-pane-background-color);
|
||||||
@@ -188,8 +185,8 @@
|
|||||||
--badge-background-color: #00000011;
|
--badge-background-color: #00000011;
|
||||||
--badge-text-color: var(--muted-text-color);
|
--badge-text-color: var(--muted-text-color);
|
||||||
|
|
||||||
--promoted-attribute-card-background-color: #00000014;
|
--promoted-attribute-card-background-color: var(--card-background-color);
|
||||||
--promoted-attribute-card-shadow: none;
|
--promoted-attribute-card-shadow-color: #00000033;
|
||||||
|
|
||||||
--floating-button-shadow-color: #00000042;
|
--floating-button-shadow-color: #00000042;
|
||||||
--floating-button-background-color: #eaeaeacc;
|
--floating-button-background-color: #eaeaeacc;
|
||||||
@@ -210,8 +207,6 @@
|
|||||||
--new-tab-button-hover-background: white;
|
--new-tab-button-hover-background: white;
|
||||||
--new-tab-button-hover-color: black;
|
--new-tab-button-hover-color: black;
|
||||||
|
|
||||||
--right-pane-background-color: var(--main-background-color);
|
|
||||||
--right-pane-background-color-bgfx: var(--center-pane-vert-layout-background-color-bgfx); /* Only for the vertical layout */
|
|
||||||
--right-pane-item-hover-background: #ececec;
|
--right-pane-item-hover-background: #ececec;
|
||||||
--right-pane-item-hover-color: inherit;
|
--right-pane-item-hover-color: inherit;
|
||||||
|
|
||||||
@@ -228,12 +223,12 @@
|
|||||||
|
|
||||||
--code-block-box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.1), 0px 0px 2px rgba(0, 0, 0, 0.2);
|
--code-block-box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.1), 0px 0px 2px rgba(0, 0, 0, 0.2);
|
||||||
|
|
||||||
--card-background-color: #0000000d;
|
--card-background-color: var(--accented-background-color);
|
||||||
--card-background-hover-color: #f9f9f9;
|
--card-background-hover-color: #f9f9f9;
|
||||||
--card-background-press-color: #efefef;
|
--card-background-press-color: #efefef;
|
||||||
--card-border-color: transparent;
|
--card-border-color: #eaeaea;
|
||||||
--card-shadow-color: rgba(0, 0, 0, 0.1);
|
--card-shadow-color: rgba(0, 0, 0, 0.1);
|
||||||
--card-box-shadow: none;
|
--card-box-shadow: 0 0 12px var(--card-shadow-color);
|
||||||
|
|
||||||
--calendar-color: var(--menu-text-color);
|
--calendar-color: var(--menu-text-color);
|
||||||
--calendar-weekday-labels-color: var(--muted-text-color);
|
--calendar-weekday-labels-color: var(--muted-text-color);
|
||||||
@@ -275,10 +270,4 @@
|
|||||||
* The --custom-color-hue variable contains the hue of the user-selected note color.
|
* The --custom-color-hue variable contains the hue of the user-selected note color.
|
||||||
* This value is unset for gray tones. */
|
* This value is unset for gray tones. */
|
||||||
--custom-bg-color: hsl(var(--custom-color-hue), 37%, 89%, 1);
|
--custom-bg-color: hsl(var(--custom-color-hue), 37%, 89%, 1);
|
||||||
}
|
|
||||||
|
|
||||||
.tinted-quick-edit-dialog {
|
|
||||||
--modal-background-color: hsl(var(--custom-color-hue), 56%, 96%);
|
|
||||||
--modal-border-color: hsl(var(--custom-color-hue), 33%, 41%);
|
|
||||||
--promoted-attribute-card-background-color: hsl(var(--custom-color-hue), 40%, 88%);
|
|
||||||
}
|
}
|
||||||
@@ -82,7 +82,6 @@
|
|||||||
|
|
||||||
/* Theme capabilities */
|
/* Theme capabilities */
|
||||||
--tab-note-icons: true;
|
--tab-note-icons: true;
|
||||||
--allow-background-effects: true;
|
|
||||||
|
|
||||||
/* To ensure that a tree item's custom color remains sufficiently contrasted and readable,
|
/* To ensure that a tree item's custom color remains sufficiently contrasted and readable,
|
||||||
* the color is adjusted based on the current color scheme (light or dark). The lightness
|
* the color is adjusted based on the current color scheme (light or dark). The lightness
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ div.note-detail-empty {
|
|||||||
--options-card-min-width: 500px;
|
--options-card-min-width: 500px;
|
||||||
--options-card-max-width: 900px;
|
--options-card-max-width: 900px;
|
||||||
--options-card-padding: 17px;
|
--options-card-padding: 17px;
|
||||||
--options-title-font-size: .75rem;
|
--options-title-font-size: 1rem;
|
||||||
--options-title-offset: 13px;
|
--options-title-offset: 13px;
|
||||||
}
|
}
|
||||||
/* Create a gap at the top of the option pages */
|
/* Create a gap at the top of the option pages */
|
||||||
@@ -173,7 +173,8 @@ div.note-detail-empty {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.options-section:not(.tn-no-card) {
|
.options-section:not(.tn-no-card) {
|
||||||
border-radius: 8px;
|
margin: auto;
|
||||||
|
border-radius: 12px;
|
||||||
border: 1px solid var(--card-border-color) !important;
|
border: 1px solid var(--card-border-color) !important;
|
||||||
box-shadow: var(--card-box-shadow);
|
box-shadow: var(--card-box-shadow);
|
||||||
background: var(--card-background-color);
|
background: var(--card-background-color);
|
||||||
@@ -181,7 +182,7 @@ div.note-detail-empty {
|
|||||||
margin-bottom: calc(var(--options-title-offset) + 26px) !important;
|
margin-bottom: calc(var(--options-title-offset) + 26px) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
body.desktop .options-section:not(.tn-no-card) {
|
body.desktop .option-section:not(.tn-no-card) {
|
||||||
min-width: var(--options-card-min-width);
|
min-width: var(--options-card-min-width);
|
||||||
max-width: var(--options-card-max-width);
|
max-width: var(--options-card-max-width);
|
||||||
}
|
}
|
||||||
@@ -192,16 +193,9 @@ body.desktop .options-section:not(.tn-no-card) {
|
|||||||
padding-bottom: var(--default-padding);
|
padding-bottom: var(--default-padding);
|
||||||
}
|
}
|
||||||
|
|
||||||
.options-section:not(.tn-no-card) h4,
|
|
||||||
.options-section:not(.tn-no-card) h5 {
|
|
||||||
text-transform: uppercase;
|
|
||||||
letter-spacing: .4pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.options-section:not(.tn-no-card) h4 {
|
.options-section:not(.tn-no-card) h4 {
|
||||||
font-size: var(--options-title-font-size);
|
font-size: var(--options-title-font-size);
|
||||||
font-weight: 600;
|
font-weight: bold;
|
||||||
color: var(--launcher-pane-text-color);
|
color: var(--launcher-pane-text-color);
|
||||||
margin-top: calc(-1 * var(--options-card-padding) - var(--options-title-font-size) - var(--options-title-offset)) !important;
|
margin-top: calc(-1 * var(--options-card-padding) - var(--options-title-font-size) - var(--options-title-offset)) !important;
|
||||||
margin-bottom: calc(var(--options-title-offset) + var(--options-card-padding)) !important;
|
margin-bottom: calc(var(--options-title-offset) + var(--options-card-padding)) !important;
|
||||||
|
|||||||
@@ -34,7 +34,6 @@
|
|||||||
div.promoted-attributes-container {
|
div.promoted-attributes-container {
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
margin-inline-start: 12px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--dropdown-backdrop-filter: blur(20px) saturate(6);
|
--dropdown-backdrop-filter: blur(10px) saturate(6);
|
||||||
--dropdown-border-radius: 10px;
|
--dropdown-border-radius: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,52 +35,30 @@ body.mobile {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* #region Mica */
|
/* #region Mica */
|
||||||
|
|
||||||
body.background-effects.platform-win32 {
|
body.background-effects.platform-win32 {
|
||||||
/* Quirk: --background-material is read before "theme-supports-background-effects" class
|
|
||||||
* is applied. Apply the matterial even if the theme doesn't support it. */
|
|
||||||
--background-material: tabbed;
|
--background-material: tabbed;
|
||||||
}
|
|
||||||
|
|
||||||
body.background-effects.theme-supports-background-effects.platform-win32 {
|
|
||||||
--launcher-pane-horiz-border-color: var(--launcher-pane-horiz-border-color-bgfx);
|
--launcher-pane-horiz-border-color: var(--launcher-pane-horiz-border-color-bgfx);
|
||||||
--launcher-pane-horiz-background-color: var(--launcher-pane-horiz-background-color-bgfx);
|
--launcher-pane-horiz-background-color: var(--launcher-pane-horiz-background-color-bgfx);
|
||||||
--launcher-pane-vert-background-color: var(--launcher-pane-vert-background-color-bgfx);
|
--launcher-pane-vert-background-color: var(--launcher-pane-vert-background-color-bgfx);
|
||||||
--tab-background-color: var(--window-background-color-bgfx);
|
--tab-background-color: var(--window-background-color-bgfx);
|
||||||
--new-tab-button-background: var(--window-background-color-bgfx);
|
--new-tab-button-background: var(--window-background-color-bgfx);
|
||||||
--active-tab-background-color: var(--launcher-pane-horiz-background-color);
|
--active-tab-background-color: var(--launcher-pane-horiz-background-color);
|
||||||
--root-background: transparent;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
body.background-effects.platform-win32.layout-vertical {
|
body.background-effects.platform-win32.layout-vertical {
|
||||||
|
--left-pane-background-color: var(--window-background-color-bgfx);
|
||||||
--background-material: mica;
|
--background-material: mica;
|
||||||
}
|
}
|
||||||
|
|
||||||
body.background-effects.theme-supports-background-effects.platform-win32.layout-vertical {
|
body.background-effects.platform-win32,
|
||||||
--left-pane-background-color: var(--window-background-color-bgfx);
|
body.background-effects.platform-win32 #root-widget {
|
||||||
--center-pane-background-color-bgfx: var(--center-pane-vert-layout-background-color-bgfx);
|
|
||||||
--right-pane-background-color: var(--right-pane-background-color-bgfx);
|
|
||||||
}
|
|
||||||
|
|
||||||
body.background-effects.theme-supports-background-effects.platform-win32.layout-horizontal {
|
|
||||||
--center-pane-background-color-bgfx: var(--center-pane-horiz-layout-background-color-bgfx);
|
|
||||||
}
|
|
||||||
|
|
||||||
body.background-effects.theme-supports-background-effects.platform-win32,
|
|
||||||
body.background-effects.theme-supports-background-effects.platform-win32 #root-widget {
|
|
||||||
background: var(--window-background-color-bgfx) !important;
|
background: var(--window-background-color-bgfx) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
body.background-effects.theme-supports-background-effects.platform-win32.layout-horizontal #horizontal-main-container,
|
body.background-effects.platform-win32.layout-horizontal #horizontal-main-container,
|
||||||
body.background-effects.theme-supports-background-effects.platform-win32.layout-vertical #vertical-main-container {
|
body.background-effects.platform-win32.layout-vertical #vertical-main-container {
|
||||||
background-color: var(--root-background);
|
background-color: var(--root-background);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Note split with background effects */
|
|
||||||
body.background-effects.theme-supports-background-effects.platform-win32 #center-pane .note-split.bgfx {
|
|
||||||
--note-split-background-color: var(--center-pane-background-color-bgfx);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* #endregion */
|
/* #endregion */
|
||||||
|
|
||||||
/* Matches when the left pane is collapsed */
|
/* Matches when the left pane is collapsed */
|
||||||
@@ -1193,18 +1171,23 @@ body.layout-vertical .tab-row-widget-is-sorting .note-tab.note-tab-is-dragging .
|
|||||||
* CENTER PANE
|
* CENTER PANE
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* The first visible note split */
|
#center-pane {
|
||||||
.vertical-layout #center-pane .note-split:not(.visible ~ .visible) {
|
background: var(--main-background-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.vertical-layout #center-pane {
|
||||||
border-radius: var(--center-pane-border-radius) 0 0 0;
|
border-radius: var(--center-pane-border-radius) 0 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#center-pane .note-split {
|
.note-split {
|
||||||
padding-top: 2px;
|
padding-top: 2px;
|
||||||
background-color: var(--note-split-background-color, var(--main-background-color));
|
animation: note-entrance 100ms linear;
|
||||||
|
/* will-change: opacity; -- causes some weird artifacts to the note menu in split view */
|
||||||
}
|
}
|
||||||
|
|
||||||
body:not(.background-effects) #center-pane .note-split {
|
.split-note-container-widget > .gutter {
|
||||||
animation: note-entrance 100ms linear;
|
background: var(--root-background) !important;
|
||||||
|
transition: background 150ms ease-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1217,9 +1200,9 @@ body:not(.background-effects) #center-pane .note-split {
|
|||||||
|
|
||||||
@keyframes note-entrance {
|
@keyframes note-entrance {
|
||||||
from {
|
from {
|
||||||
filter: opacity(0);
|
opacity: 0;
|
||||||
} to {
|
} to {
|
||||||
filter: opacity(1);
|
opacity: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1345,7 +1328,8 @@ div.promoted-attribute-cell {
|
|||||||
--pa-card-padding-inline-end: 2px;
|
--pa-card-padding-inline-end: 2px;
|
||||||
--input-background-color: transparent;
|
--input-background-color: transparent;
|
||||||
|
|
||||||
box-shadow: var(--promoted-attribute-card-shadow);
|
box-shadow: 1px 1px 2px var(--promoted-attribute-card-shadow-color);
|
||||||
|
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
@@ -1732,7 +1716,7 @@ div.find-replace-widget div.find-widget-found-wrapper > span {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#right-pane {
|
#right-pane {
|
||||||
background: var(--right-pane-background-color);
|
background: var(--main-background-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
#right-pane div.card-header {
|
#right-pane div.card-header {
|
||||||
|
|||||||
@@ -520,7 +520,9 @@
|
|||||||
"max_content_width": {
|
"max_content_width": {
|
||||||
"max_width_unit": "بكسل",
|
"max_width_unit": "بكسل",
|
||||||
"title": "عرض المحتوى",
|
"title": "عرض المحتوى",
|
||||||
"max_width_label": "اقصى عرض للمحتوى"
|
"reload_button": "اعادة تحميل الواجهة",
|
||||||
|
"max_width_label": "اقصى عرض للمحتوى",
|
||||||
|
"reload_description": "تغييرات من خيارات المظهر"
|
||||||
},
|
},
|
||||||
"native_title_bar": {
|
"native_title_bar": {
|
||||||
"enabled": "مفعل",
|
"enabled": "مفعل",
|
||||||
|
|||||||
@@ -1105,6 +1105,9 @@
|
|||||||
"title": "内容宽度",
|
"title": "内容宽度",
|
||||||
"default_description": "Trilium默认会限制内容的最大宽度以提高在宽屏中全屏时的可读性。",
|
"default_description": "Trilium默认会限制内容的最大宽度以提高在宽屏中全屏时的可读性。",
|
||||||
"max_width_label": "内容最大宽度(像素)",
|
"max_width_label": "内容最大宽度(像素)",
|
||||||
|
"apply_changes_description": "要应用内容宽度更改,请点击",
|
||||||
|
"reload_button": "重载前端",
|
||||||
|
"reload_description": "来自外观选项的更改",
|
||||||
"max_width_unit": "像素"
|
"max_width_unit": "像素"
|
||||||
},
|
},
|
||||||
"native_title_bar": {
|
"native_title_bar": {
|
||||||
|
|||||||
@@ -1103,6 +1103,9 @@
|
|||||||
"title": "Inhaltsbreite",
|
"title": "Inhaltsbreite",
|
||||||
"default_description": "Trilium begrenzt standardmäßig die maximale Inhaltsbreite, um die Lesbarkeit für maximierte Bildschirme auf Breitbildschirmen zu verbessern.",
|
"default_description": "Trilium begrenzt standardmäßig die maximale Inhaltsbreite, um die Lesbarkeit für maximierte Bildschirme auf Breitbildschirmen zu verbessern.",
|
||||||
"max_width_label": "Maximale Inhaltsbreite in Pixel",
|
"max_width_label": "Maximale Inhaltsbreite in Pixel",
|
||||||
|
"apply_changes_description": "Um Änderungen an der Inhaltsbreite anzuwenden, klicke auf",
|
||||||
|
"reload_button": "Frontend neu laden",
|
||||||
|
"reload_description": "Änderungen an den Darstellungsoptionen",
|
||||||
"max_width_unit": "Pixel"
|
"max_width_unit": "Pixel"
|
||||||
},
|
},
|
||||||
"native_title_bar": {
|
"native_title_bar": {
|
||||||
|
|||||||
@@ -1107,7 +1107,10 @@
|
|||||||
"title": "Content Width",
|
"title": "Content Width",
|
||||||
"default_description": "Trilium by default limits max content width to improve readability for maximized screens on wide screens.",
|
"default_description": "Trilium by default limits max content width to improve readability for maximized screens on wide screens.",
|
||||||
"max_width_label": "Max content width",
|
"max_width_label": "Max content width",
|
||||||
"max_width_unit": "pixels"
|
"max_width_unit": "pixels",
|
||||||
|
"apply_changes_description": "To apply content width changes, click on",
|
||||||
|
"reload_button": "reload frontend",
|
||||||
|
"reload_description": "changes from appearance options"
|
||||||
},
|
},
|
||||||
"native_title_bar": {
|
"native_title_bar": {
|
||||||
"title": "Native Title Bar (requires app restart)",
|
"title": "Native Title Bar (requires app restart)",
|
||||||
|
|||||||
@@ -1105,7 +1105,10 @@
|
|||||||
"title": "Ancho del contenido",
|
"title": "Ancho del contenido",
|
||||||
"default_description": "Trilium limita de forma predeterminada el ancho máximo del contenido para mejorar la legibilidad de ventanas maximizadas en pantallas anchas.",
|
"default_description": "Trilium limita de forma predeterminada el ancho máximo del contenido para mejorar la legibilidad de ventanas maximizadas en pantallas anchas.",
|
||||||
"max_width_label": "Ancho máximo del contenido en píxeles",
|
"max_width_label": "Ancho máximo del contenido en píxeles",
|
||||||
"max_width_unit": "píxeles"
|
"max_width_unit": "píxeles",
|
||||||
|
"apply_changes_description": "Para aplicar cambios en el ancho del contenido, haga clic en",
|
||||||
|
"reload_button": "recargar la interfaz",
|
||||||
|
"reload_description": "cambios desde las opciones de apariencia"
|
||||||
},
|
},
|
||||||
"native_title_bar": {
|
"native_title_bar": {
|
||||||
"title": "Barra de título nativa (requiere reiniciar la aplicación)",
|
"title": "Barra de título nativa (requiere reiniciar la aplicación)",
|
||||||
|
|||||||
@@ -1106,6 +1106,9 @@
|
|||||||
"title": "Largeur du contenu",
|
"title": "Largeur du contenu",
|
||||||
"default_description": "Trilium limite par défaut la largeur maximale du contenu pour améliorer la lisibilité sur des écrans larges.",
|
"default_description": "Trilium limite par défaut la largeur maximale du contenu pour améliorer la lisibilité sur des écrans larges.",
|
||||||
"max_width_label": "Largeur maximale du contenu en pixels",
|
"max_width_label": "Largeur maximale du contenu en pixels",
|
||||||
|
"apply_changes_description": "Pour appliquer les modifications de largeur du contenu, cliquez sur",
|
||||||
|
"reload_button": "recharger l'interface",
|
||||||
|
"reload_description": "changements par rapport aux options d'apparence",
|
||||||
"max_width_unit": "Pixels"
|
"max_width_unit": "Pixels"
|
||||||
},
|
},
|
||||||
"native_title_bar": {
|
"native_title_bar": {
|
||||||
|
|||||||
@@ -1573,7 +1573,10 @@
|
|||||||
"title": "Larghezza del contenuto",
|
"title": "Larghezza del contenuto",
|
||||||
"default_description": "Per impostazione predefinita, Trilium limita la larghezza massima del contenuto per migliorare la leggibilità sugli schermi più grandi.",
|
"default_description": "Per impostazione predefinita, Trilium limita la larghezza massima del contenuto per migliorare la leggibilità sugli schermi più grandi.",
|
||||||
"max_width_label": "Larghezza massima del contenuto",
|
"max_width_label": "Larghezza massima del contenuto",
|
||||||
"max_width_unit": "pixel"
|
"max_width_unit": "pixel",
|
||||||
|
"apply_changes_description": "Per applicare le modifiche alla larghezza del contenuto, fare clic su",
|
||||||
|
"reload_button": "ricarica frontend",
|
||||||
|
"reload_description": "modifiche dalle opzioni di aspetto"
|
||||||
},
|
},
|
||||||
"native_title_bar": {
|
"native_title_bar": {
|
||||||
"title": "Barra del titolo nativa (richiede il riavvio dell'app)",
|
"title": "Barra del titolo nativa (richiede il riavvio dell'app)",
|
||||||
|
|||||||
@@ -833,10 +833,13 @@
|
|||||||
"theme_defined": "テーマが定義されました"
|
"theme_defined": "テーマが定義されました"
|
||||||
},
|
},
|
||||||
"max_content_width": {
|
"max_content_width": {
|
||||||
|
"reload_button": "フロントエンドをリロード",
|
||||||
"title": "コンテンツ幅",
|
"title": "コンテンツ幅",
|
||||||
"default_description": "Triliumは、ワイドスクリーンで最大化された画面での可読性を向上させるために、デフォルトでコンテンツの最大幅を制限しています。",
|
"default_description": "Triliumは、ワイドスクリーンで最大化された画面での可読性を向上させるために、デフォルトでコンテンツの最大幅を制限しています。",
|
||||||
"max_width_label": "最大コンテンツ幅",
|
"max_width_label": "最大コンテンツ幅",
|
||||||
"max_width_unit": "ピクセル"
|
"max_width_unit": "ピクセル",
|
||||||
|
"apply_changes_description": "コンテンツ幅の変更を適用するには、クリックしてください",
|
||||||
|
"reload_description": "外観設定から変更"
|
||||||
},
|
},
|
||||||
"theme": {
|
"theme": {
|
||||||
"title": "アプリのテーマ",
|
"title": "アプリのテーマ",
|
||||||
|
|||||||
@@ -1464,7 +1464,10 @@
|
|||||||
"title": "Szerokość zawartości",
|
"title": "Szerokość zawartości",
|
||||||
"default_description": "Trilium domyślnie ogranicza maksymalną szerokość zawartości, aby poprawić czytelność na zmaksymalizowanych ekranach o dużej szerokości.",
|
"default_description": "Trilium domyślnie ogranicza maksymalną szerokość zawartości, aby poprawić czytelność na zmaksymalizowanych ekranach o dużej szerokości.",
|
||||||
"max_width_label": "Maksymalna szerokość zawartości",
|
"max_width_label": "Maksymalna szerokość zawartości",
|
||||||
"max_width_unit": "piksele"
|
"max_width_unit": "piksele",
|
||||||
|
"apply_changes_description": "Aby zastosować zmiany szerokości zawartości, kliknij na",
|
||||||
|
"reload_button": "przeładuj frontend",
|
||||||
|
"reload_description": "zmiany z opcji wyglądu"
|
||||||
},
|
},
|
||||||
"native_title_bar": {
|
"native_title_bar": {
|
||||||
"title": "Natywny pasek tytułu (wymaga ponownego uruchomienia aplikacji)",
|
"title": "Natywny pasek tytułu (wymaga ponownego uruchomienia aplikacji)",
|
||||||
|
|||||||
@@ -1082,7 +1082,10 @@
|
|||||||
"title": "Largura do Conteúdo",
|
"title": "Largura do Conteúdo",
|
||||||
"default_description": "Por padrão, o Trilium limita a largura máxima do conteúdo para melhorar a legibilidade em janelas maximizadas em ecrãs largos.",
|
"default_description": "Por padrão, o Trilium limita a largura máxima do conteúdo para melhorar a legibilidade em janelas maximizadas em ecrãs largos.",
|
||||||
"max_width_label": "Largura máxima do conteúdo",
|
"max_width_label": "Largura máxima do conteúdo",
|
||||||
"max_width_unit": "pixels"
|
"max_width_unit": "pixels",
|
||||||
|
"apply_changes_description": "Para aplicar as alterações de largura do conteúdo, clique em",
|
||||||
|
"reload_button": "recarregar frontend",
|
||||||
|
"reload_description": "alterações de opções de aparência"
|
||||||
},
|
},
|
||||||
"native_title_bar": {
|
"native_title_bar": {
|
||||||
"title": "Barra de Título Nativa (requer recarregar a app)",
|
"title": "Barra de Título Nativa (requer recarregar a app)",
|
||||||
|
|||||||
@@ -1304,6 +1304,9 @@
|
|||||||
"title": "Largura do Conteúdo",
|
"title": "Largura do Conteúdo",
|
||||||
"max_width_label": "Largura máxima do conteúdo",
|
"max_width_label": "Largura máxima do conteúdo",
|
||||||
"max_width_unit": "pixels",
|
"max_width_unit": "pixels",
|
||||||
|
"apply_changes_description": "Para aplicar as alterações de largura do conteúdo, clique em",
|
||||||
|
"reload_button": "recarregar frontend",
|
||||||
|
"reload_description": "alterações de opções de aparência",
|
||||||
"default_description": "Por padrão, o Trilium limita a largura máxima do conteúdo para melhorar a legibilidade em janelas maximizadas em telas wide."
|
"default_description": "Por padrão, o Trilium limita a largura máxima do conteúdo para melhorar a legibilidade em janelas maximizadas em telas wide."
|
||||||
},
|
},
|
||||||
"native_title_bar": {
|
"native_title_bar": {
|
||||||
|
|||||||
@@ -800,9 +800,12 @@
|
|||||||
"modal_body_text": "Din cauza limitărilor la nivel de navigator, nu este posibilă citirea clipboard-ului din JavaScript. Inserați Markdown-ul pentru a-l importa în caseta de mai jos și dați clic pe butonul Import"
|
"modal_body_text": "Din cauza limitărilor la nivel de navigator, nu este posibilă citirea clipboard-ului din JavaScript. Inserați Markdown-ul pentru a-l importa în caseta de mai jos și dați clic pe butonul Import"
|
||||||
},
|
},
|
||||||
"max_content_width": {
|
"max_content_width": {
|
||||||
|
"apply_changes_description": "Pentru a aplica schimbările de lățime a conținutului, dați click pe",
|
||||||
"default_description": "În mod implicit Trilium limitează lățimea conținutului pentru a îmbunătăți lizibilitatea pentru ferestrele maximizate pe ecrane late.",
|
"default_description": "În mod implicit Trilium limitează lățimea conținutului pentru a îmbunătăți lizibilitatea pentru ferestrele maximizate pe ecrane late.",
|
||||||
"max_width_label": "Lungimea maximă a conținutului",
|
"max_width_label": "Lungimea maximă a conținutului",
|
||||||
"max_width_unit": "pixeli",
|
"max_width_unit": "pixeli",
|
||||||
|
"reload_button": "reîncarcă interfața",
|
||||||
|
"reload_description": "schimbări din opțiunile de afișare",
|
||||||
"title": "Lățime conținut"
|
"title": "Lățime conținut"
|
||||||
},
|
},
|
||||||
"mobile_detail_menu": {
|
"mobile_detail_menu": {
|
||||||
|
|||||||
@@ -1203,8 +1203,11 @@
|
|||||||
"max_content_width": {
|
"max_content_width": {
|
||||||
"max_width_unit": "пикселей",
|
"max_width_unit": "пикселей",
|
||||||
"title": "Ширина контентной области",
|
"title": "Ширина контентной области",
|
||||||
|
"reload_button": "перезагрузить интерфейс",
|
||||||
"default_description": "Trilium по умолчанию ограничивает максимальную ширину контента, чтобы улучшить читаемость на широких экранах.",
|
"default_description": "Trilium по умолчанию ограничивает максимальную ширину контента, чтобы улучшить читаемость на широких экранах.",
|
||||||
"max_width_label": "Максимальная ширина контентной области"
|
"max_width_label": "Максимальная ширина контентной области",
|
||||||
|
"apply_changes_description": "Чтобы применить изменения, нажмите на",
|
||||||
|
"reload_description": "изменения в параметрах внешнего вида"
|
||||||
},
|
},
|
||||||
"native_title_bar": {
|
"native_title_bar": {
|
||||||
"enabled": "включено",
|
"enabled": "включено",
|
||||||
|
|||||||
@@ -1103,6 +1103,9 @@
|
|||||||
"title": "內容寬度",
|
"title": "內容寬度",
|
||||||
"default_description": "Trilium 預設會限制內容的最大寬度以提高在寬螢幕中全螢幕時的可讀性。",
|
"default_description": "Trilium 預設會限制內容的最大寬度以提高在寬螢幕中全螢幕時的可讀性。",
|
||||||
"max_width_label": "內容最大寬度(像素)",
|
"max_width_label": "內容最大寬度(像素)",
|
||||||
|
"apply_changes_description": "要套用內容寬度更改,請點擊",
|
||||||
|
"reload_button": "重新載入前端",
|
||||||
|
"reload_description": "來自外觀選項的更改",
|
||||||
"max_width_unit": "像素"
|
"max_width_unit": "像素"
|
||||||
},
|
},
|
||||||
"native_title_bar": {
|
"native_title_bar": {
|
||||||
|
|||||||
@@ -1204,7 +1204,10 @@
|
|||||||
"title": "Ширина вмісту",
|
"title": "Ширина вмісту",
|
||||||
"default_description": "Trilium за замовчуванням обмежує максимальну ширину вмісту, щоб поліпшити читабельність на широкоформатних екранах у режимі максимального розширення.",
|
"default_description": "Trilium за замовчуванням обмежує максимальну ширину вмісту, щоб поліпшити читабельність на широкоформатних екранах у режимі максимального розширення.",
|
||||||
"max_width_label": "Максимальна ширина вмісту",
|
"max_width_label": "Максимальна ширина вмісту",
|
||||||
"max_width_unit": "пікселів"
|
"max_width_unit": "пікселів",
|
||||||
|
"apply_changes_description": "Щоб застосувати зміни ширини вмісту, натисніть на",
|
||||||
|
"reload_button": "перезавантажити інтерфейс",
|
||||||
|
"reload_description": "зміни в параметрах зовнішнього вигляду"
|
||||||
},
|
},
|
||||||
"native_title_bar": {
|
"native_title_bar": {
|
||||||
"title": "Нативний рядок заголовка (потрібен перезапуск)",
|
"title": "Нативний рядок заголовка (потрібен перезапуск)",
|
||||||
|
|||||||
@@ -23,24 +23,6 @@ export class CssVarReader {
|
|||||||
return (!isNaN(number.valueOf()) ? number.valueOf() : defaultValue)
|
return (!isNaN(number.valueOf()) ? number.valueOf() : defaultValue)
|
||||||
}
|
}
|
||||||
|
|
||||||
asBoolean(defaultValue?: boolean) {
|
|
||||||
let value = this.value.toLocaleLowerCase().trim();
|
|
||||||
let result: boolean | undefined;
|
|
||||||
|
|
||||||
switch (value) {
|
|
||||||
case "true":
|
|
||||||
case "1":
|
|
||||||
result = true;
|
|
||||||
break;
|
|
||||||
case "false":
|
|
||||||
case "0":
|
|
||||||
result = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (result !== undefined) ? result : defaultValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
asEnum<T>(enumType: T, defaultValue?: T[keyof T]): T[keyof T] | undefined {
|
asEnum<T>(enumType: T, defaultValue?: T[keyof T]): T[keyof T] | undefined {
|
||||||
let result: T[keyof T] | undefined;
|
let result: T[keyof T] | undefined;
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
.floating-buttons-children,
|
.floating-buttons-children,
|
||||||
.show-floating-buttons {
|
.show-floating-buttons {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: var(--floating-buttons-vert-offset, 14px);
|
top: var(--floating-buttons-vert-offset, 10px);
|
||||||
inset-inline-end: var(--floating-buttons-horiz-offset, 10px);
|
inset-inline-end: var(--floating-buttons-horiz-offset, 10px);
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
.note-list-widget {
|
.note-list-widget {
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
max-width: var(--max-content-width); /* Inherited from .note-split */
|
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
contain: none !important;
|
contain: none !important;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
import { EventData } from "../../components/app_context.js";
|
import { EventData } from "../../components/app_context.js";
|
||||||
import { LOCALES } from "@triliumnext/commons";
|
|
||||||
import { readCssVar } from "../../utils/css-var.js";
|
|
||||||
import FlexContainer from "./flex_container.js";
|
import FlexContainer from "./flex_container.js";
|
||||||
import options from "../../services/options.js";
|
import options from "../../services/options.js";
|
||||||
import type BasicWidget from "../basic_widget.js";
|
import type BasicWidget from "../basic_widget.js";
|
||||||
import utils from "../../services/utils.js";
|
import utils from "../../services/utils.js";
|
||||||
|
import { LOCALES } from "@triliumnext/commons";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The root container is the top-most widget/container, from which the entire layout derives.
|
* The root container is the top-most widget/container, from which the entire layout derives.
|
||||||
@@ -31,11 +30,9 @@ export default class RootContainer extends FlexContainer<BasicWidget> {
|
|||||||
window.visualViewport?.addEventListener("resize", () => this.#onMobileResize());
|
window.visualViewport?.addEventListener("resize", () => this.#onMobileResize());
|
||||||
}
|
}
|
||||||
|
|
||||||
this.#setMaxContentWidth(options.getInt("maxContentWidth") ?? 0);
|
|
||||||
this.#setMotion(options.is("motionEnabled"));
|
this.#setMotion(options.is("motionEnabled"));
|
||||||
this.#setShadows(options.is("shadowsEnabled"));
|
this.#setShadows(options.is("shadowsEnabled"));
|
||||||
this.#setBackdropEffects(options.is("backdropEffectsEnabled"));
|
this.#setBackdropEffects(options.is("backdropEffectsEnabled"));
|
||||||
this.#setThemeCapabilities();
|
|
||||||
this.#setLocaleAndDirection(options.get("locale"));
|
this.#setLocaleAndDirection(options.get("locale"));
|
||||||
|
|
||||||
return super.render();
|
return super.render();
|
||||||
@@ -53,24 +50,14 @@ export default class RootContainer extends FlexContainer<BasicWidget> {
|
|||||||
if (loadResults.isOptionReloaded("backdropEffectsEnabled")) {
|
if (loadResults.isOptionReloaded("backdropEffectsEnabled")) {
|
||||||
this.#setBackdropEffects(options.is("backdropEffectsEnabled"));
|
this.#setBackdropEffects(options.is("backdropEffectsEnabled"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (loadResults.isOptionReloaded("maxContentWidth")) {
|
|
||||||
this.#setMaxContentWidth(options.getInt("maxContentWidth") ?? 0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#onMobileResize() {
|
#onMobileResize() {
|
||||||
const currentViewportHeight = getViewportHeight();
|
const currentViewportHeight = getViewportHeight();
|
||||||
const isKeyboardOpened = (currentViewportHeight < this.originalViewportHeight);
|
const isKeyboardOpened = (currentViewportHeight < this.originalViewportHeight);
|
||||||
this.$widget.toggleClass("virtual-keyboard-opened", isKeyboardOpened);
|
this.$widget.toggleClass("virtual-keyboard-opened", isKeyboardOpened);
|
||||||
}
|
}
|
||||||
|
|
||||||
#setMaxContentWidth(width: number) {
|
|
||||||
width = Math.max(width, 640);
|
|
||||||
document.body.style.setProperty("--preferred-max-content-width", `${width}px`);
|
|
||||||
}
|
|
||||||
|
|
||||||
#setMotion(enabled: boolean) {
|
#setMotion(enabled: boolean) {
|
||||||
document.body.classList.toggle("motion-disabled", !enabled);
|
document.body.classList.toggle("motion-disabled", !enabled);
|
||||||
jQuery.fx.off = !enabled;
|
jQuery.fx.off = !enabled;
|
||||||
@@ -84,15 +71,6 @@ export default class RootContainer extends FlexContainer<BasicWidget> {
|
|||||||
document.body.classList.toggle("backdrop-effects-disabled", !enabled);
|
document.body.classList.toggle("backdrop-effects-disabled", !enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
#setThemeCapabilities() {
|
|
||||||
// Supports background effects
|
|
||||||
|
|
||||||
const useBgfx = readCssVar(document.documentElement, "allow-background-effects")
|
|
||||||
.asBoolean(false);
|
|
||||||
|
|
||||||
document.body.classList.toggle("theme-supports-background-effects", useBgfx);
|
|
||||||
}
|
|
||||||
|
|
||||||
#setLocaleAndDirection(locale: string) {
|
#setLocaleAndDirection(locale: string) {
|
||||||
const correspondingLocale = LOCALES.find(l => l.id === locale);
|
const correspondingLocale = LOCALES.find(l => l.id === locale);
|
||||||
document.body.lang = locale;
|
document.body.lang = locale;
|
||||||
|
|||||||
@@ -57,19 +57,17 @@ const TPL = /*html*/`\
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div class="quick-edit-dialog-wrapper">
|
<div class="modal-dialog modal-lg" role="document">
|
||||||
<div class="modal-dialog modal-lg" role="document">
|
<div class="modal-content">
|
||||||
<div class="modal-content">
|
<div class="modal-header">
|
||||||
<div class="modal-header">
|
<div class="modal-title">
|
||||||
<div class="modal-title">
|
<!-- This is where the first child will be injected -->
|
||||||
<!-- This is where the first child will be injected -->
|
|
||||||
</div>
|
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
||||||
</div>
|
</div>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<!-- This is where all but the first child will be injected. -->
|
<!-- This is where all but the first child will be injected. -->
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -81,7 +79,6 @@ export default class PopupEditorDialog extends Container<BasicWidget> {
|
|||||||
private noteContext: NoteContext;
|
private noteContext: NoteContext;
|
||||||
private $modalHeader!: JQuery<HTMLElement>;
|
private $modalHeader!: JQuery<HTMLElement>;
|
||||||
private $modalBody!: JQuery<HTMLElement>;
|
private $modalBody!: JQuery<HTMLElement>;
|
||||||
private $wrapper!: JQuery<HTMLDivElement>;
|
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
@@ -96,7 +93,6 @@ export default class PopupEditorDialog extends Container<BasicWidget> {
|
|||||||
const $newWidget = $(TPL);
|
const $newWidget = $(TPL);
|
||||||
this.$modalHeader = $newWidget.find(".modal-title");
|
this.$modalHeader = $newWidget.find(".modal-title");
|
||||||
this.$modalBody = $newWidget.find(".modal-body");
|
this.$modalBody = $newWidget.find(".modal-body");
|
||||||
this.$wrapper = $newWidget.find(".quick-edit-dialog-wrapper");
|
|
||||||
|
|
||||||
const children = this.$widget.children();
|
const children = this.$widget.children();
|
||||||
this.$modalHeader.append(children[0]);
|
this.$modalHeader.append(children[0]);
|
||||||
@@ -116,21 +112,6 @@ export default class PopupEditorDialog extends Container<BasicWidget> {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const colorClass = this.noteContext.note?.getColorClass();
|
|
||||||
const wrapperElement = this.$wrapper.get(0)!;
|
|
||||||
|
|
||||||
if (colorClass) {
|
|
||||||
wrapperElement.className = "quick-edit-dialog-wrapper " + colorClass;
|
|
||||||
} else {
|
|
||||||
wrapperElement.className = "quick-edit-dialog-wrapper";
|
|
||||||
}
|
|
||||||
|
|
||||||
const customHue = getComputedStyle(wrapperElement).getPropertyValue("--custom-color-hue");
|
|
||||||
if (customHue) {
|
|
||||||
/* Apply the tinted-dialog class only if the custom color CSS class specifies a hue */
|
|
||||||
wrapperElement.classList.add("tinted-quick-edit-dialog");
|
|
||||||
}
|
|
||||||
|
|
||||||
const activeEl = document.activeElement;
|
const activeEl = document.activeElement;
|
||||||
if (activeEl && "blur" in activeEl) {
|
if (activeEl && "blur" in activeEl) {
|
||||||
(activeEl as HTMLElement).blur();
|
(activeEl as HTMLElement).blur();
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ const TPL = /*html*/`
|
|||||||
<div class="note-detail">
|
<div class="note-detail">
|
||||||
<style>
|
<style>
|
||||||
.note-detail {
|
.note-detail {
|
||||||
max-width: var(--max-content-width); /* Inherited from .note-split */
|
|
||||||
font-family: var(--detail-font-family);
|
font-family: var(--detail-font-family);
|
||||||
font-size: var(--detail-font-size);
|
font-size: var(--detail-font-size);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,7 +52,6 @@ export default class NoteWrapperWidget extends FlexContainer<BasicWidget> {
|
|||||||
|
|
||||||
const note = this.noteContext?.note;
|
const note = this.noteContext?.note;
|
||||||
if (!note) {
|
if (!note) {
|
||||||
this.$widget.addClass("bgfx");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -62,7 +61,7 @@ export default class NoteWrapperWidget extends FlexContainer<BasicWidget> {
|
|||||||
|
|
||||||
this.$widget.addClass(utils.getNoteTypeClass(note.type));
|
this.$widget.addClass(utils.getNoteTypeClass(note.type));
|
||||||
this.$widget.addClass(utils.getMimeTypeClass(note.mime));
|
this.$widget.addClass(utils.getMimeTypeClass(note.mime));
|
||||||
this.$widget.toggleClass("bgfx", note.isOptions());
|
|
||||||
this.$widget.toggleClass("protected", note.isProtected);
|
this.$widget.toggleClass("protected", note.isProtected);
|
||||||
|
|
||||||
const noteLanguage = note?.getLabelValue("language");
|
const noteLanguage = note?.getLabelValue("language");
|
||||||
@@ -71,7 +70,7 @@ export default class NoteWrapperWidget extends FlexContainer<BasicWidget> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#isFullWidthNote(note: FNote) {
|
#isFullWidthNote(note: FNote) {
|
||||||
if (["code", "image", "mermaid", "book", "render", "canvas", "webView", "mindMap"].includes(note.type)) {
|
if (["image", "mermaid", "book", "render", "canvas", "webView", "mindMap"].includes(note.type)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -299,6 +299,10 @@ function MaxContentWidth() {
|
|||||||
/>
|
/>
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
</Column>
|
</Column>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
{t("max_content_width.apply_changes_description")} <Button text={t("max_content_width.reload_button")} size="micro" onClick={reloadFrontendApp} />
|
||||||
|
</p>
|
||||||
</OptionsSection>
|
</OptionsSection>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ function TokenList({ tokens }: { tokens: EtapiToken[] }) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
tokens.length ? (
|
tokens.length ? (
|
||||||
<div style={{ overflow: "auto"}}>
|
<div style={{ overflow: "auto", height: "500px"}}>
|
||||||
<table className="table table-stripped">
|
<table className="table table-stripped">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ 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")
|
||||||
@@ -83,8 +84,7 @@ export default defineConfig(() => ({
|
|||||||
chunkFileNames: "src/[name].js",
|
chunkFileNames: "src/[name].js",
|
||||||
assetFileNames: "src/[name].[ext]",
|
assetFileNames: "src/[name].[ext]",
|
||||||
manualChunks: {
|
manualChunks: {
|
||||||
"ckeditor5": [ "@triliumnext/ckeditor5" ],
|
"ckeditor5": [ "@triliumnext/ckeditor5" ]
|
||||||
"boxicons": [ "../../node_modules/boxicons/css/boxicons.min.css" ]
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
onwarn(warning, rollupWarn) {
|
onwarn(warning, rollupWarn) {
|
||||||
|
|||||||
@@ -1,109 +0,0 @@
|
|||||||
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,28 +0,0 @@
|
|||||||
FROM node:22.21.0-bullseye-slim AS builder
|
|
||||||
RUN corepack enable
|
|
||||||
|
|
||||||
# Install native dependencies since we might be building cross-platform.
|
|
||||||
WORKDIR /usr/src/app/build
|
|
||||||
COPY ./docker/package.json ./docker/pnpm-workspace.yaml /usr/src/app/
|
|
||||||
# We have to use --no-frozen-lockfile due to CKEditor patches
|
|
||||||
RUN pnpm install --no-frozen-lockfile --prod && pnpm rebuild
|
|
||||||
|
|
||||||
FROM node:22.21.0-bullseye-slim
|
|
||||||
# Install only runtime dependencies
|
|
||||||
RUN apt-get update && \
|
|
||||||
apt-get install -y --no-install-recommends \
|
|
||||||
gosu && \
|
|
||||||
rm -rf \
|
|
||||||
/var/lib/apt/lists/* \
|
|
||||||
/var/cache/apt/*
|
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
|
||||||
COPY ./dist /usr/src/app
|
|
||||||
RUN rm -rf /usr/src/app/node_modules/better-sqlite3
|
|
||||||
COPY --from=builder /usr/src/app/node_modules/better-sqlite3 /usr/src/app/node_modules/better-sqlite3
|
|
||||||
COPY ./start-docker.sh /usr/src/app
|
|
||||||
|
|
||||||
# Configure container
|
|
||||||
EXPOSE 8080
|
|
||||||
CMD [ "sh", "./start-docker.sh" ]
|
|
||||||
HEALTHCHECK --start-period=10s CMD exec gosu node node /usr/src/app/docker_healthcheck.cjs
|
|
||||||
@@ -26,7 +26,6 @@
|
|||||||
},
|
},
|
||||||
"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": {
|
||||||
@@ -36,8 +35,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/highlightjs": "workspace:*",
|
|
||||||
"@triliumnext/turndown-plugin-gfm": "workspace:*",
|
"@triliumnext/turndown-plugin-gfm": "workspace:*",
|
||||||
|
"@triliumnext/highlightjs": "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"
|
<img style="aspect-ratio:467/100;" src="Installing Ollama_image.png" width="467"
|
||||||
width="467" height="100">
|
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"
|
<img style="aspect-ratio:1363/1364;" src="Introduction_image.png" width="1363"
|
||||||
width="1363" height="1364">
|
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"
|
<img style="aspect-ratio:1916/1906;" src="5_Introduction_image.png" width="1916"
|
||||||
width="1916" height="1906">
|
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"
|
<img style="aspect-ratio:1911/997;" src="1_Introduction_image.png" width="1911"
|
||||||
width="1911" height="997">
|
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"
|
<img style="aspect-ratio:1912/1075;" src="4_Introduction_image.png" width="1912"
|
||||||
width="1912" height="1075">
|
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"
|
<img style="aspect-ratio:1232/959;" src="8_Introduction_image.png" width="1232"
|
||||||
width="1232" height="959">
|
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"
|
<img style="aspect-ratio:1333/499;" src="7_Introduction_image.png" width="1333"
|
||||||
width="1333" height="499">
|
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"
|
<img style="aspect-ratio:1337/1490;" src="3_Introduction_image.png" width="1337"
|
||||||
width="1337" height="1490">
|
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"
|
<img style="aspect-ratio:1372/1591;" src="6_Introduction_image.png" width="1372"
|
||||||
width="1372" height="1591">
|
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"
|
<img style="aspect-ratio:1378/539;" src="2_Introduction_image.png" width="1378"
|
||||||
width="1378" height="539">
|
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"
|
<img style="aspect-ratio:1765/1287;" src="9_Introduction_image.png" width="1765"
|
||||||
width="1765" height="1287">
|
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 both todoDate
|
notes are <a href="#root/_help_IakOLONlIfGI">cloned</a> into day note to
|
||||||
note and doneDate note (with <a href="#root/_help_kBrnXNG3Hplm">prefix</a> of either
|
both todoDate note and doneDate note (with <a href="#root/_help_kBrnXNG3Hplm">prefix</a> of
|
||||||
"TODO" or "DONE").</p>
|
either "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. we
|
change. This <a href="#root/_help_CdNpE2pqjmI6">script</a> handles when e.g.
|
||||||
fill out the doneDate attribute - meaning the task is done and should be
|
we fill out the doneDate attribute - meaning the task is done and should
|
||||||
moved to "Done" note and removed from TODO, locations and tags.</p>
|
be 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"
|
<img style="aspect-ratio:1071/146;" src="Attributes_image.png" width="1071"
|
||||||
width="1071" height="146">
|
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 notes,
|
a <a href="#root/_help_Cq5X6iKQop6R">relation</a> shared across multiple
|
||||||
generally in parent-child relations (or anywhere if using templates).</p>
|
notes, 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 which
|
<p>A label is an <a href="#root/_help_zEY4DaJG4YT5">attribute</a> of a note
|
||||||
has a name and optionally a value.</p>
|
which 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,7 +81,8 @@
|
|||||||
<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 as such.</td>
|
href="#root/_help_l0tKav7yLHGF">Day Notes</a>. Only one should be marked
|
||||||
|
as such.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><code>archived</code>
|
<td><code>archived</code>
|
||||||
@@ -153,8 +154,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 the
|
<td>Disables automatic <a href="#root/_help_CoFPLs3dRlXc">read-only mode</a> for
|
||||||
given note.</td>
|
the given note.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><code>appCss</code>
|
<td><code>appCss</code>
|
||||||
@@ -176,7 +177,8 @@
|
|||||||
<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 information.</td>
|
href="#root/_help_WFGzWeUK6arS">Customize the Next theme</a> for more
|
||||||
|
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>, but
|
<p>A relation is similar to a <a href="#root/_help_HI6GBBIduIgv">label</a>,
|
||||||
instead of having a text value it refers to another note.</p>
|
but 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"
|
<img style="aspect-ratio:1425/654;" src="Bulk Actions_image.png" width="1425"
|
||||||
width="1425" height="654">
|
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 actions
|
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>. It's possible to apply bulk
|
||||||
to:
|
actions 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 the
|
<li>For each note, if it has a <a href="#root/_help_HI6GBBIduIgv">label</a> of
|
||||||
given name, it will change its value to the specified one. Leave <em>New value</em> field
|
the given name, it will change its value to the specified one. Leave <em>New value</em> field
|
||||||
empty to create a label without a value.</li>
|
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 the
|
<li>For each note, if it has a <a href="#root/_help_HI6GBBIduIgv">label</a> of
|
||||||
given name, it will be renamed/replaced with a label of the new name. The
|
the given name, it will be renamed/replaced with a label of the new name.
|
||||||
value of the label (if present) will be kept intact.</li>
|
The 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 multiple
|
href="#root/_help_cbkrhQjrkKrh">Synchronization</a> is set up, since
|
||||||
servers are involved (the one from the desktop client and the one the synchronisation
|
multiple servers are involved (the one from the desktop client and the
|
||||||
is set up with), sometimes it can be useful to distinguish the instance
|
one the synchronisation is set up with), sometimes it can be useful to
|
||||||
you are running on.</p>
|
distinguish the instance 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 all <code>config.ini</code> values
|
the <a href="#root/_help_Gzjqa934BdH4">configuration</a> file to provide
|
||||||
as environment variables instead.</p>
|
all <code>config.ini</code> values 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"
|
<img style="aspect-ratio:263/445;" src="Hidden Notes_image.png" width="263"
|
||||||
width="263" height="445">
|
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,13 +8,14 @@
|
|||||||
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 them.</p>
|
href="#root/_help_QEAPj01N5f7w">Links</a> to be able to operate on
|
||||||
|
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, but
|
href="#root/_help_wX4HbRucYSDD">Database</a> just like normal notes,
|
||||||
they have a unique <a class="reference-link" href="#root/_help_m1lbrzyKDaRB">Note ID</a> which
|
but 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>,
|
||||||
@@ -50,8 +51,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, grouped
|
href="#root/_help_YKWqdJhzi2VY">SQL Console</a>, they are stored here,
|
||||||
by month. Only the query is stored and not the results.</p>
|
grouped by month. Only the query is stored and not the results.</p>
|
||||||
<p>This section can be accessed without going to the hidden tree by simply
|
<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>
|
||||||
@@ -64,8 +65,9 @@ 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, grouped
|
href="#root/_help_eIg8jdvaoNNd">Search</a>, the query will be stored here,
|
||||||
by month. Only the search parameters are stored and not the results themselves.</p>
|
grouped by month. Only the search parameters are stored and not the results
|
||||||
|
themselves.</p>
|
||||||
<p>This section can be accessed without going to the hidden tree by simply
|
<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"
|
<img style="aspect-ratio:2594/1568;" src="1_Metrics_image.png" width="2594"
|
||||||
width="2594" height="1568">
|
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"
|
<img style="aspect-ratio:1881/282;" src="2_Metrics_image.png" width="1881"
|
||||||
width="1881" height="282">
|
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"
|
<img style="aspect-ratio:1055/830;" src="Metrics_image.png" width="1055"
|
||||||
width="1055" height="830">
|
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, with
|
<p><a href="#root/_help_iRwzGnHPzonm">Relation map</a> is a similar concept,
|
||||||
some differences:</p>
|
with 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 that due
|
href="#root/_help_MI26XDLSAlCD">CKEditor</a> representation. Note
|
||||||
to the custom plugins, some HTML elements are specific to Trilium only,
|
that due to the custom plugins, some HTML elements are specific to Trilium
|
||||||
for example the admonitions.</li>
|
only, 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 feature
|
href="#root/_help_grjYqerjn243">Canvas</a> notes use the attachments
|
||||||
to store the custom libraries, and alongside with <a class="reference-link"
|
feature to store the custom libraries, and alongside with <a class="reference-link"
|
||||||
href="#root/_help_gBbsAeiuUxI5">Mind Map</a> and other similar note types
|
href="#root/_help_gBbsAeiuUxI5">Mind Map</a> and other similar note
|
||||||
it stores an SVG representation of the content for use in other features
|
types 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"
|
<img style="aspect-ratio:1144/660;" src="Sharing_image.png" width="1144"
|
||||||
width="1144" height="660">
|
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. This
|
href="#root/_help_WOcw2SLH6tbX">Server Installation</a> of Trilium.
|
||||||
is necessary because the notes will be hosted from the server.</p>
|
This 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,8 +186,7 @@ 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"
|
<img src="Sharing_share-single-note.png" alt="Share Note">
|
||||||
alt="Share Note">
|
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
@@ -221,10 +220,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 adding
|
href="#root/_help_6f9hih2hXXZk">Code</a> note to the shared page by
|
||||||
a <code>~shareCss</code> relation to the note. If you want this style to
|
adding a <code>~shareCss</code> relation to the note. If you want this style
|
||||||
apply to the entire subtree, make the label inheritable. You can hide the
|
to apply to the entire subtree, make the label inheritable. You can hide
|
||||||
CSS code note from the tree navigation by adding the <code>#shareHiddenFromTree</code> label.</li>
|
the CSS code note from the tree navigation by adding the <code>#shareHiddenFromTree</code> label.</li>
|
||||||
<li><strong>Omitting Default CSS</strong>: For extensive styling changes,
|
<li><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
|
||||||
|
|||||||
@@ -1,56 +0,0 @@
|
|||||||
<p>As described in <a class="reference-link" href="#root/pOsGYCXsbNQG/tC7s2alapj8V/_help_R9pX4DGra2Vt">Sharing</a>,
|
|
||||||
Trilium can act as a public server in which the shared notes are displayed
|
|
||||||
in read-only mode. While this can work in most cases, it's generally not
|
|
||||||
meant for high-traffic websites and since it's running on a Node.js server
|
|
||||||
it can be potentially exploited.</p>
|
|
||||||
<p>Another alternative is to generate static HTML files (just like other
|
|
||||||
static site generators such as <a href="https://www.mkdocs.org/">MkDocs</a>).
|
|
||||||
Since the normal HTML ZIP export does not contain any styling or additional
|
|
||||||
functionality, Trilium provides a way to export the same layout and style
|
|
||||||
as the <a class="reference-link" href="#root/pOsGYCXsbNQG/tC7s2alapj8V/_help_R9pX4DGra2Vt">Sharing</a> function
|
|
||||||
into static HTML files.</p>
|
|
||||||
<p>Apart from the enhanced security, these HTML files are also easy to deploy
|
|
||||||
on “serverless” deployments such as GitHub Pages or CloudFlare Pages and
|
|
||||||
cache very easily.</p>
|
|
||||||
<aside class="admonition tip">
|
|
||||||
<p>Trilium's documentation, available at <a href="https://docs.triliumnotes.org/">docs.triliumnotes.org</a> is
|
|
||||||
built using this function of exporting to static HTML files which are then
|
|
||||||
deployed automatically to CloudFlare Pages.</p>
|
|
||||||
<p>The process is <a href="https://github.com/TriliumNext/Trilium/blob/main/apps/edit-docs/src/build-docs.ts">automated</a> by
|
|
||||||
importing the Markdown documentation and exporting it via a script to the
|
|
||||||
static web format.</p>
|
|
||||||
</aside>
|
|
||||||
<h2>Differences from normal sharing and export</h2>
|
|
||||||
<p>Apart from normal <a class="reference-link" href="#root/pOsGYCXsbNQG/tC7s2alapj8V/_help_R9pX4DGra2Vt">Sharing</a>,
|
|
||||||
exporting to static HTML files comes with a few subtle differences:</p>
|
|
||||||
<ul>
|
|
||||||
<li data-list-item-id="e9e5a7d50e33698fb322f4dc65108f3a9">The URL structure is different. Where in normal sharing it's something
|
|
||||||
along the way of <code>example.com/share/noteid</code>, the notes follow
|
|
||||||
an hierarchical structure, such as <code>docs.triliumnotes.org/user-guide/concepts/navigation/tree-concepts</code>.</li>
|
|
||||||
<li
|
|
||||||
data-list-item-id="e3995e60b9751ea177ac920a901635d4b">The <code>favicon.ico</code> is not handled automatically, it needs to be
|
|
||||||
manually added on the server after the export is generated.</li>
|
|
||||||
<li data-list-item-id="e72c2a986808ce27eb3bb5001fe4710cb">The “Last updated” for notes is not available.</li>
|
|
||||||
<li data-list-item-id="e53e8959701206c7a064ba811c0123bef">The search functionality works slightly different since the normal one
|
|
||||||
requires an active API to work. In the static export, search still works
|
|
||||||
but uses a different mechanism so results might be different.</li>
|
|
||||||
</ul>
|
|
||||||
<h2>Differences from normal .zip export</h2>
|
|
||||||
<ul>
|
|
||||||
<li data-list-item-id="e8a16c7135d6f6c4de3bc448bd8795289">The name of the files/URLs will prefer <code>shareAlias</code> to allow
|
|
||||||
for clean URLs.</li>
|
|
||||||
<li data-list-item-id="ef8bfdfc599c07ba70fbb4be97a3e26ab">The export requires a functional web server as the pages will not render
|
|
||||||
properly if accessed locally via a web browser due to the use of module
|
|
||||||
scripts.</li>
|
|
||||||
</ul>
|
|
||||||
<h2>Testing locally</h2>
|
|
||||||
<p>As mentioned previously, the exported static pages require a website to
|
|
||||||
function. In order to test locally, a web server needs to be used.</p>
|
|
||||||
<p>One example is to use the Node.js-based <a href="https://www.npmjs.com/package/http-server"><code>http-server</code></a> which
|
|
||||||
can be installed via:</p><pre><code class="language-text-x-trilium-auto">npm i -g http-server</code></pre>
|
|
||||||
<p>Once installed simply:</p>
|
|
||||||
<ol>
|
|
||||||
<li data-list-item-id="ebc8d02c8cdcdb030c746f1fd5eccb5bd">Extract the exported .zip file.</li>
|
|
||||||
<li data-list-item-id="e1d20f408fb89d0af0c1003984373f808">Inside the extracted directory, run <code>http-server</code>.</li>
|
|
||||||
<li data-list-item-id="ecf0c59f3a26c8e766bb1d739f8355e33">Access the indicated address (e.g. http://localhost:8080).</li>
|
|
||||||
</ol>
|
|
||||||
@@ -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 our
|
<li><a href="#root/_help_NwBbFdNZ9h7O">Admonitions</a>, we ended up creating
|
||||||
own plugin but <a href="https://github.com/aarkue/ckeditor5-admonition">aarkue/ckeditor5-admonition</a> was
|
our own plugin but <a href="https://github.com/aarkue/ckeditor5-admonition">aarkue/ckeditor5-admonition</a> was
|
||||||
a good inspiration (including the toolbar icon).</li>
|
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 source
|
the <a href="#root/_help_grjYqerjn243">Canvas</a> notes. The
|
||||||
code of the library is available on <a href="https://github.com/excalidraw/excalidraw">GitHub</a>.</p>
|
source code of the library is available on <a href="https://github.com/excalidraw/excalidraw">GitHub</a>.</p>
|
||||||
<p>We are using an unmodified version of it, so it shares the same <a href="https://github.com/excalidraw/excalidraw/issues">issues</a> as
|
<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 notes.
|
note are <a href="#root/_help_bwZpz2ajCEwO">inherited</a> by the instance
|
||||||
Even attributes with <code>#isInheritable=false</code> are inherited by the
|
notes. Even attributes with <code>#isInheritable=false</code> are inherited
|
||||||
instance notes, although only inheritable attributes are further inherited
|
by the instance notes, although only inheritable attributes are further
|
||||||
by the children of the instance notes.</li>
|
inherited 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,8 +32,7 @@
|
|||||||
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"
|
<img src="Templates_template-create-.png" alt="show child note templates">
|
||||||
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"
|
<img style="aspect-ratio:991/403;" src="1_Jump to_image.png" width="991"
|
||||||
width="991" height="403">
|
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"
|
<img style="aspect-ratio:982/524;" src="Jump to_image.png" width="982"
|
||||||
width="982" height="524">
|
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,6 +5,7 @@
|
|||||||
<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 just notes
|
text search and <a href="#root/_help_MMiBEQljMQh2">“jump to note”</a> to
|
||||||
present in hoisted subtree.</p>
|
just notes present in hoisted subtree.</p>
|
||||||
<p>See also <a href="#root/_help_9sRHySam5fXb">Workspace</a> which extends this feature.</p>
|
<p>See also <a href="#root/_help_9sRHySam5fXb">Workspace</a> which extends
|
||||||
|
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"
|
<img style="aspect-ratio:659/256;" src="Quick search_image.png" width="659"
|
||||||
width="659" height="256">
|
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 a dedicated
|
href="#root/_help_eIg8jdvaoNNd">Search</a> function, which opens in
|
||||||
tab and has support for advanced queries.</p>
|
a dedicated 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 through
|
href="#root/_help_F1r9QtzQLZqm">Jump to...</a> which will only search
|
||||||
the note titles instead of the content.</p>
|
through 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 just
|
href="#root/_help_xYmIYSP6wE3F">Launch Bar</a>, where it can be positioned
|
||||||
like any other icon.</li>
|
just 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"
|
<img style="aspect-ratio:898/93;" src="Search in note_image.png" width="898"
|
||||||
width="898" height="93">
|
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"
|
<img style="aspect-ratio:987/725;" src="Search_image.png" width="987"
|
||||||
width="987" height="725">
|
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. You
|
content, or <a href="#root/_help_zEY4DaJG4YT5">attributes</a> of the notes.
|
||||||
also have the option to save your searches, which will create a special
|
You also have the option to save your searches, which will create a special
|
||||||
search note which is visible on your navigation tree and contains the search
|
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 for
|
href="#root/_help_ivYnonVFBxbQ">Bulk Actions</a>, which is an alternative
|
||||||
operating directly with notes within the <a class="reference-link"
|
for 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"
|
<img style="aspect-ratio:1626/540;" src="Similar Notes_image.png" width="1626"
|
||||||
width="1626" height="540">
|
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 a
|
<p><a href="#root/_help_OR8WJ7Iz9K4U">note hoisting</a> - you can "zoom" into
|
||||||
workspace subtree to focus only on the relevant notes</p>
|
a 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,9 +2,10 @@
|
|||||||
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 is
|
href="#root/_help_iPIMuisry3hd">Text</a>. For diagrams and drawing there
|
||||||
|
is <a class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a> and
|
||||||
<a
|
<a
|
||||||
class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a> and <a class="reference-link" href="#root/_help_s1aBHPd79XYj">Mermaid Diagrams</a>.</p>
|
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 or
|
<p>A <a href="#root/_help_BFs8mudNFgCS">note</a> in Trilium can <em>own</em> one
|
||||||
more attachments, which can be either images or files. These attachments
|
or 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 → Convert
|
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>, right click → Advanced →
|
||||||
to attachment.</li>
|
Convert 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,10 +5,8 @@
|
|||||||
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"
|
<img src="Note Icons_note-icon-chang.png" alt="change note icon">
|
||||||
alt="change note icon">
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<img src="Note Icons_note-icon-galle.png"
|
<img src="Note Icons_note-icon-galle.png" alt="note icon gallery">
|
||||||
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"
|
<img style="aspect-ratio:990/590;" src="Note List_image.png" width="990"
|
||||||
width="990" height="590">
|
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,6 +19,7 @@
|
|||||||
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 <a class="reference-link"
|
href="#root/_help_GTwFsgaA0lCt">Collections</a> note from the
|
||||||
href="#root/_help_BlN9DFI679QC">Ribbon</a>, but it can also be changed manually
|
<a
|
||||||
on any type of note using the <code>#viewType</code> attribute.</p>
|
class="reference-link" href="#root/_help_BlN9DFI679QC">Ribbon</a>, but it can also be changed manually on any type of note using
|
||||||
|
the <code>#viewType</code> attribute.</p>
|
||||||
@@ -4,7 +4,6 @@
|
|||||||
<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>
|
||||||
@@ -27,8 +26,7 @@ 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"
|
<img src="1_Printing & Exporting as PD.png" width="29" height="31">button, select Export note → This note and all of its descendants → HTML
|
||||||
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>
|
||||||
@@ -42,7 +40,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>
|
||||||
@@ -58,11 +56,12 @@ 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 settings:</p>
|
href="#root/_help_zEY4DaJG4YT5">Attributes</a> to adjust some of the
|
||||||
|
settings:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>To print in landscape mode instead of portrait (useful for big diagrams
|
<li data-list-item-id="e91eb69cdf42469e4f21852a6b27616b3">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>By default, the resulting PDF will be in Letter format. It is possible
|
<li data-list-item-id="e111f43a2b5200816649515c5718b6c31">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>
|
||||||
@@ -76,9 +75,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><em>Print Active Note</em>
|
<li class="ck-list-marker-italic" data-list-item-id="e4065a346baa2fcc2f0bfe436f4026375"><em>Print Active Note</em>
|
||||||
</li>
|
</li>
|
||||||
<li><em>Export Active Note as PDF</em>
|
<li class="ck-list-marker-italic" data-list-item-id="e358a65968ddc456ba39276f3d03e67ab"><em>Export Active Note as PDF</em>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h2>Constraints & limitations</h2>
|
<h2>Constraints & limitations</h2>
|
||||||
@@ -86,24 +85,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>For <a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a> notes:
|
<li data-list-item-id="e10824952bca3d35d824df6ff828a674f">For <a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a> notes:
|
||||||
<ul>
|
<ul>
|
||||||
<li>Line numbers are not printed.</li>
|
<li data-list-item-id="ea6c43aec2902c6e071541491e8bd60ac">Line numbers are not printed.</li>
|
||||||
<li>Syntax highlighting is enabled, however a default theme (Visual Studio)
|
<li data-list-item-id="efddf7e53853db4e34d16d154b8ed4928">Syntax highlighting is enabled, however a default theme (Visual Studio)
|
||||||
is enforced.</li>
|
is enforced.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>For <a class="reference-link" href="#root/_help_GTwFsgaA0lCt">Collections</a>:
|
<li data-list-item-id="e015b49c0f3289d6899c5a8b234d5be8b">For <a class="reference-link" href="#root/_help_GTwFsgaA0lCt">Collections</a>:
|
||||||
<ul>
|
<ul>
|
||||||
<li>Only <a class="reference-link" href="#root/_help_zP3PMqaG71Ct">Presentation View</a> is
|
<li data-list-item-id="ee53ebf2cbc850302a779b29475441b0b">Only <a class="reference-link" href="#root/_help_zP3PMqaG71Ct">Presentation View</a> is
|
||||||
currently supported.</li>
|
currently supported.</li>
|
||||||
<li>We plan to add support for all the collection types at some point.</li>
|
<li data-list-item-id="ebb55f62a0f525b810fd11fadc01e86ac">We plan to add support for all the collection types at some point.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>Using <a class="reference-link" href="#root/_help_AlhDUqhENtH7">Custom app-wide CSS</a> for
|
<li data-list-item-id="e25476c9600ab387eda79fa5eec0b5394">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>We plan to introduce a new mechanism specifically for a print CSS.</li>
|
<li data-list-item-id="eeb0dc52913013746ad4c3709296fab6b">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 be able
|
your Trilium <a href="#root/_help_wX4HbRucYSDD">database</a>, they won't
|
||||||
to read your encrypted notes.</li>
|
be able 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,8 +30,7 @@
|
|||||||
<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"
|
<img src="Protected Notes_protecting.gif" alt="example animation of unlocking protected notes">
|
||||||
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,9 +11,10 @@
|
|||||||
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 for
|
href="#root/_help_4TIF1oA4VQRO">Options</a> by going to the options
|
||||||
|
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__optionsTextNotes">Text Notes</a> and <a class="reference-link" href="#root/_hidden/_options/_help__optionsCodeNotes">Code Notes</a>.</p>
|
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"
|
<img style="aspect-ratio:893/144;" src="Floating buttons_image.png" width="893"
|
||||||
width="893" height="144">
|
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 button
|
<li>For <a href="#root/_help_CoFPLs3dRlXc">read-only notes</a>, there is a
|
||||||
to temporarily edit the note for quick modifications.</li>
|
button 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 more
|
order. See <a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> for
|
||||||
interaction options, including using keyboard shortcuts.</p>
|
more 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"
|
<img style="aspect-ratio:505/261;" src="Note Tooltip_image.png" width="505"
|
||||||
width="505" height="261">
|
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 another
|
hovering over an <a href="#root/_help_hrZ1D00cLbal">internal link</a> to
|
||||||
note.</p>
|
another 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 in a
|
<li>A button to <a href="#root/_help_ZjLYv08Rp3qC">quickly edit</a> the note
|
||||||
popup.</li>
|
in a 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>, when
|
<li><a class="reference-link" href="#root/_help_2FvYrpmOXm29">Table View</a>,
|
||||||
hovering over a note title, or over a <a href="#root/_help_Cq5X6iKQop6R">relation</a>.</li>
|
when hovering over a note title, or over a <a href="#root/_help_Cq5X6iKQop6R">relation</a>.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -5,15 +5,13 @@
|
|||||||
</p>
|
</p>
|
||||||
<h2>Drag and Drop</h2>
|
<h2>Drag and Drop</h2>
|
||||||
<p>
|
<p>
|
||||||
<img src="Note Tree_drag-and-drop.gif"
|
<img src="Note Tree_drag-and-drop.gif" alt="Drag and drop example">
|
||||||
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"
|
<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
|
||||||
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,7 +10,8 @@
|
|||||||
<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 so.
|
href="#root/_help_yTjUdsOi4CIE">Multiple selection</a> on how to do
|
||||||
|
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
|
||||||
@@ -80,9 +81,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. the
|
href="#root/_help_IakOLONlIfGI">Cloning Notes</a> functionality (i.e.
|
||||||
note itself will be present in two locations at once, and editing it in
|
the note itself will be present in two locations at once, and editing it
|
||||||
one place will edit it everywhere).</li>
|
in 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>
|
||||||
@@ -144,8 +145,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 the
|
<li>Opens the <a href="#root/_help_mHbBMPDPkVV5">import</a> dialog and places
|
||||||
imported notes as child notes of the selected one.</li>
|
the imported notes as child notes of the selected one.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><strong>Export</strong>
|
<li><strong>Export</strong>
|
||||||
@@ -190,8 +191,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 from an
|
href="#root/_help_W8vYD3Q1zjCR">File</a> notes that were imported
|
||||||
external source or an older version of Trilium.</li>
|
from an external source or an older version of Trilium.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><strong>Expand subtree</strong>
|
<li><strong>Expand subtree</strong>
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
<figure class="image image-style-align-center">
|
<figure class="image image-style-align-center">
|
||||||
<img style="aspect-ratio:1189/709;" src="Options_image.png"
|
<img style="aspect-ratio:1189/709;" src="Options_image.png" width="1189"
|
||||||
width="1189" height="709">
|
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 the <em>Options</em> item.</li>
|
<li>The <a href="#root/_help_x3i7MxGccDuM">Global menu</a>, by selecting
|
||||||
|
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"
|
<img style="aspect-ratio:895/694;" src="Quick edit_image.png" width="895"
|
||||||
width="895" height="694">
|
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 note,
|
href="#root/_help_oPVyFC7WL2Lp">Note Tree</a> to the newly selected
|
||||||
or navigating between two different <a class="reference-link" href="#root/_help_3seOhtN8uLIY">Tabs</a>,
|
note, or navigating between two different <a class="reference-link"
|
||||||
the <em>Quick edit</em> feature opens as a popup window that can be easily
|
href="#root/_help_3seOhtN8uLIY">Tabs</a>, the <em>Quick edit</em> feature
|
||||||
dismissed.</p>
|
opens as a popup window that can be easily 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 view,
|
href="#root/_help_GTwFsgaA0lCt">Collections</a> such as the calendar
|
||||||
which makes it easy to edit entries without having to go back and forth
|
view, which makes it easy to edit entries without having to go back and
|
||||||
between the child note and the calendar.</p>
|
forth 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"
|
<img style="aspect-ratio:988/572;" src="1_Recent Changes_image.png" width="988"
|
||||||
width="988" height="572">
|
height="572">
|
||||||
</figure>
|
</figure>
|
||||||
|
|
||||||
<h2>Accessing the recent changes</h2>
|
<h2>Accessing the recent changes</h2>
|
||||||
@@ -9,9 +9,10 @@
|
|||||||
<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 <a href="#root/_help_9sRHySam5fXb">workspace</a>,
|
<li>If there is a <a href="#root/_help_OR8WJ7Iz9K4U">hoisted note</a> or a
|
||||||
the list of recent changes will be limited to the descendents of the hoisted
|
<a
|
||||||
note, or the workspace.</li>
|
href="#root/_help_9sRHySam5fXb">workspace</a>, the list of recent changes will be limited to the descendents
|
||||||
|
of the hoisted note, or the workspace.</li>
|
||||||
</ul>
|
</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,27 +24,28 @@
|
|||||||
</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 more
|
See <a href="#root/_help_bwg0e8ewQMak">Protected Notes</a> for
|
||||||
information.</li>
|
more 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 if
|
<li>Enters <a href="#root/_help_CoFPLs3dRlXc">read-only mode</a> automatically
|
||||||
the note is too big (default behaviour).</li>
|
if the note is too big (default behaviour).</li>
|
||||||
<li>Is always in read-only mode (however it can still be edited temporarily).</li>
|
<li>Is always 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 easy
|
into the <a href="#root/_help_xYmIYSP6wE3F">Launch Bar</a> for
|
||||||
access. See <a href="#root/_help_u3YFHC9tQlpm">Bookmarks</a> for more
|
easy access. See <a href="#root/_help_u3YFHC9tQlpm">Bookmarks</a> for
|
||||||
information.</li>
|
more 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 information.</li>
|
up. See <a href="#root/_help_R9pX4DGra2Vt">Sharing</a> for more
|
||||||
|
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 more
|
content. See <a href="#root/_help_KC1HB96bqqHX">Template</a> for
|
||||||
information.</li>
|
more 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
|
||||||
@@ -64,21 +65,23 @@
|
|||||||
<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 <a href="#root/_help_IakOLONlIfGI">Cloning Notes</a> for
|
to the <a href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>) See
|
||||||
more information.</p>
|
<a
|
||||||
|
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 more information.</p>
|
See <a href="#root/_help_xWtq5NUHOwql">Similar Notes</a> for
|
||||||
|
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 its MIME
|
<li>The <a href="#root/_help_KSZ04uQ2D1St">type of the note</a>, as well as
|
||||||
type (used mostly for exporting notes).</li>
|
its MIME 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"
|
<img style="aspect-ratio:1036/372;" src="Right Sidebar_image.png" width="1036"
|
||||||
width="1036" height="372">
|
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"
|
<img style="aspect-ratio:1119/43;" src="2_Tabs_image.png" width="1119"
|
||||||
width="1119" height="43">
|
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 for
|
above the <a href="#root/_help_oPVyFC7WL2Lp">note tree</a>, allowing
|
||||||
more tabs to be comfortably displayed.</li>
|
for 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 more
|
href="#root/_help_luNhaphA37EO">Split View</a>. Each tab can have one or
|
||||||
notes, displayed horizontally.</li>
|
more 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>
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
<p>Zoom applies to the entire UI, including text.</p>
|
|
||||||
<p>On the desktop application, use the <a class="reference-link" href="#root/_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/_help_4TIF1oA4VQRO">Options</a> → <em>Appearance</em>.</p>
|
|
||||||
39
apps/server/src/assets/doc_notes/en/User Guide/User Guide/FAQ.html
generated
vendored
39
apps/server/src/assets/doc_notes/en/User Guide/User Guide/FAQ.html
generated
vendored
@@ -1,17 +1,3 @@
|
|||||||
<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>
|
||||||
@@ -40,14 +26,13 @@
|
|||||||
</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, you can
|
instance of a <a href="#root/_help_wX4HbRucYSDD">database</a>. However,
|
||||||
run two Trilium processes (from one installation), each connected to a
|
you can run two Trilium processes (from one installation), each connected
|
||||||
separate document. To achieve this, you need to set a location for the
|
to a separate document. To achieve this, you need to set a location for
|
||||||
<a
|
the <a href="#root/_help_tAassRL4RSQL">data directory</a> in the <code>TRILIUM_DATA_DIR</code> environment
|
||||||
href="#root/_help_tAassRL4RSQL">data directory</a>in the <code>TRILIUM_DATA_DIR</code> environment variable
|
variable and separate port on <code>TRILIUM_PORT</code> environment variable.
|
||||||
and separate port on <code>TRILIUM_PORT</code> environment variable. How
|
How to do that depends on the platform, in Unix-based systems you can achieve
|
||||||
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>
|
||||||
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>
|
||||||
@@ -69,8 +54,9 @@
|
|||||||
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 directory
|
<li><a href="#root/_help_IakOLONlIfGI">clones</a> are what you might call "hard
|
||||||
link" in filesystem lingo, but this concept is not implemented in any filesystem</li>
|
directory link" in filesystem lingo, but this concept is not implemented
|
||||||
|
in any filesystem</li>
|
||||||
<li>filesystems make a distinction between directory and file while there's
|
<li>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>files are stored in no particular order and user can't change this</li>
|
||||||
@@ -90,9 +76,8 @@
|
|||||||
<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
|
fuzzy exact match and <code>~*</code> for fuzzy contains). See the <a class="reference-link"
|
||||||
<a
|
href="#root/_help_eIg8jdvaoNNd">Search</a> documentation for details.</p>
|
||||||
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>
|
||||||
|
|||||||
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, night
|
href="#root/_help_R9pX4DGra2Vt">Sharing</a>, with search, expandable tree,
|
||||||
mode and more.</li>
|
night 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 computer
|
href="#root/_help_wX4HbRucYSDD">Database</a> to cloud / different
|
||||||
etc.</p>
|
computer 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 - easy
|
<li>find <a href="#root/_help_tAassRL4RSQL">data directory</a> Trilium uses
|
||||||
way is to open "About Trilium Notes" from "Menu" in upper left corner and
|
- easy way is to open "About Trilium Notes" from "Menu" in upper left corner
|
||||||
looking at "data directory"
|
and 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
|
the <a href="#root/_help_tAassRL4RSQL">data directory</a> is created within
|
||||||
application's directory, making it easy to move the entire setup.</li>
|
the 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 to the
|
href="#root/_help_x3i7MxGccDuM">Global menu</a> and select “Switch
|
||||||
mobile version”.</p>
|
to the 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 mobile
|
<p>Trilium (<a href="#root/_help_WOcw2SLH6tbX">server edition</a>) has a
|
||||||
web frontend which is optimized for touch based devices - smartphones and
|
mobile web frontend which is optimized for touch based devices - smartphones
|
||||||
tablets. It is activated automatically during login process based on browser
|
and tablets. It is activated automatically during login process based on
|
||||||
detection.</p>
|
browser 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. To begin
|
in the <a href="#root/_help_tAassRL4RSQL">data directory</a> by default.
|
||||||
customizing your setup, copy the provided <code>config-sample.ini</code> file
|
To begin 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 is
|
<p>Don't forget to <a href="#root/_help_l2VkvOwUNfZj">configure TLS</a> which
|
||||||
required for secure usage!</p>
|
is 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 is
|
<p>Don't forget to <a href="#root/_help_l2VkvOwUNfZj">configure TLS</a>, which
|
||||||
required for secure usage!</p>
|
is required for secure usage!</p>
|
||||||
@@ -4,7 +4,8 @@
|
|||||||
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 v0.94.1.</p>
|
href="#root/_help_7DAiwaf8Z7Rz">Multi-Factor Authentication</a> since
|
||||||
|
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
|
||||||
@@ -21,9 +22,10 @@ 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 order
|
href="#root/_help_wX4HbRucYSDD">Database</a> as the user data. In
|
||||||
to view which sessions are active, open the <a class="reference-link"
|
order to view which sessions are active, open the <a class="reference-link"
|
||||||
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>
|
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>
|
||||||
<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 termination.
|
use a <a href="#root/_help_vcjrb3VVYPZI">reverse proxy</a> instead with TLS
|
||||||
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
|
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
|
||||||
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 Trilium
|
in the <a href="#root/_help_tAassRL4RSQL">data directory</a> to configure
|
||||||
to use it:</p><pre><code class="language-text-x-trilium-auto">[Network]
|
Trilium 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
|
||||||
|
|||||||
@@ -1,37 +0,0 @@
|
|||||||
<p>As an alternative to <a href="#root/_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/_help_cbkrhQjrkKrh">Synchronization</a> between
|
|
||||||
a cloud instance and <a href="#root/_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) rather
|
to use a valid <a href="#root/_help_l2VkvOwUNfZj">TLS certificate</a> (HTTPS)
|
||||||
than an unencrypted HTTP connection to ensure security and avoid potential
|
rather than an unencrypted HTTP connection to ensure security and avoid
|
||||||
vulnerabilities.</p>
|
potential 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,8 +26,7 @@
|
|||||||
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"
|
<img src="Synchronization_sync-confi.png" alt="screenshot of the sync settings options modal">
|
||||||
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
|
||||||
@@ -46,8 +45,7 @@
|
|||||||
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"
|
<img src="Synchronization_sync-init.png" alt="screenshot of the sync from server setup page">
|
||||||
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
|
||||||
@@ -56,8 +54,7 @@
|
|||||||
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"
|
<img src="Synchronization_sync-in-pr.png" alt="screenshot of the sync page">
|
||||||
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 by Trilium
|
<p>The <a href="#root/_help_cbkrhQjrkKrh">synchronization</a> protocol used
|
||||||
is versioned, requiring all members of the sync cluster to use the same
|
by Trilium is versioned, requiring all members of the sync cluster to use
|
||||||
protocol version. Therefore, when upgrading to a new version, you may need
|
the same protocol version. Therefore, when upgrading to a new version,
|
||||||
to upgrade all instances in the sync cluster. Changes to the sync protocol
|
you may need to upgrade all instances in the sync cluster. Changes to the
|
||||||
version are typically indicated on the release page.</p>
|
sync protocol 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 you
|
<p>By default, that's the <a href="#root/_help_l0tKav7yLHGF">day note</a> but
|
||||||
can override that by setting the <a href="#root/_help_zEY4DaJG4YT5">label</a> <code>clipperInbox</code>,
|
you 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>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user