|
1 |
| -# Trilium |
| 1 | +# TriliumNext Notes |
2 | 2 |
|
3 |
| -<a alt="Nx logo" href="https://nx.dev" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-logo.png" width="45"></a> |
| 3 | +   |
4 | 4 |
|
5 |
| -✨ Your new, shiny [Nx workspace](https://nx.dev) is ready ✨. |
| 5 | +[English](./README.md) | [Chinese](./docs/README-ZH_CN.md) | [Russian](./docs/README.ru.md) | [Japanese](./docs/README.ja.md) | [Italian](./docs/README.it.md) | [Spanish](./docs/README.es.md) |
6 | 6 |
|
7 |
| -[Learn more about this workspace setup and its capabilities](https://nx.dev/nx-api/js?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) or run `npx nx graph` to visually explore what was created. Now, let's get you up to speed! |
| 7 | +TriliumNext Notes is an open-source, cross-platform hierarchical note taking application with focus on building large personal knowledge bases. |
8 | 8 |
|
9 |
| -## Generate a library |
| 9 | +See [screenshots](https://triliumnext.github.io/Docs/Wiki/screenshot-tour) for quick overview: |
10 | 10 |
|
11 |
| -```sh |
12 |
| -npx nx g @nx/js:lib packages/pkg1 --publishable --importPath=@my-org/pkg1 |
13 |
| -``` |
| 11 | +<a href="https://triliumnext.github.io/Docs/Wiki/screenshot-tour"><img src="https://github.com/TriliumNext/Notes/blob/develop/images/screenshots/app.png?raw=true" alt="Trilium Screenshot" width="1000"></a> |
14 | 12 |
|
15 |
| -## Run tasks |
| 13 | +## ⚠️ Why TriliumNext? |
16 | 14 |
|
17 |
| -To build the library use: |
| 15 | +[The original Trilium project is in maintenance mode](https://github.com/zadam/trilium/issues/4620) |
18 | 16 |
|
19 |
| -```sh |
20 |
| -npx nx build pkg1 |
21 |
| -``` |
| 17 | +### Migrating from Trilium? |
22 | 18 |
|
23 |
| -To run any task with Nx use: |
| 19 | +There are no special migration steps to migrate from a zadam/Trilium instance to a TriliumNext/Notes instance. Simply [install TriliumNext/Notes](#-installation) as usual and it will use your existing database. |
24 | 20 |
|
25 |
| -```sh |
26 |
| -npx nx <target> <project-name> |
27 |
| -``` |
| 21 | +Versions up to and including [v0.90.4](https://github.com/TriliumNext/Notes/releases/tag/v0.90.4) are compatible with the latest zadam/trilium version of [v0.63.7](https://github.com/zadam/trilium/releases/tag/v0.63.7). Any later versions of TriliumNext have their sync versions incremented. |
28 | 22 |
|
29 |
| -These targets are either [inferred automatically](https://nx.dev/concepts/inferred-tasks?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) or defined in the `project.json` or `package.json` files. |
| 23 | +## 💬 Discuss with us |
30 | 24 |
|
31 |
| -[More about running tasks in the docs »](https://nx.dev/features/run-tasks?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) |
| 25 | +Feel free to join our official conversations. We would love to hear what features, suggestions, or issues you may have! |
32 | 26 |
|
33 |
| -## Versioning and releasing |
| 27 | +- [Matrix](https://matrix.to/#/#triliumnext:matrix.org) (For synchronous discussions) |
| 28 | + - The `General` Matrix room is also bridged to [XMPP ](xmpp:[email protected]?join) |
| 29 | +- [Github Discussions](https://github.com/TriliumNext/Notes/discussions) (For Asynchronous discussions) |
| 30 | +- [Wiki](https://triliumnext.github.io/Docs/) (For common how-to questions and user guides) |
34 | 31 |
|
35 |
| -To version and release the library use |
| 32 | +## 🎁 Features |
36 | 33 |
|
37 |
| -``` |
38 |
| -npx nx release |
39 |
| -``` |
| 34 | +* Notes can be arranged into arbitrarily deep tree. Single note can be placed into multiple places in the tree (see [cloning](https://triliumnext.github.io/Docs/Wiki/cloning-notes)) |
| 35 | +* Rich WYSIWYG note editing including e.g. tables, images and [math](https://triliumnext.github.io/Docs/Wiki/text-notes) with markdown [autoformat](https://triliumnext.github.io/Docs/Wiki/text-notes#autoformat) |
| 36 | +* Support for editing [notes with source code](https://triliumnext.github.io/Docs/Wiki/code-notes), including syntax highlighting |
| 37 | +* Fast and easy [navigation between notes](https://triliumnext.github.io/Docs/Wiki/note-navigation), full text search and [note hoisting](https://triliumnext.github.io/Docs/Wiki/note-hoisting) |
| 38 | +* Seamless [note versioning](https://triliumnext.github.io/Docs/Wiki/note-revisions) |
| 39 | +* Note [attributes](https://triliumnext.github.io/Docs/Wiki/attributes) can be used for note organization, querying and advanced [scripting](https://triliumnext.github.io/Docs/Wiki/scripts) |
| 40 | +* Direct OpenID and TOTP integration for more secure login |
| 41 | +* [Synchronization](https://triliumnext.github.io/Docs/Wiki/synchronization) with self-hosted sync server |
| 42 | + * there's a [3rd party service for hosting synchronisation server](https://trilium.cc/paid-hosting) |
| 43 | +* [Sharing](https://triliumnext.github.io/Docs/Wiki/sharing) (publishing) notes to public internet |
| 44 | +* Strong [note encryption](https://triliumnext.github.io/Docs/Wiki/protected-notes) with per-note granularity |
| 45 | +* Sketching diagrams with built-in Excalidraw (note type "canvas") |
| 46 | +* [Relation maps](https://triliumnext.github.io/Docs/Wiki/relation-map) and [link maps](https://triliumnext.github.io/Docs/Wiki/link-map) for visualizing notes and their relations |
| 47 | +* [Scripting](https://triliumnext.github.io/Docs/Wiki/scripts) - see [Advanced showcases](https://triliumnext.github.io/Docs/Wiki/advanced-showcases) |
| 48 | +* [REST API](https://triliumnext.github.io/Docs/Wiki/etapi) for automation |
| 49 | +* Scales well in both usability and performance upwards of 100 000 notes |
| 50 | +* Touch optimized [mobile frontend](https://triliumnext.github.io/Docs/Wiki/mobile-frontend) for smartphones and tablets |
| 51 | +* [Night theme](https://triliumnext.github.io/Docs/Wiki/themes) |
| 52 | +* [Evernote](https://triliumnext.github.io/Docs/Wiki/evernote-import) and [Markdown import & export](https://triliumnext.github.io/Docs/Wiki/markdown) |
| 53 | +* [Web Clipper](https://triliumnext.github.io/Docs/Wiki/web-clipper) for easy saving of web content |
40 | 54 |
|
41 |
| -Pass `--dry-run` to see what would happen without actually releasing the library. |
| 55 | +✨ Check out the following third-party resources/communities for more TriliumNext related goodies: |
42 | 56 |
|
43 |
| -[Learn more about Nx release »](hhttps://nx.dev/features/manage-releases?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) |
| 57 | +- [awesome-trilium](https://github.com/Nriver/awesome-trilium) for 3rd party themes, scripts, plugins and more. |
| 58 | +- [TriliumRocks!](https://trilium.rocks/) for tutorials, guides, and much more. |
44 | 59 |
|
45 |
| -## Keep TypeScript project references up to date |
| 60 | +## 🏗 Installation |
46 | 61 |
|
47 |
| -Nx automatically updates TypeScript [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) in `tsconfig.json` files to ensure they remain accurate based on your project dependencies (`import` or `require` statements). This sync is automatically done when running tasks such as `build` or `typecheck`, which require updated references to function correctly. |
| 62 | +### Desktop |
48 | 63 |
|
49 |
| -To manually trigger the process to sync the project graph dependencies information to the TypeScript project references, run the following command: |
| 64 | +To use TriliumNext on your desktop machine (Linux, MacOS, and Windows) you have a few options: |
50 | 65 |
|
51 |
| -```sh |
52 |
| -npx nx sync |
53 |
| -``` |
| 66 | +* Download the binary release for your platform from the [latest release page](https://github.com/TriliumNext/Notes/releases/latest), unzip the package and run the ```trilium``` executable. |
| 67 | +* Access TriliumNext via the web interface of a server installation (see below) |
| 68 | + * Currently only the latest versions of Chrome & Firefox are supported (and tested). |
| 69 | +* TriliumNext is also provided as a Flatpak, but not yet published on FlatHub. |
54 | 70 |
|
55 |
| -You can enforce that the TypeScript project references are always in the correct state when running in CI by adding a step to your CI job configuration that runs the following command: |
| 71 | +### Mobile |
56 | 72 |
|
57 |
| -```sh |
58 |
| -npx nx sync:check |
59 |
| -``` |
| 73 | +To use TriliumNext on a mobile device, you can use a mobile web browser to access the mobile interface of a server installation (see below). |
60 | 74 |
|
61 |
| -[Learn more about nx sync](https://nx.dev/reference/nx-commands#sync) |
| 75 | +If you prefer a native Android app, you can use [TriliumDroid](https://apt.izzysoft.de/fdroid/index/apk/eu.fliegendewurst.triliumdroid). Report bugs and missing features at [their repository](https://github.com/FliegendeWurst/TriliumDroid). |
62 | 76 |
|
63 |
| -## Set up CI! |
| 77 | +See issue https://github.com/TriliumNext/Notes/issues/72 for more information on mobile app support. |
64 | 78 |
|
65 |
| -### Step 1 |
| 79 | +### Server |
66 | 80 |
|
67 |
| -To connect to Nx Cloud, run the following command: |
| 81 | +To install TriliumNext on your own server (including via Docker from [Dockerhub](https://hub.docker.com/r/triliumnext/notes)) follow [the server installation docs](https://triliumnext.github.io/Docs/Wiki/server-installation). |
68 | 82 |
|
69 |
| -```sh |
70 |
| -npx nx connect |
71 |
| -``` |
| 83 | +## 📝 Documentation |
72 | 84 |
|
73 |
| -Connecting to Nx Cloud ensures a [fast and scalable CI](https://nx.dev/ci/intro/why-nx-cloud?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) pipeline. It includes features such as: |
| 85 | +[See wiki for complete list of documentation pages.](https://triliumnext.github.io/Docs) |
74 | 86 |
|
75 |
| -- [Remote caching](https://nx.dev/ci/features/remote-cache?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) |
76 |
| -- [Task distribution across multiple machines](https://nx.dev/ci/features/distribute-task-execution?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) |
77 |
| -- [Automated e2e test splitting](https://nx.dev/ci/features/split-e2e-tasks?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) |
78 |
| -- [Task flakiness detection and rerunning](https://nx.dev/ci/features/flaky-tasks?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) |
| 87 | +You can also read [Patterns of personal knowledge base](https://triliumnext.github.io/Docs/Wiki/patterns-of-personal-knowledge) to get some inspiration on how you might use TriliumNext. |
79 | 88 |
|
80 |
| -### Step 2 |
| 89 | +## 💻 Contribute |
81 | 90 |
|
82 |
| -Use the following command to configure a CI workflow for your workspace: |
| 91 | +### Code |
83 | 92 |
|
84 |
| -```sh |
85 |
| -npx nx g ci-workflow |
| 93 | +```shell |
| 94 | +git clone https://github.com/TriliumNext/Notes.git |
| 95 | +cd Notes |
| 96 | +npm install |
| 97 | +npm run server:start |
86 | 98 | ```
|
87 | 99 |
|
88 |
| -[Learn more about Nx on CI](https://nx.dev/ci/intro/ci-with-nx#ready-get-started-with-your-provider?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) |
| 100 | +For more details, see the [development docs](https://github.com/TriliumNext/Notes/blob/develop/docs/Developer%20Guide/Developer%20Guide/Building%20and%20deployment/Running%20a%20development%20build.md). |
| 101 | + |
| 102 | +### Documentation |
| 103 | + |
| 104 | +See the [documentation guide](https://github.com/TriliumNext/Notes/blob/develop/docs/Developer%20Guide/Developer%20Guide/Documentation.md) for details. |
89 | 105 |
|
90 |
| -## Install Nx Console |
| 106 | +## 👏 Shoutouts |
91 | 107 |
|
92 |
| -Nx Console is an editor extension that enriches your developer experience. It lets you run tasks, generate code, and improves code autocompletion in your IDE. It is available for VSCode and IntelliJ. |
| 108 | +* [CKEditor 5](https://github.com/ckeditor/ckeditor5) - best WYSIWYG editor on the market, very interactive and listening team |
| 109 | +* [FancyTree](https://github.com/mar10/fancytree) - very feature rich tree library without real competition. TriliumNext Notes would not be the same without it. |
| 110 | +* [CodeMirror](https://github.com/codemirror/CodeMirror) - code editor with support for huge amount of languages |
| 111 | +* [jsPlumb](https://github.com/jsplumb/jsplumb) - visual connectivity library without competition. Used in [relation maps](https://triliumnext.github.io/Docs/Wiki/relation-map.html) and [link maps](https://triliumnext.github.io/Docs/Wiki/note-map.html#link-map) |
93 | 112 |
|
94 |
| -[Install Nx Console »](https://nx.dev/getting-started/editor-setup?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) |
| 113 | +## 🤝 Support |
95 | 114 |
|
96 |
| -## Useful links |
| 115 | +Support for the TriliumNext organization will be possible in the near future. For now, you can: |
| 116 | +- Support continued development on TriliumNext by supporting our developers: [eliandoran](https://github.com/sponsors/eliandoran) (See the [repository insights]([developers]([url](https://github.com/TriliumNext/Notes/graphs/contributors))) for a full list) |
| 117 | +- Show a token of gratitude to the original Trilium developer ([zadam](https://github.com/sponsors/zadam)) via [PayPal](https://paypal.me/za4am) or Bitcoin (bitcoin:bc1qv3svjn40v89mnkre5vyvs2xw6y8phaltl385d2). |
97 | 118 |
|
98 |
| -Learn more: |
99 | 119 |
|
100 |
| -- [Learn more about this workspace setup](https://nx.dev/nx-api/js?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) |
101 |
| -- [Learn about Nx on CI](https://nx.dev/ci/intro/ci-with-nx?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) |
102 |
| -- [Releasing Packages with Nx release](https://nx.dev/features/manage-releases?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) |
103 |
| -- [What are Nx plugins?](https://nx.dev/concepts/nx-plugins?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) |
| 120 | +## 🔑 License |
104 | 121 |
|
105 |
| -And join the Nx community: |
106 |
| -- [Discord](https://go.nx.dev/community) |
107 |
| -- [Follow us on X](https://twitter.com/nxdevtools) or [LinkedIn](https://www.linkedin.com/company/nrwl) |
108 |
| -- [Our Youtube channel](https://www.youtube.com/@nxdevtools) |
109 |
| -- [Our blog](https://nx.dev/blog?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) |
| 122 | +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. |
0 commit comments