|
| 1 | +#!/usr/bin/env bash |
| 2 | +set -euo pipefail |
| 3 | + |
| 4 | +cd "$(dirname "$0")" |
| 5 | + |
| 6 | +eval "$(fnm env --use-on-cd 2>/dev/null)" |
| 7 | + |
| 8 | +# --- Auto-download termframe --- |
| 9 | +TERMFRAME_BIN="${TMPDIR:-/tmp}/termframe" |
| 10 | + |
| 11 | +if [ ! -x "$TERMFRAME_BIN" ]; then |
| 12 | + OS="$(uname -s | tr '[:upper:]' '[:lower:]')" |
| 13 | + ARCH="$(uname -m)" |
| 14 | + |
| 15 | + case "$OS" in |
| 16 | + linux) OS_NAME="linux" ;; |
| 17 | + darwin) OS_NAME="macos" ;; |
| 18 | + *) echo "Unsupported OS: $OS" >&2; exit 1 ;; |
| 19 | + esac |
| 20 | + |
| 21 | + case "$ARCH" in |
| 22 | + x86_64|amd64) ARCH_NAME="x86_64" ;; |
| 23 | + aarch64|arm64) ARCH_NAME="arm64" ;; |
| 24 | + *) echo "Unsupported arch: $ARCH" >&2; exit 1 ;; |
| 25 | + esac |
| 26 | + |
| 27 | + if [ "$OS_NAME" = "macos" ]; then |
| 28 | + ASSET="termframe-macos-${ARCH_NAME}.tar.gz" |
| 29 | + else |
| 30 | + ASSET="termframe-linux-${ARCH_NAME}-gnu.tar.gz" |
| 31 | + fi |
| 32 | + |
| 33 | + TAG=$(curl -fsSL "https://api.github.com/repos/pamburus/termframe/releases/latest" | grep -o '"tag_name": *"[^"]*"' | cut -d'"' -f4) |
| 34 | + URL="https://github.com/pamburus/termframe/releases/download/${TAG}/${ASSET}" |
| 35 | + |
| 36 | + echo "Downloading termframe ${TAG} (${ASSET})..." |
| 37 | + curl -fsSL "$URL" | tar -xz -C "${TMPDIR:-/tmp}" termframe |
| 38 | + chmod +x "$TERMFRAME_BIN" |
| 39 | +fi |
| 40 | + |
| 41 | +TERMFRAME_ARGS="--padding 2 -H auto -W 80" |
| 42 | +TERMFRAME_CMD="pnpm create-nitro-app nitro-app" |
| 43 | + |
| 44 | +# --- Generate dark preview --- |
| 45 | +echo "Generating dark preview..." |
| 46 | +rm -rf ../nitro-app |
| 47 | +"$TERMFRAME_BIN" -o ./preview-dark.svg $TERMFRAME_ARGS --mode dark -- $TERMFRAME_CMD |
| 48 | +echo "Generated ./preview-dark.svg" |
| 49 | + |
| 50 | +# --- Generate light preview --- |
| 51 | +echo "Generating light preview..." |
| 52 | +rm -rf ../nitro-app |
| 53 | +"$TERMFRAME_BIN" -o ./preview-light.svg $TERMFRAME_ARGS --mode light -- $TERMFRAME_CMD |
| 54 | +echo "Generated ./preview-light.svg" |
| 55 | + |
| 56 | +# --- Cleanup --- |
| 57 | +rm -rf ../nitro-app |
| 58 | +echo "Done!" |
0 commit comments