import { ComponentChildren } from 'preact'; import Card from '../../components/Card'; import Section from '../../components/Section'; import DownloadButton from '../../components/DownloadButton'; import "./index.css"; import { useColorScheme, usePageTitle } from '../../hooks'; import Button, { Link } from '../../components/Button'; import gitHubIcon from "../../assets/boxicons/bx-github.svg?raw"; import dockerIcon from "../../assets/boxicons/bx-docker.svg?raw"; import noteStructureIcon from "../../assets/boxicons/bx-folder.svg?raw"; import attributesIcon from "../../assets/boxicons/bx-tag.svg?raw"; import hoistingIcon from "../../assets/boxicons/bx-chevrons-up.svg?raw"; import revisionsIcon from "../../assets/boxicons/bx-history.svg?raw"; import syncIcon from "../../assets/boxicons/bx-refresh-cw.svg?raw"; import protectedNotesIcon from "../../assets/boxicons/bx-shield.svg?raw"; import jumpToIcon from "../../assets/boxicons/bx-send-alt.svg?raw"; import searchIcon from "../../assets/boxicons/bx-search.svg?raw"; import webClipperIcon from "../../assets/boxicons/bx-paperclip.svg?raw"; import importExportIcon from "../../assets/boxicons/bx-swap-horizontal.svg?raw"; import shareIcon from "../../assets/boxicons/bx-globe.svg?raw"; import scriptingAndApiIcon from "../../assets/boxicons/bx-extension.svg?raw"; import { getPlatform } from '../../download-helper'; import { useState } from 'preact/hooks'; export function Home() { usePageTitle(""); return ( <> ); } function HeroSection() { const platform = getPlatform(); let screenshotUrl: string; const colorScheme = useColorScheme(); switch (platform) { case "macos": screenshotUrl = `./src/assets/screenshot_desktop_mac_${colorScheme}.png`; break; case "linux": break; case "windows": default: screenshotUrl = `./src/assets/screenshot_desktop_win_${colorScheme}.png`; break; } return (

Organize your thoughts. Build your personal knowledge base.

Trilium is an open-source solution for note-taking and organizing a personal knowledge base. Use it locally on your desktop, or sync it with your self-hosted server to keep your notes everywhere you go.

{screenshotUrl && }
) } function BenefitsSection() { return ( <>
Notes can be arranged hierarchically. There's no need for folders, since each note can contain sub-notes. A single note can be added in multiple places in the hierarchy. Define relations between notes or add labels for easy categorization. Using promoted attributes, there's an easy way to enter structured information about the notes which can later be displayed in other formats such as a table. Easily separate your personal and work notes by grouping them under a workspace, which focuses your note tree to only show a specific set of notes.
Notes are periodically saved in the background and revisions can be used to check the old content of a note or delete accidental changes. Revisions can also be created on-demand. Use a self-hosted or cloud instance to easily synchronize your notes across multiple devices, and to access it from your mobile phone using a PWA (progressive web application). Protect sensitive personal information by encrypting the notes and locking them behind a password-protected session. Jump quickly to notes across the hierarchy by searching for their title, with fuzzy matching to account for typos or slight differences. Or search through all the various commands of the application. Or search for text inside notes and narrow down the search by filtering by the parent note, or by depth. Grab web pages (or screenshots) and place them directly into Trilium using the web clipper browser extension.
Easily import Markdown and ENEX formats from other note-taking applications, or export to Markdown or HTML. If you have a server instance, you can easily use it to share a subset of your notes with other people. Create your own integrations within Trilium by writing custom widgets, or custom-server side logic. Interact externally with the Trilium database by using the built-in REST API.
); } function NoteTypesSection() { return (
The notes are edited using a visual (WYSIWYG) editor, with support for tables, images, math expressions, code blocks with syntax highlighting. Quickly format the text using Markdown-like syntax or using slash commands. Large samples of source code or scripts use a dedicated editor, with syntax highlighting for many programming languages and with various color themes. Embed multimedia files such as PDFs, images, videos with an in-application preview. Arrange shapes, images and text across an infinite canvas, using the same technology behind excalidraw.com. Ideal for diagrams, sketches and visual planning. Create diagrams such as flowcharts, class & sequence diagrams, Gantt charts and many more, using the Mermaid syntax. Organize your thoughts visually or do a brainstorming session by using mind map diagrams.

and others:{" "} note map,{" "} relation map,{" "} saved searches,{" "} render note,{" "} web views.

); } function CollectionsSection() { return (
); } function ListWithScreenshot({ items }: { items: { title: string, imageUrl: string, description: string, moreInfo: string }[]; }) { const [ selectedItem, setSelectedItem ] = useState(items[0]); return (
    {items.map(item => (
  • setSelectedItem(item)} onClick={() => setSelectedItem(item)} > {item.description}
  • ))}

{selectedItem.title}

) } function FaqSection() { return (
Currently there is no official mobile application. However, if you have a server instance you can access it using a web browser and even install it as a PWA. For Android, there is an unofficial application called TriliumDroid that even works offline (same as a desktop client). All your notes will be stored in an SQLite database in an application folder. The reasoning why Trilium uses a database instead of plain text files is both performance and some features would be much more difficult to implement such as clones (same note in multiple places in the tree). To find the application folder, simply go to the About window. No, the server allows access via a web browser and manages the synchronization if you have multiple devices. To get started, it's enough to download the desktop application and start using it. Depending on usage, the application should be able to handle at least 100.000 notes without an issue. Do note that the sync process can sometimes fail if uploading many large files (> 1 GB per file) since Trilium is meant more as a knowledge base application rather than a file store (like NextCloud, for example). No, it's generally not a good idea to share a SQLite database over a network drive. Although sometimes it might work, there are chances that the database will get corrupted due to imperfect file locks over a network. By default, notes are not encrypted and can be read directly from the database. Once a note is marked as encrypted, the note is encrypted using AES-128-CBC.
); } function FaqItem({ question, children }: { question: string; children: ComponentChildren }) { return (
{question}

{children}

) } function FinalCta() { return (

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

) }