Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eliaz5536/shellsketch
Blueprint bash script template for generating structured-formatted shell scripts
https://github.com/eliaz5536/shellsketch
automation shell-script template
Last synced: 9 days ago
JSON representation
Blueprint bash script template for generating structured-formatted shell scripts
- Host: GitHub
- URL: https://github.com/eliaz5536/shellsketch
- Owner: eliaz5536
- License: gpl-3.0
- Created: 2024-06-08T00:17:10.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-06-23T17:11:02.000Z (7 months ago)
- Last Synced: 2024-11-08T14:28:27.643Z (2 months ago)
- Topics: automation, shell-script, template
- Language: Shell
- Homepage:
- Size: 1.19 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ShellSketch - Blueprint Shell Script Template Generator
![ShellSketch](https://github.com/eliaz5536/ShellSketch/assets/5835036/3c052d7c-4981-4159-8ca9-22b6bb8d0c85)# ShellSketch
**_ShellSketch_** is a versatile robust bash script template, with the aim of generating structred-formatted shell scripts
as preference by user selection through automation without manually creating scripts from scratch. It is also a customizable tool that offers the control of how you want to format your shell scripts.## Table of Contents
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Demo](#demo)
- [Configuration](#configuration)
- [License](#license)# Features
**_ShellSketch_** offers series of features designed to automate shell and bash scripting:### **Documentation Support**
ShellSketch offers support for implementing documentation structure for headers and functions to provide readability and maintainability. It includes fields for a detailed description, notes and a list of required dependencies, ensuring comprehensive project documentation.### **Licensing**
ShellSketch offers a list of extensive license types from GitHub itself that allow you the selection of specifying the appropriate license for your project, listed under the following:
License
Description
Apache-2.0
Apache License 2.0
GPL-3.0
GNU General Public License v3.0
MIT
MIT License
BSD-2-Clause
BSD 2-clause 'simplified' license
BSD-3-Clause
BSD 3-clause 'New' or 'Revised' license
BSL-1.0
Boost Software License 1.0
CC0-1.0
Creative Commons Zero v1.0 Universal
EPL-2.0
Eclipse Public License 2.0
AGPL-3.0
GNU Affero General Public License v3.0
LGPL-2.1
GNU Lesser General Public License v2.1
MPL-2.0
Mozilla Public License 2.0
Unlicense
The Unlicense
### **Custom Visual Output**
**_ShellSketch_** supports **Custom ANSI Escape Sequences** to display colors in shell scripts during development, ideal for improving user experience through visual output.
Furthermore, it supports **Custom Log Level Messaging** which provide predefined log levels (**INFO**, **SUCCESS**, **WARNING**, **ERROR**) to clarify script output messages, which can be customized for better visual output.
### **Customized Command-Line Interface**
**_ShellSketch_** supports the creation of customized CLI menu that allow for the creation of customized command-line interface menus to make your scripts interactive. This also involves generating USAGE and HELP functions to produce your scripts effectively.
### **GUI Support**
**_ShellSketch_** supports GUI mode which uses **YAD (Yet Another Dialog)** that displays GTK+ dialog boxes and **Whiptail** for usability and accessability of inputting values through simple user interface, which Whiptail is included by default on _Debian_.
YAD (Yet Another Dialog)
Whiptail
# Requirements
It is highly recommended that you run this script on **Debian** or **Debian-based distribution machine** (_Ubuntu_, _Linux Mint_, _Zorin OS_ or _Kali Linux_)
to avoid compatibility and software issues since packages are installed from the default package manager of Debian **apt**.Interacting with **_ShellSketch_** in GUI mode through requires the installation of YAD and Whiptail using apt package manager, which can be performed by executing the following commands:
```
sudo apt-get install whiptail
sudo apt-get install yad# OR
sudo apt-get install whiptail yad
```# Installation
```
# Clone the following repository
git clone https://github.com/eliaz5536/ShellSketch# Change directory to repository folder and modify file permission to be executable
cd ShellSketch
chmod +x template.sh# Execute the script
./template.sh -h
```## Usage
```
ShellSketch - Blueprint Shell Script Template Generator
Usage: ./template.sh [mode] [options]
```## Help
```
ShellSketch - Blueprint Shell Script Template Generator
Usage: ./template.sh [mode] [options]
Options:
--usage Show usage information
-h, --help Show help message
-n, --name Specify script file name
-t, --title Specify official title of the script
-a, --author Specify name of the author
-d, --description Specify description
-ns, --notes Specify notes
-dp, --dependencies Specify required dependencies
-l, --license Specify license type
ANSI Color Code Options:
-c, --colors Specify standard ANSI color code escape sequences
-ac, --all-colors Implement all standard ANSI color code escape sequences
-bgc, --bg-colors Specify background ANSI color code escape sequences
-abgc, --all-bg-colors Implement all background ANSI color code escape sequences
-ic, --italic-colors Specify italic ANSI color code escape sequences
-aic, --all-italic-colors Implement all italic ANSI color code escape sequences
-boc, --bold-colors Specify bold ANSI color code escape sequences
-aboc, --all-bold-colors Implement all bold ANSI color code escape sequences
Font Options:
-fs, --font-styles Specify ANSI font style color code escape sequences
-afs, --all-font-styles Implement all font styles (BOLD & ITALIC)
Message Options:
-mt, --message-types Specify log message types
--show-messages Display a list of messages as functions to use in script
Command-Line Interface Option:
-cli, --command-line-interface Implements Command-Line interface (USAGE, HELP & parsing argument menu)
Mode:
gui Enters GUI mode (Whiptail)
Help Options:
--licenses Show list of license types
--show-ansi Show list of available ANSI escape sequences
Other:
--all Implement all features (all ANSI escape sequences, message functions and CLI)```
# License
This project is licensed under the GNU General Public License v3.0. See the [LICENSE](LICENSE) file for details.