From 2c53e4bf8cb88b1f6ccf0a45f4a4a81c8b0534f0 Mon Sep 17 00:00:00 2001 From: Timo Reymann Date: Sat, 18 Feb 2023 17:41:54 +0100 Subject: [PATCH] docs: Add new structure for README --- .github/images/logo.png | Bin 0 -> 20814 bytes README.md | 101 +++++++++++++++++++++++++--------------- docs/Compability.md | 23 +++++++++ 3 files changed, 86 insertions(+), 38 deletions(-) create mode 100644 .github/images/logo.png create mode 100644 docs/Compability.md diff --git a/.github/images/logo.png b/.github/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..66369caeee61c7f444c00a29a3725676f6f4a402 GIT binary patch literal 20814 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 + +
+ Toolkit to create interactive and shiny terminal UIs using plain bash builtins +

-## Goals +## Features + +- clean and standardized API - provide a simple and clear default set of elements to use creating an interactive terminal UI -- be clean and minimalistic +- clean and minimalistic design - zero dependencies to be installed -- parts can be used separately +- parts can be used modular -## Install -1. Download the bundle (entire lib) or single compoennt from [releases](https://github.com/timo-reymann/bash-tui-toolkit/releases) +## Requirements + +- [bash 3+](https://www.gnu.org/software/bash/) + +## Installation + +1. Download the bundle (entire lib) or single compoennt + from [releases](https://github.com/timo-reymann/bash-tui-toolkit/releases) 2. Source the bundle in your script or embed -## Documentation +## Usage + For a list of available modules and their documentation please check the [docs/modules](./docs/modules) folder -## Tested with +For a complete playground demo check [test.sh](./test.sh). -> Since there are some weird combinations/side effects based on the platform you might use there are different side effects that might occur -> -> If you use it on a different platform successfully please create a PR to add a item here :) +## Motivation -| OS | Version of OS | Terminal emulator | Bash Major Version | Works -| :------ | :------------ | :---------------- | :----------------- | :----- -| Ubuntu | 20 | Tilix | 4 | ✔️ -| Ubuntu | 20 | xterm | 4 | ✔️ -| Ubuntu | 22 | Tilix | 5 | ✔️ -| Alpine | 3 | n/a | 5 | ✔️ -| MacOS | Monterey | iTerm | 3 | ✔️ -| MacOS | Monterey | iTerm2 | 3 | ✔️ -| Windows | 10 | Windows Terminal | 4 | ✔️ -| Windows | 10 | Git Bash | 4 | ✔️ -| Windows | 10 | Hyper | 4 | ✔️ +Providing a clean bash UI sometimes becomes a mess and interactivity is hard to achieve especially when it should be +portable. - +The target is to provide a simple-to-use toolkit that can be dropped into any bash script and is compatible no matter +the target system. + +## Documentation + +- [Modules](./docs/modules) - Modules available and their usage +- [Compability table](./docs/Compability.md) - Known combinations of OS/Bash Version/Terminal emulators that work guaranteed + +## Contributing + +I love your input! I want to make contributing to this project as easy and transparent as possible, whether it's: + +- Reporting a bug +- Discussing the current state of the configuration +- Submitting a fix +- Proposing new features +- Becoming a maintainer + +To get started please read the [Contribution Guidelines](./CONTRIBUTING.md). ## Development ### Requirements -- bash 3+ -- docker 19+ -- GNU make -## Generate documentation +- [GNU make](https://www.gnu.org/software/make/) +- [Docker](https://docs.docker.com/get-docker/) +- [pre-commit](https://pre-commit.com/) + +### Build + +``` +make build +``` + +### Update documentation + To update the module documentation you just need to run ```sh @@ -58,16 +86,13 @@ make generate-docs This builds the documentation inside a docker container and updates the repo locally. Afterwards just commit the docs with your code changes -## Build -To combine the script(s) you just need to run -```sh -make build -``` +## Credits -The combined artifacts can be found in `dist/` +- Logo + - Bash logo from [pngegg](https://www.pngegg.com/en/png-pxpgu) + - Toolbox logo from [IconExperience.com](https://www.iconexperience.com/g_collection/icons/?icon=toolbox) ## Alternatives - [kahkhang/Inquirer.sh](https://github.com/kahkhang/Inquirer.sh) - List, Checkbox and Text Input with more advanced validation - diff --git a/docs/Compability.md b/docs/Compability.md new file mode 100644 index 0000000..52124c7 --- /dev/null +++ b/docs/Compability.md @@ -0,0 +1,23 @@ +Compability +=== + +The toolkit is known to work with the following platforms listed below. + +If you feel like an important one is missing feel free to create an issue or PR directly for the file. + +> Since there are some weird combinations/side effects based on the platform you might use there are different side +> effects that might occur +> +> If you use it on a different platform successfully please create a PR to add a item here :) + +| OS | Version of OS | Terminal emulator | Bash Major Version | Works +|:--------|:--------------|:------------------|:-------------------|:------ +| Ubuntu | 20 | Tilix | 4 | ✔️ +| Ubuntu | 20 | xterm | 4 | ✔️ +| Ubuntu | 22 | Tilix | 5 | ✔️ +| Alpine | 3 | n/a | 5 | ✔️ +| MacOS | Monterey | iTerm | 3 | ✔️ +| MacOS | Monterey | iTerm2 | 3 | ✔️ +| Windows | 10 | Windows Terminal | 4 | ✔️ +| Windows | 10 | Git Bash | 4 | ✔️ +| Windows | 10 | Hyper | 4 | ✔️