aktualesierung
This commit is contained in:
parent
4be91e8a35
commit
844d780752
3 changed files with 36 additions and 44 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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."
|
|
||||||
12
toolbox.sh
12
toolbox.sh
|
|
@ -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" | "")
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue