https://github.com/nxllpointer/tide
The Batteries-Included Typst Notetaking IDE
https://github.com/nxllpointer/tide
neovim notes notetaking rnote typesetting typst
Last synced: 6 months ago
JSON representation
The Batteries-Included Typst Notetaking IDE
- Host: GitHub
- URL: https://github.com/nxllpointer/tide
- Owner: Nxllpointer
- License: apache-2.0
- Created: 2024-11-24T14:59:11.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-10T12:36:24.000Z (8 months ago)
- Last Synced: 2025-05-10T13:40:27.183Z (8 months ago)
- Topics: neovim, notes, notetaking, rnote, typesetting, typst
- Language: Lua
- Homepage:
- Size: 84 KB
- Stars: 52
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🌊 Tide - Notetaking built on free software 🌊
Tired of using proprietary applications to take notes? \
Can't choose between text-based ⌨️ or handwritten 📝 notes? \
Tide has got you covered! Don't compromise - do both!
## Showcase
https://github.com/user-attachments/assets/303d4074-4846-41b9-9cdd-e7ea871fa4ab
## How does it work?
Tide is a [neovim](https://neovim.io/) configuration specifically crafted for notetaking,
making use of the [typst](https://github.com/typst/typst) typesetting tool
and [Rnote](https://github.com/flxzt/rnote) for handwritten notes.
Seamless integration between both of these tools is achieved with a modified version
of the typst compiler, which can render Rnote documents like regular images.
Language integration and real-time previewing is provided by [tinymist](https://github.com/Myriad-Dreamin/tinymist).
## Awesome, but how to get started?
🛠️ Tide is built using Nix, ensuring it can run out-of-the-box on any Linux 🐧 machine without issues. \
🔥 A separate Firefox profile also needs to be set up to prevent the preview tabs from mixing with your regular tabs.
1. Installing tide
1. Install Nix with the [nix-installer](https://github.com/DeterminateSystems/nix-installer) - it's just a single command
1. Run `nix profile install github:Nxllpointer/tide#tide` This might take a while
1. Setting up Firefox
1. Open Firefox
1. Enter `about:profiles` into the address bar
1. Create a new profile with the name `tide-preview`
1. Select your old profile as the default profile
1. Creating a tide project (Or use the [tide-example](https://github.com/Nxllpointer/tide-example))
1. Create a `tideproject.json` file in the root of your project directory
1. Set the desired and required options ([See the reference](#reference-for-tideprojectjson))
## Using tide
After setting up your tide project run `tide` in your project root (The directory with the `tideproject.json`) \
A complete and up-to-date list of keybindings can be found in the [mappings.lua](tide-nvim/lua/tide/mappings.lua) file
- Create a new note
- Start the real-time preview
- Insert rnote documents into the current note
## Reference for tideproject.json
```json
{
"typst_template_dir": "required",
"rnote_template_file": "required",
"resources_subdir": "optional",
}
```
> All paths are relative to the tideproject.json file!
`typst_template_dir`: Path of the directory to copy for new typst notes \
`rnote_template_file`: Path of the file to copy for new Rnote documents \
`resources_subdir`: Subdirectory in the note directory to put resources (like Rnote documents) in. Defaults to `resources`