@@ -36,29 +36,25 @@ jobs:
3636 # Kopiert optional StreamingAssets (falls vorhanden)
3737 cp -r StreamingAssets public/StreamingAssets || true
3838
39- # 2. Bestimmen des Ziel-Unterordners
39+ # 2. Bestimmen des Ziel-Unterordners (Sauberere Logik)
4040 - name : Determine Branch Subpath
4141 id : subpath
4242 run : |
43- BRANCH_NAME="${{ github.ref_name }}"
44- # Wenn der Branch nicht 'main' ist, setzen wir den Unterordner-Pfad
45- if [[ "$BRANCH_NAME" != "main" ]]; then
46- echo "SUB_PATH=$BRANCH_NAME" >> $GITHUB_ENV
43+ if [[ "${{ github.ref_name }}" == "main" ]]; then
44+ echo "SUB_PATH=." >> $GITHUB_ENV
4745 else
48- echo "SUB_PATH=" >> $GITHUB_ENV
46+ # Wandelt Branch-Namen in Kleinschreibung um & entfernt Sonderzeichen
47+ CLEAN_NAME=$(echo "${{ github.ref_name }}" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g')
48+ echo "SUB_PATH=$CLEAN_NAME" >> $GITHUB_ENV
4949 fi
5050
51- # 3. Deployment in den gh-pages Branch (Peaceiris Action)
52- # Diese Action pusht den Inhalt von 'public' in den 'gh-pages' Branch
51+ # 3. Deployment mit Schutz vor Überschreiben
5352 - name : Deploy to GitHub Pages (Peaceiris)
5453 uses : peaceiris/actions-gh-pages@v3
5554 with :
56- # TOKEN ist notwendig, um in den gh-pages Branch zu pushen
5755 github_token : ${{ secrets.GITHUB_TOKEN }}
58- # Der Ordner, den wir hochladen wollen (der generierte 'public' Ordner)
5956 publish_dir : ./public
60- # Der Ziel-Branch von GitHub Pages (muss gh-pages sein)
6157 publish_branch : gh-pages
62- # Das Zielverzeichnis INNERHALB des gh-pages Branches
63- # (z.B. /develop für Previews)
6458 destination_dir : ${{ env.SUB_PATH }}
59+ keep_files : true # Verhindert, dass andere Branches gelöscht werden
60+ enable_jekyll : false # Beschleunigt Deployment & verhindert Formatfehler
0 commit comments