8 releases
| 0.1.7 | Dec 21, 2025 |
|---|---|
| 0.1.6 | Nov 17, 2025 |
| 0.1.5 | Apr 15, 2025 |
| 0.1.4 | Dec 15, 2024 |
| 0.1.1 | Oct 29, 2024 |
#539 in Text processing
36KB
345 lines
Textpod
Local, web-based note-taking app inspired by "One Big Text File" idea. Short demo:
- Single page with all notes and a simple entry form (Markdown)
- All notes are stored in a single
notes.mdfile - Search/filtering when you start typing with
/ - Start a link with
+and Textpod will save a local single-page copy - File and image attachments
Installation
Using Cargo (cross-platform)
cargo install textpod
Via Homebrew (macOS and GNU/Linux)
brew tap freetonik/tap
brew install textpod
In order to download webpages, you need to have monolith installed. cargo install monolith or brew install monolith (macOS). See monolith for more details.
Usage
Run textpod in any directory. It will create a notes.md file if it doesn't exist. It will create attachments directory for file and image attachments.
Webpages are saved in attachments/webpages. You can specify the port with -p flag, e.g. textpod -p 8080 and/or the address with -l flag, e.g. textpod -l 0.0.0.0.
Docker
Docker image is available at Docker Hub.
E.g. run on port 8099, mapping the notes directory (under current directory):
docker pull freetonik/textpod
docker run --rm --name textpod -d -v $(pwd)/notes:/app -p 8099:3000 freetonik/textpod
Or check out docker-compose.yml.
Build and run
Requirements
- Rust 1.80+
Build
cargo build
Run via binary (target/debug/textpod) or via cargo:
cargo run
Contributing
Feel free to open issues and pull requests. I want to keep the code very simple and accessible to beginners. The goal is not to create another feature-rich note-taking app, but to keep it simple and fast. A "one big text file" idea is very powerful and I just want to make it slightly enhanced.
Dependencies
~23–32MB
~575K SLoC