Keycloak theme for the sign-in and sign-out pages (PD-23, PD-26)

Realm petrolyst's login theme, on Keycloak's unstyled base: a slate panel with the logo and its line
beside the form on a soft card; on a phone a slate band above it; light and dark. Satoshi stays out
of Git by its licence (build.sh). The README adds the install steps. Not deployed.

Bands: none (identity theme).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Nasim SadatandClaude Opus 5.5 committed 2026-10-31 01:29:57 +01:00
1 parent d95e6e184a
commit 89b1709fd9
16 files changed
+835

No files matched your search

+16
View File
@@ -0,0 +1,16 @@
#!/usr/bin/env bash
# Build dist/petrolyst-theme.jar, ready for Keycloak's providers/ folder. Pass the folder holding Satoshi-Variable.woff2 (normally
# petrolyst-platform/web/src/fonts/satoshi, fetched there from Fontshare). The font goes only into the built file, never into Git:
# its licence forbids distributing it. Without it, the pages fall back to Inter.
set -euo pipefail
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SATOSHI="${1:-}"
WORK="$(mktemp -d "${TMPDIR:-/tmp}/petrolyst-theme.XXXXXX")"; trap 'rm -rf "$WORK"' EXIT
mkdir -p "$WORK/META-INF" "$WORK/theme"
cp -R "$HERE/petrolyst" "$WORK/theme/petrolyst"
find "$WORK" -name .DS_Store -delete
if [ -n "$SATOSHI" ]; then cp "$SATOSHI/Satoshi-Variable.woff2" "$WORK/theme/petrolyst/login/resources/fonts/"; else echo "no Satoshi folder given: headings fall back to Inter"; fi
printf '{"themes":[{"name":"petrolyst","types":["login"]}]}\n' > "$WORK/META-INF/keycloak-themes.json"
mkdir -p "$HERE/dist"; rm -f "$HERE/dist/petrolyst-theme.jar"
(cd "$WORK" && zip -qr "$HERE/dist/petrolyst-theme.jar" META-INF theme)
echo "built $HERE/dist/petrolyst-theme.jar"