{"id":15113808,"url":"https://github.com/lukeflo/notesbash","last_synced_at":"2026-01-18T00:23:19.435Z","repository":{"id":251349937,"uuid":"837146949","full_name":"lukeflo/notesbash","owner":"lukeflo","description":"A TUI written in `bash` for managing your personal knowledge notes","archived":false,"fork":false,"pushed_at":"2024-08-04T12:29:49.000Z","size":839,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-11T15:27:59.232Z","etag":null,"topics":["bash","bash-script","knowledge","knowledge-management","notes","notes-management-system","notes-tool","self-organization","tui"],"latest_commit_sha":null,"homepage":"https://codeberg.org/lukeflo/notesbash","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lukeflo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-02T10:06:41.000Z","updated_at":"2024-08-04T12:29:52.000Z","dependencies_parsed_at":"2024-08-02T12:19:30.190Z","dependency_job_id":null,"html_url":"https://github.com/lukeflo/notesbash","commit_stats":null,"previous_names":["lukeflo/notesbash"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukeflo%2Fnotesbash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukeflo%2Fnotesbash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukeflo%2Fnotesbash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukeflo%2Fnotesbash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lukeflo","download_url":"https://codeload.github.com/lukeflo/notesbash/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247378140,"owners_count":20929296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","bash-script","knowledge","knowledge-management","notes","notes-management-system","notes-tool","self-organization","tui"],"created_at":"2024-09-26T01:23:20.208Z","updated_at":"2026-01-18T00:23:19.406Z","avatar_url":"https://github.com/lukeflo.png","language":null,"readme":"\u003cdiv align=\"center\"\u003e\n    \u003c!-- \u003cimg src=\"./img/notesbash-logo.png\" alt=\"\" align=\"center\" /\u003e --\u003e\n    \u003ch1 align=\"center\"\u003eA notes management tool for bash\u003c/h1\u003e\n    \u003cimg alt=\"Static Badge\" src=\"https://img.shields.io/badge/Version-1.0.0-blue\"\u003e \u003cimg alt=\"required shell BASH\" src=\"https://img.shields.io/badge/required-BASH-green\"\u003e \u003ca href=\"https://matrix.to/#/#notesbash:matrix.org\" rel=\"noopener\" target=\"_blank\"\u003e\u003cimg src=\"https://matrix.to/img/matrix-badge.svg\" alt=\"Chat on Matrix\"\u003e\u003c/a\u003e    \n\u003c/div\u003e\n\n## Declaration\n\n**This is only a copy of the `README`. To get the code and install `notesbash`\nvisit the main repo at https://codeberg.org/lukeflo/notesbash**\n\n**Issues can also only be opened at Codeberg:\nhttps://codeberg.org/lukeflo/notesbash/issues**\n\n## Introduction\n\n`notesbash` is a tool for **managing** personal notes from the command line. That\nmeans one can use it to create, reorder, move, delete notes; search through them\nby keyword/tags or recursivley by filename; link them with entries from your\nmain `bibtex` file; or simply open a note. All this is done from a TUI inside\nyour terminal completley written in `bash`.\n\nThe editing of file content itself is done using your editor of choice. Thus,\nthings like syntax highlighting or auto completing the notes text is\nhandled by the editor, not `notesbash`. But you can specify which editor will be\nused. Furthermore, `notesbash` offers configurable templates for different file\nformats which makes editing new notes much easier.\n\n## Requirements\n\n`notesbash` doesn't require any uncommon tools, only `bash` and Linux\n`coreutils`.\n\nThe following commandline tools are used if available to enhance the performance:\n\n+ [ripgrep](https://github.com/BurntSushi/ripgrep)\n+ [fzf](https://github.com/junegunn/fzf)\n+ [fd(find)](https://github.com/sharkdp/fd)\n\n## Quick Installation\n\nClone the repo and afterwards run the `make.sh` script from inside the Git\ndirectory. The script checks if it run as root, using `sudo`, or by a local\nuser. If run as root, it is installed system-wide, else it is installed locally:\n\n```bash\ngit clone --branch release https://codeberg.org/lukeflo/notesbash\ncd notesbash\n\n# To install it for single user only\n./make.sh install \n\n# To install it system-wide\nsudo ./make.sh install\n```\n\nTo uninstall the tool just run `./make.sh uninstall` or `sudo ./make.sh uninstall` \n(depending weather you've installed `notesbash` system-wide or only for a single user) \nfrom inside the locally cloned Git repository.\n\nFor more install options see the\n[Wiki](https://codeberg.org/lukeflo/notesbash/wiki/Installation.md).\n\n## Configuration\n\nTo configure `notesbash` just edit the configuration file which is installed to\n`$XDG_CONFIG_HOME/notesbash/notesbash.conf`. If XDG-convention is not used, the\nfallback path ist `~/.config/notesbash/notesbash.conf`.\n\nTo work correctly, the following most important variables **should** be set:\n\n**NOTESBASH_ROOT_DIR**\n: Set the path to the notes root directory. If variable is not set,\n**notesbash** will ask for a temporary directory.\n\n**NOTESBASH_MAIN_BIB**\n: Define the path to the main **.bib** file used for bibnotes. If none is found,\nsome functionality concerning bibnotes might not work.\n\n**NOTESBASH_EDITOR** (Array)\n: Enter the favored editor for editing notes. Defaults to $VISUAL, $EDITOR and\nat last 'vi' in the given order. You can pass options to the chosen editor. Each\noption has to be a single array element.\n\n**NOTESBASH_GUI_EDITOR** (Boolean)\n: By default, `notesbash` assumes that your editor is an in-terminal programm. If\nyou want to use an editor with GUI mode, set the toggle to `true` or `1` so\n`notesbash` knows, that it has to open a new window. Typical editors with GUI\nmode are \"VSCode\", \"VSCodium\", \"Kile\", \"Kate\", or \"Emacs\" with GUI mode (which\nis the default).\n\n**NOTESBASH_DEFAULT_EXTENSION**\n: Define the common extension which is usually used for the note files. It will\nbe used to automatically create bibnotes from bibkeys or added to the filename\nif the extension was left blank. Defaults to `md` if not set.\n\n**NOTESBASH_FILE_EXTENSIONS** (Array)\n: Define file extensions to decide which note files are shown in the TUI. E.g.\n`md` for Markdown or `org` for Emacs Org-Mode files (without the dot separating\nfile name and extension!). If left blank, all files in the directories will be\nshown. It's possible to assign multiple files surrounded by parantheses: `(org\nmd pdf)`.\n\nBut `notesbash` offers many more customization possibilities. Check the\n[Wiki](https://codeberg.org/lukeflo/notesbash/wiki/Configuration.md) for more\ninformation.\n\n## Usage\n\n`notesbash` is used with an interactive TUI from inside the terminal.\n\nPress `?` from inside the TUI to show possible keybindings, or check the Wiki.\n\n## Demo\n\nA small demo showing what `notesbash` can be used for:\n\n![notesbash demo](./img/notesbash-demo.gif)\n\n## Licence\n\nAll code parts written by me and the other contributors is distributed under the GNU\nGPL 3+.\n\nThe original code is a fork of the *bash* file manager `fff` by\n[**@dylanaraps**](https://github.com/dylanaraps/fff), unmodified code from `fff`\nis distributed under the MIT license.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukeflo%2Fnotesbash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukeflo%2Fnotesbash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukeflo%2Fnotesbash/lists"}