https://github.com/JianZcar/FuzPad
A minimalistic note management solution. Powered by fzf
https://github.com/JianZcar/FuzPad
bash bash-script fzf note-managment note-taking notes script tui
Last synced: 11 days ago
JSON representation
A minimalistic note management solution. Powered by fzf
- Host: GitHub
- URL: https://github.com/JianZcar/FuzPad
- Owner: JianZcar
- License: gpl-3.0
- Created: 2025-01-17T06:58:49.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-05-14T01:06:19.000Z (about 1 month ago)
- Last Synced: 2025-05-26T05:09:25.221Z (28 days ago)
- Topics: bash, bash-script, fzf, note-managment, note-taking, notes, script, tui
- Language: Shell
- Homepage:
- Size: 250 KB
- Stars: 100
- Watchers: 3
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-note-taking - FuzPad - A minimalistic note management solution. Powered by fzf. (Open Source / TUI)
README
📙FuzPad!
FuzPad is a minimalistic note management solution. Powered by ⚡junegunn/fzf⚡
🎉 Over 300 Downloads 🎉
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
[](https://star-history.com/#JianZcar/FuzPad&Date)
## Features
- **New**: Create a new note with the current date and time as the filename.
- **Open**: Open an existing note.
- **Search**: Search within notes for specific content.
- **Delete**: Delete selected notes.
- **Version control**: Automatically commits changes to your notes.
- **Tags**: Tagging system to organize notes.
- **Icons**: Visual icons for better user experience.## Planned Features
- **CLI**: Create a CLI that allows piping, etc.## How to tag a note
1. **Create or Open a Note**: Select "New" to create a new note or "Open" to edit an existing note.
2. **Add a Tag**: In the note, ensure the tag is on the 2nd line right after the title. Use the format `#tag`. For example:
```
My Note Title
#important
This is the content of the note.
```This will help you organize and search your notes using tags.
## Goals
- Provide a straightforward and minimalistic note management solution using a Bash script.
- Ensure ease of use with intuitive commands and interface.## Requirements
- Bash
- Git (optional)
- grep
- [fzf](https://github.com/junegunn/fzf) (fuzzy finder)(Latest)
- [bat](https://github.com/sharkdp/bat) (for enhanced preview)
- Your preferred text editor (default is `nano`)## Installation
### Using Homebrew
```sh
brew install JianZcar/packages/fuzpad
```### Using curl
~/.local/bin should be in your PATH
```bash
curl -s https://gist.githubusercontent.com/JianZcar/df050e108b462e469f413f0eec229143/raw | bash
```### Manual Installation
1. Clone the repository:
```sh
git clone https://github.com/JianZcar/FuzPad.git
cd FuzPad
```2. Make the script executable:
```sh
chmod +x bin/fuzpad
```3. Run the script:
```sh
./bin/fuzpad
```## Configuration
- **Default Directory**: Change the default directory for notes by modifying the `FUZPAD_DIR` variable in the script or by setting it in your `~/.bashrc` file:
```sh
export FUZPAD_DIR="$HOME/Documents/.notes"
```- **Text Editor**: Change the text editor by modifying the `EDITOR` variable in the script or by setting it in your `~/.bashrc` file:
```sh
export EDITOR="nano"
```- **Text Format**: Change the text format by modifying the `TEXT_FORMAT` variable in the script or by setting it in your `~/.bashrc` file:
```sh
export FUZPAD_TEXT_FORMAT="txt"
```- **Date Time Format**: Change the date and time format used for note filenames by modifying the `DATE_TIME_FORMAT` variable in the script or by setting it in your `~/.bashrc` file:
```sh
export FUZPAD_DATE_TIME_FORMAT="%Y-%m-%d-%H-%M-%S"
```- **BAT Theme**: Change the theme used by `bat` for previewing notes by modifying the `BAT_THEME` variable in the script or by setting it in your `~/.bashrc` file:
```sh
export FUZPAD_BAT_THEME="OneHalfLight"
```- **Reverse List**: Set to `true` to reverse the order of the list when opening or deleting notes by modifying the `REVERSE_LIST` variable in the script or by setting it in your `~/.bashrc` file:
```sh
export FUZPAD_REVERSE_LIST="false"
```- **Preview Size**: Change the size of the preview window for `fzf` by modifying the `PREVIEW_SIZE` variable in the script or by setting it in your `~/.bashrc` file:
```sh
export FUZPAD_PREVIEW_SIZE="70%"
```- **Start Line Search Preview**: Set the starting line number for the search preview by modifying the `START_LINE_SEARCH_PREVIEW` variable in the script or by setting it in your `~/.bashrc` file:
```sh
export FUZPAD_START_LINE_SEARCH_PREVIEW="5"
```- **End Line Search Preview**: Set the ending line number for the search preview by modifying the `END_LINE_SEARCH_PREVIEW` variable in the script or by setting it in your `~/.bashrc` file:
```sh
export FUZPAD_END_LINE_SEARCH_PREVIEW="9999"
```- **Icons**: Turn icons on or off by modifying the `FUZPAD_ICON` variable in the script or by setting it in your `~/.bashrc` file:
```sh
export FUZPAD_ICON="1" # Set to "0" to turn off icons
```After adding the necessary variables to your `~/.bashrc` file, remember to source it to apply the changes:
```sh
source ~/.bashrc
```## Updates
- **Major Updates**: No clear dates at the moment.
- **Minor Updates**: No clear dates at the moment.
- **Patch Updates**: Released as soon as possible.## Support
- ⭐ If you like the project, please leave a star!
- 💖 Consider becoming a sponsor to support ongoing development.## Contributing
We welcome contributions from the community! Please refer to the [Contributing Guidelines](CONTRIBUTING.md) for more details on how to get started.
Feel free to fork the repository and submit pull requests. Contributions are welcome!
## License
This project is licensed under the terms of the GNU General Public License v3.0. For more details, see the [LICENSE](LICENSE) file in the repository.