163 lines
4.0 KiB
Bash
Executable File
163 lines
4.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
choice=$(printf " Laravel Projekt\n Simple Web Projekt\n Node.js Projekt\n Vue Projekt\n⚛ React Projekt\n🐍 Python Projekt\n🦀 Rust Projekt\n🚀 Tauri Projekt\n Bash Projekt" | wofi --dmenu --prompt "Neues Projekt")
|
|
|
|
case "$choice" in
|
|
" Laravel Projekt")
|
|
kitty -e bash -lc '
|
|
cd "$HOME/Nextcloud/Development/Projekte" || exit
|
|
read -rp "Projektname: " NAME
|
|
[ -z "$NAME" ] && exit
|
|
composer create-project laravel/laravel "$NAME"
|
|
code "$HOME/Nextcloud/Development/Projekte/$NAME"
|
|
'
|
|
;;
|
|
" Simple Web Projekt")
|
|
kitty -e bash -lc '
|
|
cd "$HOME/Nextcloud/Development/Projekte" || exit
|
|
read -rp "Projektname: " NAME
|
|
[ -z "$NAME" ] && exit
|
|
mkdir -p "$NAME"
|
|
cd "$NAME" || exit
|
|
touch index.html style.css script.js
|
|
printf "<!DOCTYPE html>\n<html lang=\"de\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>%s</title>\n<link rel=\"stylesheet\" href=\"style.css\">\n</head>\n<body>\n<h1>Hello World</h1>\n<script src=\"script.js\"></script>\n</body>\n</html>\n" "$NAME" > index.html
|
|
code "$HOME/Nextcloud/Development/Projekte/$NAME"
|
|
'
|
|
;;
|
|
" Node.js Projekt")
|
|
kitty -e bash -lc '
|
|
cd "$HOME/Nextcloud/Development/Projekte" || exit
|
|
read -rp "Projektname: " NAME
|
|
[ -z "$NAME" ] && exit
|
|
mkdir -p "$NAME"
|
|
cd "$NAME" || exit
|
|
npm init -y
|
|
touch index.js
|
|
code "$HOME/Nextcloud/Development/Projekte/$NAME"
|
|
'
|
|
;;
|
|
" Vue Projekt")
|
|
kitty -e bash -lc '
|
|
cd "$HOME/Nextcloud/Development/Projekte" || exit
|
|
read -rp "Projektname: " NAME
|
|
[ -z "$NAME" ] && exit
|
|
npm create vue@latest "$NAME"
|
|
code "$HOME/Nextcloud/Development/Projekte/$NAME"
|
|
'
|
|
;;
|
|
"⚛ React Projekt")
|
|
kitty -e bash -lc '
|
|
cd "$HOME/Nextcloud/Development/Projekte" || exit
|
|
read -rp "Projektname: " NAME
|
|
[ -z "$NAME" ] && exit
|
|
npm create vite@latest "$NAME" -- --template react
|
|
code "$HOME/Nextcloud/Development/Projekte/$NAME"
|
|
'
|
|
;;
|
|
"🐍 Python Projekt")
|
|
kitty -e bash -lc '
|
|
cd "$HOME/Nextcloud/Development/Projekte" || exit
|
|
read -rp "Projektname: " NAME
|
|
[ -z "$NAME" ] && exit
|
|
mkdir -p "$NAME"
|
|
cd "$NAME" || exit
|
|
python -m venv .venv
|
|
touch main.py requirements.txt
|
|
code "$HOME/Nextcloud/Development/Projekte/$NAME"
|
|
'
|
|
;;
|
|
"🦀 Rust Projekt")
|
|
kitty -e bash -lc '
|
|
cd "$HOME/Nextcloud/Development/Projekte" || exit
|
|
read -rp "Projektname: " NAME
|
|
[ -z "$NAME" ] && exit
|
|
cargo new "$NAME"
|
|
cd "$NAME" || exit
|
|
|
|
cat <<EOF > README.md
|
|
# $NAME
|
|
|
|
Rust Projekt
|
|
|
|
## Start
|
|
|
|
\`\`\`bash
|
|
cargo run
|
|
\`\`\`
|
|
|
|
## Build
|
|
|
|
\`\`\`bash
|
|
cargo build
|
|
\`\`\`
|
|
EOF
|
|
|
|
code "$HOME/Nextcloud/Development/Projekte/$NAME"
|
|
'
|
|
;;
|
|
"🚀 Tauri Projekt")
|
|
kitty -e bash -lc '
|
|
cd "$HOME/Nextcloud/Development/Projekte" || exit
|
|
read -rp "Projektname: " NAME
|
|
[ -z "$NAME" ] && exit
|
|
|
|
npm create tauri-app@latest "$NAME"
|
|
|
|
cd "$NAME" || exit
|
|
|
|
cat <<EOF > README.md
|
|
# $NAME
|
|
|
|
Tauri Projekt
|
|
|
|
## Dev Start
|
|
|
|
\`\`\`bash
|
|
npm install
|
|
npm run tauri dev
|
|
\`\`\`
|
|
|
|
## Build
|
|
|
|
\`\`\`bash
|
|
npm run tauri build
|
|
\`\`\`
|
|
EOF
|
|
|
|
code "$HOME/Nextcloud/Development/Projekte/$NAME"
|
|
'
|
|
;;
|
|
" Bash Projekt")
|
|
kitty -e bash -lc '
|
|
cd "$HOME/Nextcloud/Development/Projekte" || exit
|
|
read -rp "Projektname: " NAME
|
|
[ -z "$NAME" ] && exit
|
|
mkdir -p "$NAME"/{scripts,lib}
|
|
cd "$NAME" || exit
|
|
|
|
cat <<EOF > main.sh
|
|
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
echo "Hello from $NAME"
|
|
EOF
|
|
|
|
chmod +x main.sh
|
|
|
|
cat <<EOF > README.md
|
|
# $NAME
|
|
|
|
Bash Script Projekt
|
|
|
|
## Start
|
|
|
|
\`\`\`bash
|
|
./main.sh
|
|
\`\`\`
|
|
EOF
|
|
|
|
code "$HOME/Nextcloud/Development/Projekte/$NAME"
|
|
'
|
|
;;
|
|
esac |