This is the monorepo for the Tangent project.
Pre-built binaries can be found on the downloads page and on Flathub. Pre-release versions are also available on Flathub Beta.
Tangent is a local note writing / personal knowledge management tool. It was heavily inspired by Obsidian, and has drifted in its own direction. It uses [[Wiki Links]] and a slightly customized markdown syntax. Notes are fully styled as you write. Markdown syntax is hidden and revealed as needed.
Other key features:
- An innovative, two-dimensional connected map of your navigation and linking history.
- "Sliding Panel" UX inspired by Andy Matuschak's notes.
- Writing focus mode: highlight your current paragraph, line, or sentence.
- Customizable note views: view your collections of notes as cards or an infinite, dynamically loaded feed.
- A custom query language (with autocomplete!) for custom complex searches.
- Support for embedded images, link previews, pdfs, audio, and video—including YouTube links!
There are multiple modules contained within this repo.
The apps directory contains modules that produce versions of Tangent and other Tangent-related executables.
- tangent-electron – The electron-based Tangent application.
- tangent-website – The source code of tangentnotes.com.
- tangent-test-workspace-generator – A simple CLI tool for generating test content.
The packages directory contains modules that provide libraries of Tangent-related functionality.
- tangent-html-to-markdown – The parser used to convert
text/htmlclipboard data to Tangent-specific markdown text. - tangent-query-parser – A parser for the Tangent Query language.
The lib directory contains externally-versioned libraries that have been added as a git submodule for various reasons.
- typewriter – A tangent-specific fork of the Typewriter project.
- Ensure that all submodules are synced (e.g.
git submodule update). - Run
npm ciat the root level of the repository to install all dependencies across the monorepo. - Run
npm run buildat the root level of the repository to build all dependencies. - Run
npm run dev(ordev:winon Windows) in./apps/tangent-electronto run tangent in development mode.
When creating an issues, be sure to use the appropriate label for the specific module.
When reporting bugs, please include:
- The version of the relevant app / package.
- A concise description in the title of the problem.
- e.g. "Clicking the New Note button does not create a new note"
- A thorough description of the problem in the body of the issue.
- The steps required to cause the problem.
- For example:
- "Open a blank workspace"
- "Click the New Note button"
- "Notice that a new note is not created"
- For example:
- Include any additional details or context that can help illuminate the issue.
- The steps required to cause the problem.
- Logs can sometimes be very helpful in sussing out a problem.
- In-window logs for Tangent can be found from the developer console. You can open this with
Cmd+Option+Ion Mac orCtrl+Shift+Ion Windows and Linux. Attaching a screenshot or the contents of these logs can be useful. - Application logs for Tangent can be found in the relevant log folder on your system. You can invoke the "Show Logs" command from the Command Palette in Tangent (
Cmd/Ctrl+Pto open the palette) to bring you directly to the logs.
- In-window logs for Tangent can be found from the developer console. You can open this with