setup_Projekt/setup_Projekt.sh
2026-05-01 10:33:26 +02:00

60 lines
No EOL
1.9 KiB
Bash
Executable file

#!/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"