diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 822d711..600010d 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -1,76 +1,96 @@
-# .github/workflows/release.yml
-
-name: Lightweight Release
-
-on:
- push:
- branches:
- - main
- workflow_dispatch:
-
-jobs:
- release:
- runs-on: ubuntu-latest
-
- steps:
- - name: Checkout
- uses: actions/checkout@v4
-
- - name: Build files
- run: |
- mkdir -p build
-
- cp src/login.html build/
- cp meta.json README.md build/
-
- cat src/styles.css \
- | tr -d '\n\t' \
- | sed 's/ */ /g' \
- | sed 's/ *{ */{/g' \
- | sed 's/ *} */}/g' \
- | sed 's/ *; */;/g' \
- | sed 's/ *: */:/g' \
- | sed 's/ *, */,/g' \
- > build/styles.min.css
-
- cat src/script.js \
- | tr -d '\n\t' \
- | sed 's/ */ /g' \
- > build/script.min.js
-
- - name: Create archive
- run: |
- cd build
- zip -r ../release.zip .
-
- - name: Generate next tag
- id: tag
- run: |
- git fetch --tags
-
- LAST_TAG=$(git tag -l "v*" | sort -V | tail -n1)
-
- if [ -z "$LAST_TAG" ]; then
- NEXT=1
- else
- NUM=${LAST_TAG#v}
- NEXT=$((NUM + 1))
- fi
-
- NEW_TAG="v$NEXT"
-
- echo "tag=$NEW_TAG" >> $GITHUB_OUTPUT
-
- - name: Create and push tag
- run: |
- git config user.name "gitea-actions"
- git config user.email "actions@local"
-
- git tag ${{ steps.tag.outputs.tag }}
- git push origin ${{ steps.tag.outputs.tag }}
-
- - name: Create Release
- uses: softprops/action-gh-release@v2
- with:
- tag_name: ${{ steps.tag.outputs.tag }}
- files: release.zip
+# .github/workflows/release.yml
+
+name: Release
+
+on:
+ push:
+ branches:
+ - main
+ workflow_dispatch:
+
+jobs:
+ release:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: 20
+
+ - name: Install esbuild
+ run: npm install -g esbuild
+
+ - name: Install html-minifier-terser
+ run: npm install -g html-minifier-terser
+
+ - name: Generate next tag
+ id: tag
+ run: |
+ git fetch --tags
+
+ LAST_TAG=$(git tag -l "v*" | sort -V | tail -n1)
+
+ if [ -z "$LAST_TAG" ]; then
+ NEXT=1
+ else
+ NUM=${LAST_TAG#v}
+ NEXT=$((NUM + 1))
+ fi
+
+ NEW_TAG="v$NEXT"
+
+ echo "tag=$NEW_TAG" >> $GITHUB_OUTPUT
+
+ - name: Prepare build
+ run: |
+ mkdir -p build
+
+ sed \
+ -e 's|\.\/skins\/skynet\/styles\/styles-skynet\.css|./skins/skynet/styles/styles-skynet.min.css|g' \
+ -e 's|\.\/skins\/skynet\/script-skynet\.js|./skins/skynet/script-skynet.min.js|g' \
+ src/login.html > login.raw.html
+
+ html-minifier-terser login.raw.html \
+ --collapse-whitespace \
+ --remove-comments \
+ --remove-redundant-attributes \
+ --remove-script-type-attributes \
+ --remove-style-link-type-attributes \
+ --minify-css true \
+ --minify-js true \
+ -o build/login.html
+
+ esbuild src/styles-skynet.css \
+ --minify \
+ --legal-comments=none \
+ --outfile=build/styles-skynet.min.css
+
+ esbuild src/script-skynet.js \
+ --minify \
+ --legal-comments=none \
+ --outfile=build/script-skynet.min.js
+
+ - name: Create archive
+ run: |
+ VERSION=${{ steps.tag.outputs.tag }}
+
+ cd build
+ zip -r "../roundcube-theme-skynet-${VERSION}.zip" .
+
+ - name: Create and push tag
+ run: |
+ git config user.name "gitea-actions"
+ git config user.email "actions@local"
+
+ git tag ${{ steps.tag.outputs.tag }}
+ git push origin ${{ steps.tag.outputs.tag }}
+
+ - name: Create Release
+ uses: softprops/action-gh-release@v2
+ with:
+ tag_name: ${{ steps.tag.outputs.tag }}
+ files: roundcube-theme-skynet-${{ steps.tag.outputs.tag }}.zip
diff --git a/src/login.html b/src/login.html
index 3d2e901..23ab475 100644
--- a/src/login.html
+++ b/src/login.html
@@ -1,133 +1,146 @@
-
-
+