#!/usr/bin/env bash set -euo pipefail repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" usage() { echo "usage: generate.sh nugu | pufferpanel-mail | zot-user USER | basic-auth-user USER" >&2 exit 2 } target="${1:-}" [[ -n "${target}" ]] || usage shift case "${target}" in pufferpanel-mail) [[ "$#" -eq 0 ]] || usage bash "${repo_root}/scripts/local/setup-pufferpanel-mail.sh" ;; nugu) [[ "$#" -eq 0 ]] || usage cd /home/me/Workspace/dotfiles/nugu just bugabinga-net install -d "${repo_root}/assets" cp output/bugabinga.net/nugu.css "${repo_root}/assets/nugu.css" cp output/bugabinga.net/nugu.json "${repo_root}/assets/nugu.json" cp output/bugabinga.net/nugu.css "${repo_root}/services/luigit/src/nugu.css" install -d "${repo_root}/assets/pufferpanel" cp output/pufferpanel/theme.css "${repo_root}/assets/pufferpanel/theme.css" # Native tar blobs lack SVG MIME metadata; a typed data URI needs no application patch. logo="$(base64 --wrap=0 "${repo_root}/assets/bugabinga.min.svg")" sed "s@url('bugabinga.svg')@url('data:image/svg+xml;base64,${logo}')@g" \ "${repo_root}/services/pufferpanel/theme/branding.css" >>"${repo_root}/assets/pufferpanel/theme.css" cp "${repo_root}/services/pufferpanel/theme/manifest.json" "${repo_root}/assets/pufferpanel/manifest.json" cp "${repo_root}/assets/bugabinga.min.svg" "${repo_root}/assets/pufferpanel/bugabinga.svg" tar --format=ustar --mtime=@0 --owner=0 --group=0 --numeric-owner \ -cf "${repo_root}/assets/pufferpanel/Nugu.tar" -C "${repo_root}/assets/pufferpanel" \ manifest.json theme.css bugabinga.svg ;; zot-user) [[ "$#" -ge 1 && "$#" -le 2 ]] || usage exec "${repo_root}/scripts/local/auth-user.sh" zot "$@" ;; basic-auth-user) [[ "$#" -ge 1 && "$#" -le 2 ]] || usage exec "${repo_root}/scripts/local/auth-user.sh" basic "$@" ;; *) echo "unknown generation target: ${target}" >&2 usage ;; esac