Recently, I came across a note-taking application called trilium. As stated in its README:
Build your personal knowledge base with Trilium Notes.
With this software, it is easy to build a personal knowledge base. Its unique design and high extensibility have attracted me.
Features#
There are five main features that attract me to this software:
- Unique directory structure design, where a single note can act as both a "file" and a "folder," making document organization easy.
- Notes support custom icons, viewing edit history, cloning (similar to hard links in a file system), and more.
- WYSIWYG rich text editor with a good editing experience.
- Highly extensible, allowing customization of buttons, page elements, and batch operations on notes through the API.
- Front-end and back-end separation, making it easy to achieve multi-device sharing and note synchronization.
Running#
This software has multiple running modes, such as:
- Opening the client locally, where note content is only stored locally.
- Deploying it on a server and setting the server address in the local client, allowing periodic synchronization of note content between the local and cloud.
- Deploying it on a server and accessing the server address directly, interacting with the server through a web browser front-end.
I personally recommend using the second method and deploying a backup of notes on a server.
Installation#
To install the client, you can visit trilium - release. If you need Chinese translation, you can install trilium-translation - release.
Deployment#
In general, we can directly use the compressed package method for server deployment. The process is very simple, just follow the steps.
Showcase#
Here are a few typical features showcased.
Documents and Sub-documents#
The right-hand sidebar displays document content and sub-document previews.
Cloning Notes#
The same note can be organized in different locations within the directory.
Note Editing#
A mature rich text editor.
Custom Buttons#
Custom buttons can be added to the sidebar. Clicking on them generates a daily note and two sub-notes under it, labeled "Study" and "Entertainment."
Note Synchronization#
Synchronize note content with a remote server.
Advanced#
If you have more advanced requirements, you can refer to Trilium: A Highly Customizable Personal Knowledge Base (Advanced Guide).
If you want to write your own scripts, you can refer to the official API documentation:
- Front-end: Class: FrontendScriptApi
- Back-end: Class: BackendScriptApi