diff --git a/.github/actions/build-electron/action.yml b/.github/actions/build-electron/action.yml
index b55ffea4b..76e8161b5 100644
--- a/.github/actions/build-electron/action.yml
+++ b/.github/actions/build-electron/action.yml
@@ -33,10 +33,10 @@ runs:
run: sed -e "s/case 'armv7l'/case 'arm64'/g" -e "s/return 'arm'/return 'aarch64'/g" -i node_modules/@electron-forge/maker-flatpak/dist/MakerFlatpak.js
- name: Update build info
shell: bash
- run: npm run update-build-info
+ run: npm run chore:update-build-info
- name: Run electron-forge
shell: bash
- run: npm run make-electron -- --arch=${{ inputs.arch }}
+ run: npm run electron-forge:make -- --arch=${{ inputs.arch }}
- name: Prepare artifacts
shell: bash
run: |
diff --git a/.github/actions/build-server/action.yml b/.github/actions/build-server/action.yml
index 694005c1b..cf8057c70 100644
--- a/.github/actions/build-server/action.yml
+++ b/.github/actions/build-server/action.yml
@@ -18,7 +18,7 @@ runs:
MATRIX_ARCH: ${{ inputs.arch }}
shell: bash
run: |
- npm run update-build-info
+ npm run chore:update-build-info
./bin/build-server.sh
- name: Prepare artifacts
shell: bash
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index 2b1fbe57e..f7cee700a 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -38,7 +38,7 @@ jobs:
shell: bash
run: npm ci
- name: Update nightly version
- run: npm run ci-update-nightly-version
+ run: npm run chore:ci-update-nightly-version
- name: Run the build
uses: ./.github/actions/build-electron
with:
diff --git a/.gitpod.yml b/.gitpod.yml
index 2b77be7b7..f87a115d0 100644
--- a/.gitpod.yml
+++ b/.gitpod.yml
@@ -4,7 +4,7 @@ image:
tasks:
- before: nvm install 20.15.1 && nvm use 20.15.1
init: npm install
- command: npm run start-server
+ command: npm run server:start
ports:
- port: 8080
diff --git a/Dockerfile b/Dockerfile
index 959c244a9..365e4d07f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,5 @@
# Build stage
-FROM node:22.13.1-bullseye-slim AS builder
+FROM node:22.14.0-bullseye-slim AS builder
# Configure build dependencies in a single layer
RUN apt-get update && apt-get install -y --no-install-recommends \
@@ -25,7 +25,7 @@ RUN cp -R build/src/* src/. && \
cp build/docker_healthcheck.js . && \
rm docker_healthcheck.ts && \
npm install && \
- npm run webpack && \
+ npm run build:webpack && \
npm prune --omit=dev && \
npm cache clean --force && \
cp -r src/public/app/doc_notes src/public/app-dist/. && \
@@ -36,7 +36,7 @@ RUN cp -R build/src/* src/. && \
rm -r build
# Runtime stage
-FROM node:22.13.1-bullseye-slim
+FROM node:22.14.0-bullseye-slim
# Install only runtime dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
diff --git a/Dockerfile.alpine b/Dockerfile.alpine
index f7b49b94c..36d6f0b7b 100644
--- a/Dockerfile.alpine
+++ b/Dockerfile.alpine
@@ -1,5 +1,5 @@
# Build stage
-FROM node:22.13.1-alpine AS builder
+FROM node:22.14.0-alpine AS builder
# Configure build dependencies
RUN apk add --no-cache --virtual .build-dependencies \
@@ -24,7 +24,7 @@ RUN cp -R build/src/* src/. && \
cp build/docker_healthcheck.js . && \
rm docker_healthcheck.ts && \
npm install && \
- npm run webpack && \
+ npm run build:webpack && \
npm prune --omit=dev && \
npm cache clean --force && \
cp -r src/public/app/doc_notes src/public/app-dist/. && \
@@ -35,7 +35,7 @@ RUN cp -R build/src/* src/. && \
rm -r build
# Runtime stage
-FROM node:22.13.1-alpine
+FROM node:22.14.0-alpine
# Install runtime dependencies
RUN apk add --no-cache su-exec shadow
diff --git a/README-ZH_CN.md b/README-ZH_CN.md
index f6aa860b1..1f6bbaf55 100644
--- a/README-ZH_CN.md
+++ b/README-ZH_CN.md
@@ -78,7 +78,7 @@ Trilium 也提供 Flatpak:
```shell
npm install
-npm run start-server
+npm run server:start
```
## 👏 致谢
diff --git a/README.es.md b/README.es.md
index a2ea94144..bfa57fe45 100644
--- a/README.es.md
+++ b/README.es.md
@@ -86,7 +86,7 @@ Clone localmente y ejecute
```shell
npm install
-npm run start-server
+npm run server:start
```
## 👏 Reconocimientos
diff --git a/README.it.md b/README.it.md
index a778230c7..750027c1a 100644
--- a/README.it.md
+++ b/README.it.md
@@ -73,7 +73,7 @@ Clona localmente ed esegui
```shell
npm install
-npm run start-server
+npm run server:start
```
## 👏 Riconoscimenti
diff --git a/README.ja.md b/README.ja.md
index 110b779c5..757638770 100644
--- a/README.ja.md
+++ b/README.ja.md
@@ -54,7 +54,7 @@ Trilium は Flatpak としても提供されます:
```shell
npm install
-npm run start-server
+npm run server:start
```
## 📢 シャウトアウト
diff --git a/README.md b/README.md
index e2a81aa4c..0170c8135 100644
--- a/README.md
+++ b/README.md
@@ -102,7 +102,7 @@ You can also read [Patterns of personal knowledge base](https://triliumnext.gith
git clone https://github.com/TriliumNext/Notes.git
cd Notes
npm install
-npm run start-server
+npm run server:start
```
### Documentation
diff --git a/README.ru.md b/README.ru.md
index d78738915..e2336efb3 100644
--- a/README.ru.md
+++ b/README.ru.md
@@ -44,7 +44,7 @@ Trilium предоставляется в виде десктопного при
```shell
npm install
-npm run start-server
+npm run server:start
```
## 👏 Благодарности
diff --git a/bin/copy-dist.ts b/bin/copy-dist.ts
index 6ffc2cf98..6087a69bd 100644
--- a/bin/copy-dist.ts
+++ b/bin/copy-dist.ts
@@ -7,9 +7,9 @@ const DEST_DIR_NODE_MODULES = path.join(DEST_DIR, "node_modules");
const VERBOSE = process.env.VERBOSE;
-function log(...args) {
+function log(...args: any[]) {
if (VERBOSE) {
- console.log(args);
+ console.log(...args);
}
}
@@ -29,7 +29,12 @@ const copy = async () => {
fs.copySync(path.join("build", srcFile), destFile, { recursive: true });
}
- const filesToCopy = ["config-sample.ini", "tsconfig.webpack.json"];
+ const filesToCopy = [
+ "config-sample.ini",
+ "tsconfig.webpack.json",
+ "./src/etapi/etapi.openapi.yaml",
+ "./src/routes/api/openapi.json"
+ ];
for (const file of filesToCopy) {
log(`Copying ${file}`);
await fs.copy(file, path.join(DEST_DIR, file));
diff --git a/bin/copy-trilium.sh b/bin/copy-trilium.sh
index 221e8a0ea..e1d0e197f 100755
--- a/bin/copy-trilium.sh
+++ b/bin/copy-trilium.sh
@@ -23,7 +23,7 @@ rm -rf "$DIR"
mkdir -pv "$DIR"
echo Webpack start
-npm run webpack
+npm run build:webpack
echo Webpack finish
echo "Copying Trilium to build directory $DIR"
diff --git a/bin/generate-openapi.ts b/bin/generate-openapi.ts
new file mode 100644
index 000000000..4bd97a76f
--- /dev/null
+++ b/bin/generate-openapi.ts
@@ -0,0 +1,189 @@
+import { fileURLToPath } from "url";
+import { dirname, join } from "path";
+import swaggerJsdoc from 'swagger-jsdoc';
+import fs from "fs";
+
+/*
+ * Usage: npm run generate-openapi | tail -n1 > x.json
+ *
+ * Inspect generated file by opening it in https://editor-next.swagger.io/
+ *
+ */
+
+const options = {
+ definition: {
+ openapi: '3.1.1',
+ info: {
+ title: 'Trilium Notes - Sync server API',
+ version: '0.96.6',
+ description: "This is the internal sync server API used by Trilium Notes / TriliumNext Notes.\n\n_If you're looking for the officially supported External Trilium API, see [here](https://triliumnext.github.io/Docs/Wiki/etapi.html)._\n\nThis page does not yet list all routes. For a full list, see the [route controller](https://github.com/TriliumNext/Notes/blob/v0.91.6/src/routes/routes.ts).",
+ contact: {
+ name: "TriliumNext issue tracker",
+ url: "https://github.com/TriliumNext/Notes/issues",
+ },
+ license: {
+ name: "GNU Free Documentation License 1.3 (or later)",
+ url: "https://www.gnu.org/licenses/fdl-1.3",
+ },
+ },
+ },
+ apis: [
+ // Put individual files here to have them ordered first.
+ './src/routes/api/setup.ts',
+ // all other files
+ './src/routes/api/*.ts', './bin/generate-openapi.js'
+ ],
+};
+
+const openapiSpecification = swaggerJsdoc(options);
+const scriptDir = dirname(fileURLToPath(import.meta.url));
+const outputPath = join(scriptDir, "..", "src", "routes", "api", "openapi.json");
+fs.writeFileSync(outputPath, JSON.stringify(openapiSpecification));
+console.log("Saved to ", outputPath);
+
+/**
+ * @swagger
+ * tags:
+ * - name: auth
+ * description: Authentication
+ * - name: sync
+ * description: Synchronization
+ * - name: data
+ */
+
+/**
+ * @swagger
+ * components:
+ * schemas:
+ * Attribute:
+ * type: object
+ * properties:
+ * attributeId:
+ * type: string
+ * example: "4G1DPrI58PAb"
+ * noteId:
+ * $ref: "#/components/schemas/NoteId"
+ * type:
+ * type: string
+ * enum: ["attribute", "relation"]
+ * name:
+ * type: string
+ * example: "internalLink"
+ * value:
+ * type: string
+ * example: "hA8aHSpTRdZ6"
+ * description: "If type = \"relation\", a note ID. Otherwise, the attribute content."
+ * position:
+ * type: integer
+ * example: 20
+ * isInheritable:
+ * type: boolean
+ * Blob:
+ * type: object
+ * properties:
+ * blobId:
+ * type: string
+ * example: "8iqMIB8eiY1tPYmElfjm"
+ * content:
+ * type:
+ * - string
+ * - 'null'
+ * description: "`null` if not text."
+ * contentLength:
+ * type: integer
+ * dateModified:
+ * $ref: "#/components/schemas/DateTime"
+ * utcDateModified:
+ * $ref: "#/components/schemas/UtcDateTime"
+ * Branch:
+ * type: object
+ * properties:
+ * branchId:
+ * $ref: "#/components/schemas/BranchId"
+ * noteId:
+ * $ref: "#/components/schemas/NoteId"
+ * parentNoteId:
+ * $ref: "#/components/schemas/NoteId"
+ * notePosition:
+ * type: integer
+ * example: 20
+ * prefix:
+ * type:
+ * - string
+ * - 'null'
+ * isExpanded:
+ * type: boolean
+ * BranchId:
+ * type: string
+ * example: "WUjhaGp4EKah_ur11rSfHkzeV"
+ * description: Equal to `{parentNoteId}_{noteId}`
+ * DateTime:
+ * type: string
+ * example: "2025-02-14 08:19:59.203+0100"
+ * EntityChange:
+ * type: object
+ * properties:
+ * entityChange:
+ * type: object
+ * properties:
+ * entityName:
+ * type: string
+ * example: "notes"
+ * description: Database table for this entity.
+ * changeId:
+ * type: string
+ * example: "changeId9630"
+ * description: ID, referenced in `entity_changes` table.
+ * entity:
+ * type: object
+ * description: Encoded entity data. Object has one property for each database column.
+ * Note:
+ * type: object
+ * properties:
+ * noteId:
+ * $ref: "#/components/schemas/NoteId"
+ * title:
+ * type: string
+ * isProtected:
+ * type: boolean
+ * type:
+ * type: string
+ * example: "text"
+ * enum: ["text", "code", "render", "file", "image", "search", "relationMap", "book", "noteMap", "mermaid", "canvas", "webView", "launcher", "doc", "contentWidget", "mindMap", "geoMap"]
+ * description: "[Reference list](https://github.com/TriliumNext/Notes/blob/v0.91.6/src/services/note_types.ts)"
+ * mime:
+ * type: string
+ * example: "text/html"
+ * blobId:
+ * type: string
+ * example: "z4PhNX7vuL3xVChQ1m2A"
+ * NoteId:
+ * type: string
+ * example: "ur11rSfHkzeV"
+ * description: "12-character note ID. Special values: \"none\"`, `\"root\"."
+ * Timestamps:
+ * type: object
+ * properties:
+ * dateCreated:
+ * $ref: "#/components/schemas/DateTime"
+ * dateModified:
+ * $ref: "#/components/schemas/DateTime"
+ * utcDateCreated:
+ * $ref: "#/components/schemas/UtcDateTime"
+ * utcDateModified:
+ * $ref: "#/components/schemas/UtcDateTime"
+ * UtcDateTime:
+ * type: string
+ * example: "2025-02-13T07:42:47.698Z"
+ * description: "Result of `new Date().toISOString().replace('T', ' ')`"
+ * securitySchemes:
+ * user-password:
+ * type: apiKey
+ * name: trilium-cred
+ * in: header
+ * description: "Username and password, formatted as `user:password`"
+ * session:
+ * type: apiKey
+ * in: cookie
+ * name: trilium.sid
+ */
diff --git a/bin/release.sh b/bin/release.sh
index fea1e030f..74559a88c 100755
--- a/bin/release.sh
+++ b/bin/release.sh
@@ -32,7 +32,7 @@ mv package.json.tmp package.json
git add package.json
-npm run update-build-info
+npm run chore:update-build-info
git add src/services/build.ts
diff --git a/config-sample.ini b/config-sample.ini
index 939eaa7a5..baa026730 100644
--- a/config-sample.ini
+++ b/config-sample.ini
@@ -30,13 +30,19 @@ trustedReverseProxy=false
[Session]
-# Use this setting to constrain the current instance's "Path" value for the set cookies
+# Use this setting to set a custom value for the "Path" Attribute value of the session cookie.
# This can be useful, when you have several instances running on the same domain, under different paths (e.g. by using a reverse proxy).
-# It prevents your instances from overwriting each others' cookies.
-# e.g. if you have https://your-domain.com/triliumNext/instanceA and https://your-domain.com/triliumNext/instanceB
+# It prevents your instances from overwriting each others' cookies, allowing you to stay logged in multiple instances simultanteously.
+# E.g. if you have instances running under https://your-domain.com/triliumNext/instanceA and https://your-domain.com/triliumNext/instanceB
# you would want to set the cookiePath value to "/triliumNext/instanceA" for your first and "/triliumNext/instanceB" for your second instance
cookiePath=/
+# Use this setting to set a custom value for the "Max-Age" Attribute of the session cookie.
+# This controls how long your session will be valid, before it expires and you need to log in again, when you use the "Remember Me" option.
+# Value needs to be entered in Seconds.
+# Default value is 1814400 Seconds, which is 21 Days.
+cookieMaxAge=1814400
+
[Sync]
#syncServerHost=
#syncServerTimeout=
diff --git a/docs/X4N03xLYEWnN.html b/docs/X4N03xLYEWnN.html
index 2b686480d..b8e844cba 100644
--- a/docs/X4N03xLYEWnN.html
+++ b/docs/X4N03xLYEWnN.html
@@ -38,12 +38,12 @@
-
The native node bindings
better-sqlite3 has native Node bindings. With updates of better-sqlite3, but also of Electron and Node.js versions, these bindings need to be updated.
Note that Electron and Node.js versions need different versions of these bindings, since Electron usually packs a different version of Node.js.
During development, npm install tries to build or reuse prebuilt natives for the current Node.js version. This makes npm run start-server work out of the box. Trying to run npm run start-electron with these versions generally causes an error such as this:
Uncaught Exception:
+
The native node bindings
better-sqlite3 has native Node bindings. With updates of better-sqlite3, but also of Electron and Node.js versions, these bindings need to be updated.
Note that Electron and Node.js versions need different versions of these bindings, since Electron usually packs a different version of Node.js.
During development, npm install tries to build or reuse prebuilt natives for the current Node.js version. This makes npm run server:start work out of the box. Trying to run npm run electron:start with these versions generally causes an error such as this:
Uncaught Exception:
Error: The module '/Users/elian/Projects/Notes/node_modules/better-sqlite3/build/Release/better_sqlite3.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 108. This version of Node.js requires
NODE_MODULE_VERSION 116. Please try re-compiling or re-installing
-the module (for instance, using `npm rebuild` or `npm install`).
How the natives are handled
Locally, this can be fixed by rebuilding the binaries, which is what npm run switch-electron does, which uses electron-rebuild under the hood.
When the deliveries are built (see Build deliveries locally), it is not feasible to rebuild the dependencies since we are building for multiple platforms. Luckily, better-sqlite3 provides these prebuilt binaries from us, available as artifacts on their GitHub releases page.
The build script manages the natives for better-sqlite3 by keeping a copy of the .node file for every platform in bin/better-sqlite3.
Whenever the version of better-sqlite3 changes, the .node files must also be renewed based on their releases page. To simplify this process, a script was created in bin/better-sqlite3/update.sh.
How to update the natives
The update script needs to know the version of Electron or Node.js for which to download the prebuilt binaries.
If you get errors during download, check on the releases page to ensure that this particular combination of Electron/Node actually exists for the given release.
To determine the NODE_MODULE_VERSION that is required, look for This version of Node.js requires NODE_MODULE_VERSION in the error when starting Trilium via:
npm run start-electron (or run any Electron delivery), case in which the ELECTRON_VERSION variable needs to be changed.
npm run start-server (or run the Linux server delivery), case in which the NODE_VERSION variable needs to be changed.
Check which files got changed after running the update script and for each platform that got changed, test it locally via Build deliveries locally or via the CI.
+the module (for instance, using `npm rebuild` or `npm install`).
How the natives are handled
Locally, this can be fixed by rebuilding the binaries, which is what npm run electron:switch does, which uses electron-rebuild under the hood.
When the deliveries are built (see Build deliveries locally), it is not feasible to rebuild the dependencies since we are building for multiple platforms. Luckily, better-sqlite3 provides these prebuilt binaries from us, available as artifacts on their GitHub releases page.
The build script manages the natives for better-sqlite3 by keeping a copy of the .node file for every platform in bin/better-sqlite3.
Whenever the version of better-sqlite3 changes, the .node files must also be renewed based on their releases page. To simplify this process, a script was created in bin/better-sqlite3/update.sh.
How to update the natives
The update script needs to know the version of Electron or Node.js for which to download the prebuilt binaries.
If you get errors during download, check on the releases page to ensure that this particular combination of Electron/Node actually exists for the given release.
To determine the NODE_MODULE_VERSION that is required, look for This version of Node.js requires NODE_MODULE_VERSION in the error when starting Trilium via:
npm run electron:start (or run any Electron delivery), case in which the ELECTRON_VERSION variable needs to be changed.
npm run server:start (or run the Linux server delivery), case in which the NODE_VERSION variable needs to be changed.
Check which files got changed after running the update script and for each platform that got changed, test it locally via Build deliveries locally or via the CI.
If running the server using npm run start-server, the server will watch for changes in src/public and trigger a frontend reload if that occurs.
Electron live reload
Similarly, npm run start-electron supports live refresh as well.
However, a core difference is that Electron watches dist/src/public instead of src/public since Electron runs on its own copy of the files.
To ameliorate that, a separate watch script has been implemented which automatically copies files from src/public to dist/src/public whenever a change is detected. To run it:
npm run
Technical details
This mechanism is managed at server level by watching for changes inservices/ws.ts.
+
Server live reload
If running the server using npm run server:start, the server will watch for changes in src/public and trigger a frontend reload if that occurs.
Electron live reload
Similarly, npm run electron:start supports live refresh as well.
However, a core difference is that Electron watches dist/src/public instead of src/public since Electron runs on its own copy of the files.
To ameliorate that, a separate watch script has been implemented which automatically copies files from src/public to dist/src/public whenever a change is detected. To run it:
npm run
Technical details
This mechanism is managed at server level by watching for changes inservices/ws.ts.
Provides context about when the build was made and the corresponding Git revision.
The information is displayed to the client when going in the about dialog.
The build information is hard-coded in src/services/build.ts. This file is generated automatically via npm run update-build-info which itself is run automatically whenever making a build in the CI, or a local delivery.
+
Provides context about when the build was made and the corresponding Git revision.
The information is displayed to the client when going in the about dialog.
The build information is hard-coded in src/services/build.ts. This file is generated automatically via npm run chore:update-build-info which itself is run automatically whenever making a build in the CI, or a local delivery.
A custom resource provider allows any file imported into Trilium (images,
+ fonts, stylesheets) to be publicly accessible via a URL.
+
A potential use case for this is to add embed a custom font alongside
+ a theme.
+
Steps for creating a custom resource provider
+
+
Import a file such as an image or a font into Trilium by drag & drop.
+
Select the file and go to the Owned Attributes section.
+
Add the label #customResourceProvider=hello.
+
To test if it is working, use a browser to navigate to <protocol>://<host>/custom/hello (where <protocol> is
+ either http or https based on your setup, and <host> is
+ the host or IP to your Trilium server instance). If you are running the
+ TriliumNext application without a server, use http://localhost:37840 as
+ the base URL.
+
If everything went well, at the previous step the browser should have
+ downloaded the file uploaded in the first step.
+
+
Instead of hello, the name can be:
+
+
A path, such as fonts/Roboto.ttf, which would be accessible
+ via <host>/custom/fonts/Roboto.ttf.
+
As a more advanced use case, a regular expression to match multiple routes,
+ such as hello/.* which will be accessible via /custom/hello/1, /custom/hello/2, /custom/hello/world,
+ etc.
+
+
Using it in a theme
+
For example, if you have a custom font to be imported by the theme, first
+ upload a font file into Trilium and assign it the #customResourceProvider=fonts/myfont.ttf attribute.
+
+
+
\ No newline at end of file
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/REST API/ETAPI/API Reference.dat b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/REST API/ETAPI/API Reference.dat
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/REST API/Internal API/API Reference.dat b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/REST API/Internal API/API Reference.dat
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/2_Creating a custom theme_im.png b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/1_Creating a custom theme_im.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/2_Creating a custom theme_im.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/1_Creating a custom theme_im.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/Theme base (legacy vs. nex.png b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/1_Customize the Next theme_i.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/Theme base (legacy vs. nex.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/1_Customize the Next theme_i.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/4_Creating a custom theme_im.png b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/2_Creating a custom theme_im.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/4_Creating a custom theme_im.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/2_Creating a custom theme_im.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/1_Creating a custom theme_im.png b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/3_Creating a custom theme_im.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/1_Creating a custom theme_im.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/3_Creating a custom theme_im.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/5_Creating a custom theme_im.png b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/4_Creating a custom theme_im.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/5_Creating a custom theme_im.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/4_Creating a custom theme_im.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/Creating a custom theme_im.png b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/5_Creating a custom theme_im.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/Creating a custom theme_im.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/5_Creating a custom theme_im.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/Creating a custom theme.html b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/Creating a custom theme.html
similarity index 87%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/Creating a custom theme.html
rename to src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/Creating a custom theme.html
index e4d1eeda4..d2dc5fea7 100644
--- a/src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/Creating a custom theme.html
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/Creating a custom theme.html
@@ -19,7 +19,7 @@
keep them into one place.
As such, the first step is to create a new note to gather all the themes.
-
+
Step 2. Create the theme
@@ -32,7 +32,7 @@
-
@@ -42,7 +42,7 @@
-
@@ -51,7 +51,7 @@
-
@@ -72,15 +72,15 @@
Refresh the application (Ctrl+Shift+R is a good way to do so) and go to
settings. You should see the newly created theme:
-
+
Afterwards the application will refresh itself with the new theme:
-
+
Do note that the theme will be based off of the legacy theme. To override
that and base the theme on the new TriliumNext theme, see: Theme base (legacy vs. next)
+ href="Customize%20the%20Next%20theme.html">Theme base (legacy vs. next)
Step 5. Making changes
Simply go back to the note and change according to needs. To apply the
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/3_Creating a custom theme_im.png b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/Creating a custom theme_im.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/3_Creating a custom theme_im.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/Creating a custom theme_im.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/Theme base (legacy vs. next).html b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/Customize the Next theme.html
similarity index 78%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/Theme base (legacy vs. next).html
rename to src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/Customize the Next theme.html
index d392deed4..cd0a47f0b 100644
--- a/src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/Theme base (legacy vs. next).html
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/Customize the Next theme.html
@@ -5,20 +5,20 @@
-
Theme base (legacy vs. next)
+ Customize the Next theme
-
Theme base (legacy vs. next)
+
Customize the Next theme
By default, any custom theme will be based on the legacy light theme.
- To change the TriliumNext theme instead, add the #appThemeBase=next attribute
+ To use the TriliumNext theme instead, add the #appThemeBase=next attribute
onto the existing theme. The appTheme attribute must also be
present.
-
+
When appThemeBase is set to next it will use the
“TriliumNext (auto)” theme. Any other value is ignored and will use the
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/1_Theme base (legacy vs. nex.png b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/Customize the Next theme_i.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/1_Theme base (legacy vs. nex.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/Customize the Next theme_i.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/Reference.html b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/Reference.html
similarity index 93%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/Reference.html
rename to src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/Reference.html
index 13af6494e..e858513c1 100644
--- a/src/public/app/doc_notes/en/User Guide/User Guide/Power users/Theme development/Reference.html
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced usage/Theme development/Reference.html
@@ -122,6 +122,11 @@ body.electron:not(.native-titlebar) {
height: 3px;
background-color: var(--workspace-tab-background-color);
}
+
Custom fonts
+
Currently the only way to include a custom font is to use Custom resource providers.
+ Basically import a font into Trilium and assign it #customResourceProvider=fonts/myfont.ttf and
+ then import the font in CSS via /custom/fonts/myfont.ttf.
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Working with notes/2_Exporting as PDF_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Features/1_Export as PDF_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Working with notes/2_Exporting as PDF_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Features/1_Export as PDF_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Features/1_Zen mode_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Features/1_Zen mode_image.png
new file mode 100644
index 000000000..c1a3e8124
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Features/1_Zen mode_image.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Working with notes/Exporting as PDF_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Features/2_Export as PDF_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Working with notes/Exporting as PDF_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Features/2_Export as PDF_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Features/2_Zen mode_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Features/2_Zen mode_image.png
new file mode 100644
index 000000000..0c9f26de0
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Features/2_Zen mode_image.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Features/3_Zen mode_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Features/3_Zen mode_image.png
new file mode 100644
index 000000000..530d76afb
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Features/3_Zen mode_image.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Features/4_Zen mode_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Features/4_Zen mode_image.png
new file mode 100644
index 000000000..d2698b715
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Features/4_Zen mode_image.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Features/5_Zen mode_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Features/5_Zen mode_image.png
new file mode 100644
index 000000000..9f693475f
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Features/5_Zen mode_image.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Features/6_Zen mode_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Features/6_Zen mode_image.png
new file mode 100644
index 000000000..c2543960a
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Features/6_Zen mode_image.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Features/7_Zen mode_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Features/7_Zen mode_image.png
new file mode 100644
index 000000000..d23b671da
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Features/7_Zen mode_image.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Working with notes/Exporting as PDF.html b/src/public/app/doc_notes/en/User Guide/User Guide/Features/Export as PDF.html
similarity index 78%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Working with notes/Exporting as PDF.html
rename to src/public/app/doc_notes/en/User Guide/User Guide/Features/Export as PDF.html
index 045180d5f..1c4337360 100644
--- a/src/public/app/doc_notes/en/User Guide/User Guide/Working with notes/Exporting as PDF.html
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Features/Export as PDF.html
@@ -5,32 +5,35 @@
- Exporting as PDF
+ Export as PDF
-
Exporting as PDF
+
Export as PDF
-
-
+
+
+ Screenshot of the note contextual menu indicating the “Export as PDF”
+ option.
On the desktop application of Trilium it is possible to export a note
as PDF. On the server or PWA (mobile), the option is not available due
to technical constraints and it will be hidden.
To print a note, select the
- button to the right of the note and select Export as PDF.
Afterwards you will be prompted to select where to save the PDF file.
- Upon confirmation, the resulting PDF will be opened automatically.
+ Upon confirmation, the resulting PDF will be opened automatically using
+ the default/system application configured for PDFs.
Should you encounter any visual issues in the resulting PDF file (e.g.
a table does not fit properly, there is cut off text, etc.) feel free to
report the issue. In this case, it's best to offer a sample note (click
on the
- button, select Export note → This note and all of its descendants → HTML
+ button, select Export note → This note and all of its descendants → HTML
in ZIP archive). Make sure not to accidentally leak any personal information.
Landscape mode
When exporting to PDF, there are no customizable settings such as page
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Working with notes/1_Exporting as PDF_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Features/Export as PDF_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Working with notes/1_Exporting as PDF_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Features/Export as PDF_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Features/Zen mode.html b/src/public/app/doc_notes/en/User Guide/User Guide/Features/Zen mode.html
new file mode 100644
index 000000000..9792a7d32
--- /dev/null
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Features/Zen mode.html
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+ Zen mode
+
+
+
+
+
Zen mode
+
+
+
+
+ Screenshot of Zen Mode activated on a Windows 11 system with native title
+ bar off and background effects on.
+
+
When Zen Mode is activated (pictured on the side), most of the user interface
+ of Trilium is hidden away in order to be able to focus on the content,
+ whether it's for reading or writing.
+
+
+ Screenshot of the Zen Mode option in the global menu.
+
+
Activating & deactivating
+
The Zen Mode can be activated by accessing the global menu and selecting
+ the “Zen Mode” option:
+
Aside from the global menu, it's also possible to activate this mode by
+ using a keyboard shortcut which is Alt+Z by default. Look for toggleZenMode in
+ the shortcut configuration.
+
Once Zen Mode is activated, all the UI elements of the application will
+ be hidden away, including the global menu. In that case, the Zen Mode can
+ be deactivated either by pressing the
+ icon in the top-right corner of the window or by pressing the keyboard
+ combination again.
+
Do note that, by design, activating or deactivating the Zen Mode applies
+ only to the current window. Restarting the application will also disable
+ the Zen Mode.
+
Moving the window around
+
If “Native title bar” is activated, then the operating system's default
+ title bar can be used to drag the window around. If deactivated, the window
+ can still be moved by dragging the mouse across the top part of the window
+ where the note titles are.
+
+
+ Screenshot of two notes side-by-side while Zen Mode is active, on Windows
+ 11 with background effects off.
+
+
Split windows and tabs
+
Tabs are completely hidden, however it's still possible to use keyboard
+ shortcuts such as firstTab (Ctrl+1 by default), secondTab (Ctrl+2
+ by default). There are also some newer shortcuts such as activateNextTab (Ctrl+Tab)
+ or activatePreviousTab (Ctrl+Shift+Tab) that allow easy navigation,
+ however make sure that they are configured properly in the settings.
+
For the split view of notes, there are no keyboard shortcuts at the time
+ of writing, but it's still possible to have them in Zen Mode by creating
+ the split while the Zen Mode is off and then reactivating it afterwards.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Features/Zen mode_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Features/Zen mode_image.png
new file mode 100644
index 000000000..675a068aa
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Features/Zen mode_image.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Installation.html b/src/public/app/doc_notes/en/User Guide/User Guide/Installation.html
new file mode 100644
index 000000000..058f84feb
--- /dev/null
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Installation.html
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+ Installation
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Installation/1_On Fedora Linux_Screenshot.png b/src/public/app/doc_notes/en/User Guide/User Guide/Installation/1_On Fedora Linux_Screenshot.png
new file mode 100644
index 000000000..d519f9b75
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Installation/1_On Fedora Linux_Screenshot.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Installation/1_On Fedora Linux_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Installation/1_On Fedora Linux_image.png
new file mode 100644
index 000000000..f3fcbfcb5
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Installation/1_On Fedora Linux_image.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Installation/2_On Fedora Linux_Screenshot.png b/src/public/app/doc_notes/en/User Guide/User Guide/Installation/2_On Fedora Linux_Screenshot.png
new file mode 100644
index 000000000..d7370a422
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Installation/2_On Fedora Linux_Screenshot.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Installation/2_On Fedora Linux_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Installation/2_On Fedora Linux_image.png
new file mode 100644
index 000000000..b69b71d3c
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Installation/2_On Fedora Linux_image.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Installation/3_On Fedora Linux_Screenshot.png b/src/public/app/doc_notes/en/User Guide/User Guide/Installation/3_On Fedora Linux_Screenshot.png
new file mode 100644
index 000000000..6c3589ca4
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Installation/3_On Fedora Linux_Screenshot.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Installation/On Fedora Linux.html b/src/public/app/doc_notes/en/User Guide/User Guide/Installation/On Fedora Linux.html
new file mode 100644
index 000000000..88ad36272
--- /dev/null
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Installation/On Fedora Linux.html
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+ On Fedora Linux
+
+
+
+
+
On Fedora Linux
+
+
+
First, download a release from GitHub.
+
+
+
+
+
+
+
+
+
+
1
+
+
+
+
+
+
In your file explorer, look for the .rpm file of TriliumNext.
+
+
+
2
+
+
+
+
+
+
Right click the file and select Open With Software Install.
+
+
+
3
+
+
+
+
+
+
+
GNOME Software will appear. Press the
+ .
+
You will be asked to confirm the action by entering your password.
+
After confirmation the software will start installing.
+
Once it's done the “Install” button will turn into
+ .
+
+
+
+
4
+
+
+
+
+
+
After installation, the application will be available in the GNOME overview
+ section.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Installation/On Fedora Linux_Screenshot.png b/src/public/app/doc_notes/en/User Guide/User Guide/Installation/On Fedora Linux_Screenshot.png
new file mode 100644
index 000000000..fb0ce66ef
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Installation/On Fedora Linux_Screenshot.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Installation/On Fedora Linux_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Installation/On Fedora Linux_image.png
new file mode 100644
index 000000000..5791f83ef
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Installation/On Fedora Linux_image.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Installation_Fedora_logo.svg b/src/public/app/doc_notes/en/User Guide/User Guide/Installation_Fedora_logo.svg
new file mode 100644
index 000000000..1ad9c15c8
--- /dev/null
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Installation_Fedora_logo.svg
@@ -0,0 +1,10 @@
+
+
\ No newline at end of file
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/10_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/10_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/3_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/11_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/3_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/11_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/9_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/12_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/9_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/12_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/13_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/13_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/13_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/13_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/4_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/14_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/4_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/14_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/19_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/15_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/19_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/15_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/8_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/16_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/8_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/16_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/12_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/17_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/12_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/17_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/10_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/18_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/10_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/18_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/11_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/19_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/11_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/19_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/5_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/1_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/5_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/1_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/14_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/2_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/14_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/2_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/1_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/3_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/1_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/3_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/7_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/4_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/7_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/4_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/2_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/5_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/2_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/5_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/18_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/6_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/18_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/6_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/6_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/7_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/6_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/7_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/17_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/8_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/17_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/8_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/15_Geo map_image.png b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/9_Geo map_image.png
similarity index 100%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/15_Geo map_image.png
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/9_Geo map_image.png
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/Geo map.html b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Geo map.html
similarity index 80%
rename from src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/Geo map.html
rename to src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Geo map.html
index bcaf6d7b7..65d8ee517 100644
--- a/src/public/app/doc_notes/en/User Guide/User Guide/Types of notes/Geo map.html
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Note Types/Geo map.html
@@ -26,7 +26,7 @@
1
-
@@ -36,7 +36,7 @@
2
-
@@ -51,8 +51,8 @@
Use the mouse wheel, two-finger gesture on a touchpad or the +/- buttons
on the top-left to adjust the zoom.
-
The position on the map and the zoom are saved inside the map note. When
- visting again the note it will restore this position.
+
The position on the map and the zoom are saved inside the map note and
+ restored when visiting again the note.
Adding a marker using the map
@@ -69,18 +69,18 @@
To create a marker, first navigate to the desired point on the map. Then
press the
button on the top-right of the map.
+ src="5_Geo map_image.png" width="72" height="66">button on the top-right of the map.
If the button is not visible, make sure the button section is visible
by pressing the chevron button (
) in the top-right of the map.
+ src="11_Geo map_image.png" width="72" height="66">) in the top-right of the map.
2
-
@@ -96,7 +96,7 @@
3
-
@@ -107,7 +107,7 @@
4
-
@@ -118,6 +118,15 @@
+
How the location of the markers is stored
+
The location of a marker is stored in the #geolocation attribute
+ of the child notes:
+
+
+
+
This value can be added manually if needed. The value of the attribute
+ is made up of the latitude and longitude separated by a comma.
Repositioning markers
It's possible to reposition existing markers by simply drag and dropping
them to the new destination.
@@ -125,13 +134,30 @@
If moved by mistake, there is currently no way to undo the change. If
the mouse was not yet released, it's possible to force a refresh of the
page (Ctrl+R or Meta+R) to cancel it.
-
Adding the geolocation manually
-
The location of a marker is stored in the #geolocation attribute
- of the child notes:
-
-
-
+
Interaction with the markers
+
+
Hovering over a marker will display the content of the note it belongs
+ to.
+
+
Clicking on the note title in the tooltip will navigate to the note in
+ the current view.
+
+
+
Middle-clicking the marker will open the note in a new tab.
+
Right-clicking the marker will open a contextual menu allowing:
+
+
Opening the note in a new tab, split or window.
+
Opening the location using an external application (if the operating system
+ supports it).
+
Removing the marker from the map, which will remove the #geolocation attribute
+ of the note. To add it back again, the coordinates have to be manually
+ added back in.
+
+
+
+
Adding the coordinates manually
+
In a nutshell, create a child note and set the #geolocation attribute
+ to the coordinates.
The value of the attribute is made up of the latitude and longitude separated
by a comma.
+
+
+
\ No newline at end of file
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Scripting/Examples/Downloading responses from Goo.html b/src/public/app/doc_notes/en/User Guide/User Guide/Scripting/Examples/Downloading responses from Goo.html
new file mode 100644
index 000000000..7e4955655
--- /dev/null
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Scripting/Examples/Downloading responses from Goo.html
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+ Downloading responses from Google Forms
+
+
+
+
+
Downloading responses from Google Forms
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Shared notes/1_Serving directly the conte.png b/src/public/app/doc_notes/en/User Guide/User Guide/Shared notes/1_Serving directly the conte.png
new file mode 100644
index 000000000..bab0f97f5
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Shared notes/1_Serving directly the conte.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Shared notes/Serving directly the conte.png b/src/public/app/doc_notes/en/User Guide/User Guide/Shared notes/Serving directly the conte.png
new file mode 100644
index 000000000..981a43146
Binary files /dev/null and b/src/public/app/doc_notes/en/User Guide/User Guide/Shared notes/Serving directly the conte.png differ
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Shared notes/Serving directly the content o.html b/src/public/app/doc_notes/en/User Guide/User Guide/Shared notes/Serving directly the content o.html
new file mode 100644
index 000000000..d64d24e2e
--- /dev/null
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Shared notes/Serving directly the content o.html
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+ Serving directly the content of a note
+
+
+
+
+
Serving directly the content of a note
+
+
+
When accessing a shared note, Trilium will render it as a web page. Sometimes
+ it's desirable to serve the content directly so that it can be used in
+ a script or downloaded by the user.
+
+
+
+
+
+
+
+
+
+
+
+ A note displayed as a web page (HTML)
+
+
+
+
+
+ A note displayed as a raw format
+
+
+
+
+
+
+
By adding an attribute to the note
+
Simply add the #shareRaw attribute and the note will always
+ be rendered raw when accessed from the share URL.
+
By altering the URL
+
Append ?raw to the URL to display a note in its raw format
+ regardless of whether the #shareRaw attribute is added on the
+ note.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/public/app/doc_notes/en/User Guide/index.html b/src/public/app/doc_notes/en/User Guide/index.html
index bac353ead..fc49dc742 100644
--- a/src/public/app/doc_notes/en/User Guide/index.html
+++ b/src/public/app/doc_notes/en/User Guide/index.html
@@ -6,6 +6,6 @@