diff --git a/apps/website/src/app.css b/apps/website/src/app.css index 1c4d2a8bc..e6f251501 100644 --- a/apps/website/src/app.css +++ b/apps/website/src/app.css @@ -1,2 +1,10 @@ @import 'tailwindcss'; @plugin '@tailwindcss/typography'; + +main a { + text-decoration: revert; +} + +a.rounded-full, a.rounded-xl { + text-decoration: none; +} diff --git a/apps/website/src/app.html b/apps/website/src/app.html index 16ef9cc59..7539873b8 100644 --- a/apps/website/src/app.html +++ b/apps/website/src/app.html @@ -7,6 +7,6 @@ %sveltekit.head% -
%sveltekit.body%
+ %sveltekit.body% diff --git a/apps/website/src/lib/download-helper.ts b/apps/website/src/lib/download-helper.ts index 08f473ae3..8f19b7020 100644 --- a/apps/website/src/lib/download-helper.ts +++ b/apps/website/src/lib/download-helper.ts @@ -41,6 +41,14 @@ export const downloadMatrix: DownloadMatrix = { }, zip: { name: "Portable (.zip)" + }, + scoop: { + name: "Scoop", + url: "https://scoop.sh/#/apps?q=triliumnext" + }, + winget: { + name: "Winget", + url: "https://github.com/microsoft/winget-pkgs/tree/master/manifests/t/TriliumNext/Notes/" } } }, @@ -66,6 +74,14 @@ export const downloadMatrix: DownloadMatrix = { }, zip: { name: "Portable (.zip)" + }, + nixpkgs: { + name: "nixpkgs", + url: "https://search.nixos.org/packages?query=trilium-next" + }, + aur: { + name: "AUR", + url: "https://aur.archlinux.org/packages/triliumnext-bin" } } }, @@ -107,6 +123,10 @@ export const downloadMatrix: DownloadMatrix = { name: "ARM (.tar.xz)", url: `https://github.com/TriliumNext/Notes/releases/download/v${version}/TriliumNextNotes-Server-v${version}-linux-arm64.tar.xz` }, + nixos: { + name: "NixOS module", + url: "https://search.nixos.org/options?query=trilium-server" + } } }, pikapod: { @@ -129,7 +149,8 @@ export const downloadMatrix: DownloadMatrix = { export function buildDownloadUrl(app: App, platform: Platform, format: string, architecture: Architecture): string { if (app === "desktop") { - return `https://github.com/TriliumNext/Notes/releases/download/v${version}/TriliumNextNotes-v${version}-${platform}-${architecture}.${format}`; + return downloadMatrix.desktop[platform]?.downloads[format].url ?? + `https://github.com/TriliumNext/Notes/releases/download/v${version}/TriliumNextNotes-v${version}-${platform}-${architecture}.${format}`; } else if (app === "server") { return downloadMatrix.server[platform]?.downloads[format].url ?? "#"; } else { diff --git a/apps/website/src/routes/+layout.svelte b/apps/website/src/routes/+layout.svelte index f8a8cea2e..18fe9f546 100644 --- a/apps/website/src/routes/+layout.svelte +++ b/apps/website/src/routes/+layout.svelte @@ -5,10 +5,16 @@ let { children } = $props(); + +
+
{@render children()} +
- + + \ No newline at end of file diff --git a/apps/website/src/routes/+page.svelte b/apps/website/src/routes/+page.svelte index 47cf49540..a438901b5 100644 --- a/apps/website/src/routes/+page.svelte +++ b/apps/website/src/routes/+page.svelte @@ -1,8 +1,16 @@ -
+ + Trilium Notes + + + +
@@ -15,10 +23,12 @@
-

Organize Your Thoughts.
Build Your Knowledge.

-

+

Organize Your Thoughts.
Build Your Knowledge.

+

Trilium Notes helps you build and organize complex personal knowledge bases effortlessly. Its unique tree structure, rich editing tools, and powerful search features make managing your information intuitive and flexible. + +

@@ -40,48 +50,72 @@

Beyond Text: Smarter Note Types

- -
- Canvas Note Screenshot -
-

Canvas Notes

-

Draw and arrange elements freely using an Excalidraw-powered canvas — ideal for diagrams, sketches, and visual planning.

-
-
+ - -
- Mermaid Diagram Screenshot -
-

Mermaid Diagrams

-

Render flowcharts, Gantt charts, and sequence diagrams with Mermaid markdown syntax directly in your notes.

-
-
+ - -
- Geo Map Screenshot -
-

Geo Maps

-

Plot locations and GPX tracks to visualize geography-linked notes and movement patterns on interactive maps.

-
-
+ - -
- Mind Map Screenshot -
-

Mind Maps

-

Organize ideas visually using a drag-and-drop mind map editor powered by Mind Elixir.

-
-
+ +
+ +

Technical Features

+ +
+ + + + + + +

Feature Highlights

-
+

Organization & Navigation

@@ -109,7 +143,6 @@

Security & Sync

  • Direct OpenID and TOTP integration for secure login.
  • -
  • Synchronization with self-hosted and third-party servers.
  • Strong note encryption with per-note granularity.
  • Sharing notes publicly on the internet.
@@ -120,10 +153,8 @@

Advanced & Customization

  • Relation maps and link maps to visualize notes.
  • -
  • Scripting support and REST API for automation.
  • Touch-optimized mobile frontend and dark/user themes.
  • Customizable UI with sidebar buttons and user widgets.
  • -
  • Metrics with Grafana dashboard integration.
  • Scales efficiently beyond 100,000 notes.
@@ -131,13 +162,13 @@
-
+

Ready to get started with Trilium Notes?

-

Build your personal knowledge base with powerful features and full privacy.

+

Build your personal knowledge base with powerful features and full privacy.

diff --git a/apps/website/src/routes/download/+page.svelte b/apps/website/src/routes/download/+page.svelte index aea89d905..b09c684f9 100644 --- a/apps/website/src/routes/download/+page.svelte +++ b/apps/website/src/routes/download/+page.svelte @@ -7,13 +7,20 @@ let architecture = getArchitecture(); -
+ + Trilium Notes: Download + + + +
-

Download the desktop application

+

Download the desktop application

- Architecture: + Architecture:
{#each architectures as arch}
diff --git a/apps/website/src/routes/download/download-card.svelte b/apps/website/src/routes/download/download-card.svelte index c2423505d..9fd89c20f 100644 --- a/apps/website/src/routes/download/download-card.svelte +++ b/apps/website/src/routes/download/download-card.svelte @@ -11,16 +11,16 @@ const recommended = Object.entries(platform.downloads).find((e) => e[1].recommended); -
+

{typeof platform.title === "object" ? platform.title[architecture] : platform.title}

-

{typeof platform.title === "object" ? platform.description[architecture] : platform.description}

+

{typeof platform.title === "object" ? platform.description[architecture] : platform.description}

{#if recommended} {recommended[1].name} {/if} -
+
{#each Object.entries(platform.downloads).filter((e) => !e[1].recommended) as [format, download]} {download.name} diff --git a/apps/website/src/routes/feature-block.svelte b/apps/website/src/routes/feature-block.svelte new file mode 100644 index 000000000..982eea437 --- /dev/null +++ b/apps/website/src/routes/feature-block.svelte @@ -0,0 +1,14 @@ + + +
+ {imgAlt} +
+

{title}

+

{text}

+
+
\ No newline at end of file diff --git a/apps/website/src/routes/header.svelte b/apps/website/src/routes/header.svelte index 81c543865..af1a7f057 100644 --- a/apps/website/src/routes/header.svelte +++ b/apps/website/src/routes/header.svelte @@ -2,7 +2,7 @@ import DownloadNow from "./download-now.svelte"; -
+