aktualesierung

This commit is contained in:
christian 2026-05-01 10:33:26 +02:00
parent 4be91e8a35
commit 844d780752
3 changed files with 36 additions and 44 deletions

View file

@ -3,9 +3,9 @@ Version=1.0
Type=Application Type=Application
Name=setup_Projekt Name=setup_Projekt
Comment=Startet mein Bash-Skript im Terminal Comment=Startet mein Bash-Skript im Terminal
Exec=bash -c "./setup_Projekt.sh; echo; echo 'Fertig - Drücke Enter zum Schließen'; read" Exec=bash "./toolbox.sh"
Icon=utilities-terminal Icon=utilities-terminal
Terminal=true Terminal=false
Path=/home/christian/Projekte Path=/home/christian/Projekte
Categories=Application; Categories=Application;
StartupNotify=true StartupNotify=true

View file

@ -1,64 +1,60 @@
#!/bin/bash #!/bin/bash
# --- Konfiguration --- # Das Skript arbeitet im aktuellen Ordner
# Das Skript arbeitet in dem Ordner, in dem es gestartet wird. ROOT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
ROOT_DIR=$(pwd)
echo "--- Projekt-Konfigurator ---" # 1. Name des Projekts abfragen
read -p "Name des Projekts: " NAME NAME=$(zenity --entry --title="Projekt-Konfigurator" --text="Name des Projekts:")
[ -z "$NAME" ] && exit 0
NAME_CLEAN=${NAME// /_} NAME_CLEAN=${NAME// /_}
echo -e "\nWelche Art von Projekt?" # 2. Art des Projekts wählen
echo "1) Hardware (3D-Druck/CNC)" TYPE=$(zenity --list --radiolist --title="Projekt-Typ" --column="" --column="Typ" \
echo "2) Software (Python/Bash)" TRUE "Hardware (3D-Druck/CNC)" \
read -p "Auswahl (1 oder 2): " TYPE FALSE "Software (Python/Bash)")
[ -z "$TYPE" ] && exit 0
# Tags abfragen (wichtig für die spätere Indizierung) # 3. Tags abfragen
echo -e "\nGib Schlagworte (Tags) für die Suche ein (z.B. Gehäuse Motor Werkzeug):" USER_TAGS=$(zenity --entry --title="Tags" --text="Gib Schlagworte ein (z.B. Motor Gehäuse):")
read -p "Tags: " USER_TAGS
# Pfad-Logik und Ordner-Erstellung # Pfad-Logik
if [ "$TYPE" == "1" ]; then if [[ "$TYPE" == "Hardware"* ]]; then
BASE_DIR="01_Hardware_Projekte/$NAME_CLEAN" BASE_DIR="01_Hardware_Projekte/$NAME_CLEAN"
mkdir -p "$BASE_DIR"/{CAD,CAM,3D_Print,Dokumentation,Ressourcen} mkdir -p "$ROOT_DIR/$BASE_DIR"/{CAD,CAM,3D_Print,Dokumentation,Ressourcen}
CATEGORY="Hardware (3D-Druck/CNC)" CATEGORY="Hardware (3D-Druck/CNC)"
elif [ "$TYPE" == "2" ]; then else
read -p "Sprache (Python/Bash): " LANG LANG=$(zenity --list --radiolist --title="Sprache" --column="" --column="Sprache" \
if [[ "$LANG" =~ ^[Pp]ython$ ]]; then TRUE "Python" \
FALSE "Bash")
[ -z "$LANG" ] && exit 0
if [ "$LANG" == "Python" ]; then
BASE_DIR="02_Software_Scripts/Python/$NAME_CLEAN" BASE_DIR="02_Software_Scripts/Python/$NAME_CLEAN"
mkdir -p "$BASE_DIR"/{src,tests,docs} mkdir -p "$ROOT_DIR/$BASE_DIR"/{src,tests,docs}
touch "$BASE_DIR/src/main.py" touch "$ROOT_DIR/$BASE_DIR/src/main.py"
CATEGORY="Software (Python)" CATEGORY="Software (Python)"
else else
BASE_DIR="02_Software_Scripts/Bash/$NAME_CLEAN" BASE_DIR="02_Software_Scripts/Bash/$NAME_CLEAN"
mkdir -p "$BASE_DIR" mkdir -p "$ROOT_DIR/$BASE_DIR"
touch "$BASE_DIR/$NAME_CLEAN.sh" touch "$ROOT_DIR/$BASE_DIR/$NAME_CLEAN.sh"
chmod +x "$BASE_DIR/$NAME_CLEAN.sh" chmod +x "$ROOT_DIR/$BASE_DIR/$NAME_CLEAN.sh"
CATEGORY="Software (Bash)" CATEGORY="Software (Bash)"
fi fi
else
echo "Ungültige Auswahl. Abbruch."
exit 1
fi fi
# Voller Pfad zum Zielordner # README.md erstellen
FINAL_PATH="$ROOT_DIR/$BASE_DIR" FINAL_PATH="$ROOT_DIR/$BASE_DIR"
# README.md erstellen und befüllen
{ {
echo "# $NAME" echo "# $NAME"
echo "Kategorie: $CATEGORY" echo "Kategorie: $CATEGORY"
echo "Erstellt am: $(date +'%d.%m.%Y')" echo "Erstellt am: $(date +'%d.%m.%Y')"
echo -e "\n## Tags zur Indizierung" echo -e "\n## Tags zur Indizierung"
for tag in $USER_TAGS; do for tag in $USER_TAGS; do
CLEAN_TAG=${tag/#/} # Entfernt evtl. vorhandene # um Dopplungen zu vermeiden CLEAN_TAG=${tag/#/}
echo -n "#$CLEAN_TAG " echo -n "#$CLEAN_TAG "
done done
echo -e "\n\n## Notizen" echo -e "\n\n## Notizen"
echo "- Hier Projektdetails eintragen..." echo "- Hier Projektdetails eintragen..."
} > "$FINAL_PATH/README.md" } > "$FINAL_PATH/README.md"
echo -e "\n--------------------------------------------------" zenity --info --title="Erfolg" --text="Projekt '$NAME_CLEAN' wurde erstellt!\n\nPfad: $BASE_DIR"
echo "Projekt '$NAME_CLEAN' wurde erfolgreich erstellt!"
echo "Pfad: $BASE_DIR"
echo "Die README.md wurde mit deinen Tags indiziert."

View file

@ -1,11 +1,9 @@
#!/bin/bash #!/bin/bash
# Ermittelt das Verzeichnis, in dem dieses Skript liegt
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd) SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
# Relative Pfade zu den Modulen definieren # Pfade zu den Modulen
# WICHTIG: Prüfe, ob die Datei wirklich ".setup_Projekt.sh" heißt (mit Punkt!) SCRIPT_SETUP="$SCRIPT_DIR/setup_Projekt.sh"
SCRIPT_SETUP="$SCRIPT_DIR/.setup_Projekt.sh"
SCRIPT_FIND="$SCRIPT_DIR/find.sh" SCRIPT_FIND="$SCRIPT_DIR/find.sh"
while true; do while true; do
@ -13,17 +11,15 @@ while true; do
--title="Christian's Projekt-Toolbox" \ --title="Christian's Projekt-Toolbox" \
--column="Aktion" --column="Beschreibung" \ --column="Aktion" --column="Beschreibung" \
--width=500 --height=350 \ --width=500 --height=350 \
"1. Projekt erstellen" "Legt neue Hardware- oder Software-Ordner an" \ "1. Projekt erstellen" "Grafischer Konfigurator für neue Ordner" \
"2. Projekt suchen" "Durchsucht Readmes nach Tags" \ "2. Projekt suchen" "Durchsucht Readmes nach Tags" \
"3. Beenden" "Schließt die Toolbox") "3. Beenden" "Schließt die Toolbox")
case "$CHOICE" in case "$CHOICE" in
"1. Projekt erstellen") "1. Projekt erstellen")
# Wir übergeben den vollen Pfad ($SCRIPT_SETUP) direkt an bash bash "$SCRIPT_SETUP" # Einfacher Aufruf ohne Terminal
xfce4-terminal --working-directory="$SCRIPT_DIR" -e "bash -c '$SCRIPT_SETUP; echo; echo \"Fertig. Taste drücken...\"; read'"
;; ;;
"2. Projekt suchen") "2. Projekt suchen")
# Suche direkt ausführen
bash "$SCRIPT_FIND" bash "$SCRIPT_FIND"
;; ;;
"3. Beenden" | "") "3. Beenden" | "")