2.8 KiB
Why?
I started journaling and notetaking with Obsidian, but wanted to only use free software. I also tried Logseq and Joplin, but preferred a terminal-based app.
Using my Neovim setup, I explored plugins like neorg, orgmode, and today.nvim. While they offered useful features, none fully met my needs: some lacked external Markdown rendering, some used custom file formats, and some didn’t provide a true journal mode. For real-time Markdown rendering from Neovim, I found Vivify, which NoteWrapper relies on.
The goal was a terminal-based interface for accessing vaults and notes using standard Markdown, with minimal extra features. Although it currently works only with Neovim, it is designed as a standalone wrapper that could be adapted for other editors with minimal changes.
How to install
- Have installed
ncurses,cjsonandpkg-config. - Have a supported editor:
vimandneovim(for the moment) - Clone the repository.
git clone https://github.com/Totorile1/NoteWrapper.git
- Compile the project. If you are on NixOS and have direnv installed, run
direnv allow. It will create the nix-shell which will get all the necessary libraries.
cd NoteWrapper
make
- configure
./config.json - run the binary
notewrapper
Usage
If you want to render with Vivify with the flags -r, --render or with the option in the config file, you must have installed the plugins for your specific editor (for Vim and Neovim)
Configuration
Change $/.config/notewrapper/config.json. If it does not exist. On building, it should copy a default config.
What needs to be done (a lot)
- Add a way to create vaults
- Add a way to delete vaults
- Add a way to delete notes
- Stylisize a bit the TUI
- Add more options to the config file
- Search for config.json in other directories such as ~/.config/notewrapper/ and not only this directory
- Port vivify.vim to nixpkgs
- Add a way to have vaults in different directories
- Actually open vivify when opening nvim
- Write the journaling code (separate files or one big journal files)
- Automatic backups
- Add flags for customization
- Write a good README.md
- Option to not render and to only open nvim
- Figure out this vivify issue https://github.com/jannis-baum/Vivify/issues/291
- Maybe port this to other editors
- Port to vim
- Fixe all the small stuff marked //(TODO LATER) in the code
- Add a way to delete notes