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
|
||||
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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
12
toolbox.sh
12
toolbox.sh
|
|
@ -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" | "")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue