gopuntes_demo.mp4
A flexible note-browsing tool ππͺπΈ
gopuntes is a terminal-based application for browsing and viewing your local notes. It provides a fast and simple TUI (Text User Interface) to navigate through your Markdown and PDF files stored in a designated directory.
Built with Go & Bubble Tea framework.
- Terminal-based UI: Browse your notes without leaving the terminal.
- Multi-format Support: Natively renders Markdown (
.md) files and opens PDF (.pdf) files in your system's default viewer. - Simple Setup: On first run,
gopunteswill prompt you to set the path to your notes directory. - Fuzzy Search: Quickly filter and find the note you're looking for.
- Cross-Platform: Works on macOS & Linux.
Ensure you have a working Go environment (Go 1.21+ is recommended).
go install github.com/gopuntes@latestor
git clone https://github.com/qrxnz/gopuntes.git && \
cd gopuntes && \
go build .Alternatively, if you have go-task installed, you can simply run:
task build- Try it without installing:
nix run github:qrxnz/gopuntes- Installation:
Add input in your flake like:
{
inputs = {
gopuntes= {
url = "github:qrxnz/gopuntes";
inputs.nixpkgs.follows = "nixpkgs";
};
};
}With the input added you can reference it directly:
{ inputs, system, ... }:
{
# NixOS
environment.systemPackages = [ inputs.gopuntes.packages.${pkgs.system}.default ];
# home-manager
home.packages = [ inputs.gopuntes.packages.${pkgs.system}.default ];
}or
You can install this package imperatively with the following command:
nix profile install github:qrxnz/gopuntesPre-compiled binaries for various operating systems are available on the GitHub Releases page. Download the appropriate archive for your system, extract it, and place the gopuntes binary in your PATH.
Simply run the application from your terminal:
gopuntesOn the first launch, you will be prompted to enter the absolute path to the directory where your notes are stored. This path is saved in ~/.config/gopuntes/config.toml.
- Arrow Keys (
β/β): Navigate the list of notes. - Enter: View the selected note. (Renders Markdown inside the TUI, opens PDFs externally).
/: Start filtering/searching.q/esc: Quit the note view or the filter view.Ctrl+C: Exit the application.
This project uses Nix with flakes and direnv to provide a reproducible development environment.
-
Clone the repository:
git clone https://github.com/qrxnz/gopuntes.git cd gopuntes -
Activate the environment: If you have Nix and direnv installed, the environment should be activated automatically when you enter the directory. If not, run:
direnv allow
-
Available Commands: This project uses
go-taskas a command runner. Here are the most common commands:task build: Build a production binary.task test: Run unit tests.task lint: Run the linter and fix issues.
I was inspired by:
This project is licensed under the MIT License. See the LICENSE file for details.