Tom 9771b441ad missing path2d support for freedawings, remove node-side rendering, allow async getContent()
* ## Excalidraw and SVG
 * 2022-04-16 - @thfrei
 *
 * Known issues:
 *  - excalidraw-to-svg (node.js) does not render any hand drawn (freedraw) paths. There is an issue with
 *    Path2D object not present in node-canvas library used by jsdom. (See Trilium PR for samples and other issues
 *    in respective library. Link will be added later). Related links:
 *     - https://github.com/Automattic/node-canvas/pull/2013
 *     - https://github.com/google/canvas-5-polyfill
 *     - https://github.com/Automattic/node-canvas/issues/1116
 *     - https://www.npmjs.com/package/path2d-polyfill
 *  - excalidraw-to-svg (node.js) takes quite some time to load an image (1-2s)
 *  - excalidraw-utils (browser) does render freedraw, however NOT freedraw with background
 *
 * Due to this issues, we opt to use **only excalidraw in the frontend**. Upon saving, we will also get the SVG
 * output from the live excalidraw instance. We will save this **SVG side by side the native excalidraw format
 * in the trilium note**.
 *
 * Pro: we will combat bit-rot. Showing the SVG will be very fast, since it is already rendered.
 * Con: The note will get bigger (maybe +30%?), we will generate more bandwith.
 *      (However, using trilium desktop instance, does not care too much about bandwidth. Size increase is probably
 *       acceptable, as a trade off.)
2022-04-19 00:21:20 +02:00
2021-12-21 22:47:31 +01:00
2022-04-10 14:13:45 +02:00
2022-04-16 00:18:01 +02:00
2022-04-10 14:13:45 +02:00
2022-01-10 17:09:20 +01:00
2019-10-14 11:55:12 +02:00
2022-04-10 14:13:45 +02:00
2022-02-12 13:17:49 +01:00
2019-04-14 15:24:35 +02:00
2022-04-10 14:13:45 +02:00
2020-04-15 21:49:36 +02:00
2017-12-10 21:13:39 -05:00
2022-02-24 20:38:01 +01:00
2022-02-24 20:37:12 +01:00
2022-02-24 20:38:29 +01:00
2020-05-24 19:34:52 +02:00
2021-12-24 22:18:05 +01:00
2021-12-24 22:18:05 +01:00
2021-12-24 22:18:05 +01:00

Trilium Notes

English | Chinese | Russian

Join the chat at https://gitter.im/trilium-notes/Lobby Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases. See screenshots for quick overview:

Ukraine is currently suffering from Russian aggression, please consider donating to one of these charities.

drawing

Features

Builds

Trilium is provided as either desktop application (Linux and Windows) or web application hosted on your server (Linux). Mac OS desktop build is available, but it is unsupported.

  • If you want to use Trilium on the desktop, download binary release for your platform from latest release, unzip the package and run trilium executable.
  • If you want to install Trilium on server, follow this page.
    • Currently only recent Chrome and Firefox are supported (tested) browsers.

Documentation

See wiki for complete list of documentation pages.

You can also read Patterns of personal knowledge base to get some inspiration on how you might use Trilium.

Contribute

Use a browser based dev environment

Open in Gitpod

Or clone locally and run

npm install
npm run start-server

Shoutouts

  • CKEditor 5 - best WYSIWYG editor on the market, very interactive and listening team
  • FancyTree - very feature rich tree library without real competition. Trilium Notes would not be the same without it.
  • CodeMirror - code editor with support for huge amount of languages
  • jsPlumb - visual connectivity library without competition. Used in relation maps and link maps

Donating

You can donate using GitHub Sponsors, PayPal or Bitcoin (bitcoin:bc1qv3svjn40v89mnkre5vyvs2xw6y8phaltl385d2).

License

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.

Languages
JavaScript 98.4%
CSS 1%
EJS 0.3%
Shell 0.2%