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
Name=setup_Projekt
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
Terminal=true
Terminal=false
Path=/home/christian/Projekte
Categories=Application;
StartupNotify=true

View file

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

View file

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