#!/bin/bash # Das Skript arbeitet im aktuellen Ordner ROOT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd) # 1. Name des Projekts abfragen NAME=$(zenity --entry --title="Projekt-Konfigurator" --text="Name des Projekts:") [ -z "$NAME" ] && exit 0 NAME_CLEAN=${NAME// /_} # 2. Art des Projekts wählen TYPE=$(zenity --list --radiolist --title="Projekt-Typ" --column="" --column="Typ" \ TRUE "Hardware (3D-Druck/CNC)" \ FALSE "Software (Python/Bash)") [ -z "$TYPE" ] && exit 0 # 3. Tags abfragen USER_TAGS=$(zenity --entry --title="Tags" --text="Gib Schlagworte ein (z.B. Motor Gehäuse):") # Pfad-Logik if [[ "$TYPE" == "Hardware"* ]]; then BASE_DIR="01_Hardware_Projekte/$NAME_CLEAN" mkdir -p "$ROOT_DIR/$BASE_DIR"/{CAD,CAM,3D_Print,Dokumentation,Ressourcen} CATEGORY="Hardware (3D-Druck/CNC)" else LANG=$(zenity --list --radiolist --title="Sprache" --column="" --column="Sprache" \ TRUE "Python" \ FALSE "Bash") [ -z "$LANG" ] && exit 0 if [ "$LANG" == "Python" ]; then BASE_DIR="02_Software_Scripts/Python/$NAME_CLEAN" mkdir -p "$ROOT_DIR/$BASE_DIR"/{src,tests,docs} touch "$ROOT_DIR/$BASE_DIR/src/main.py" CATEGORY="Software (Python)" else BASE_DIR="02_Software_Scripts/Bash/$NAME_CLEAN" mkdir -p "$ROOT_DIR/$BASE_DIR" touch "$ROOT_DIR/$BASE_DIR/$NAME_CLEAN.sh" chmod +x "$ROOT_DIR/$BASE_DIR/$NAME_CLEAN.sh" CATEGORY="Software (Bash)" fi fi # README.md erstellen FINAL_PATH="$ROOT_DIR/$BASE_DIR" { echo "# $NAME" echo "Kategorie: $CATEGORY" echo "Erstellt am: $(date +'%d.%m.%Y')" echo -e "\n## Tags zur Indizierung" for tag in $USER_TAGS; do CLEAN_TAG=${tag/#/} echo -n "#$CLEAN_TAG " done echo -e "\n\n## Notizen" echo "- Hier Projektdetails eintragen..." } > "$FINAL_PATH/README.md" zenity --info --title="Erfolg" --text="Projekt '$NAME_CLEAN' wurde erstellt!\n\nPfad: $BASE_DIR"