beugul.dev — desert-at-dusk personal homepage
  • HTML 58.5%
  • JavaScript 33%
  • Shell 8.5%
Find a file
2026-10-22 14:33:02 -07:00
images avatar: Beugul's GIMP-traced die-cut sticker (RGBA) — native shape, dual radial glow, webp 60KB + png fallback; favicon set from badge master; og:image 2026-10-22 11:18:08 -07:00
.gitignore randomized shooting stars (scripts.js WAAPI spawner: random start/angle/dir/speed, 20-45s intervals, companion bursts); deploy.sh strips HTML comments + ships web assets only; nginx cache split js/css 5m vs images 30d (+webp added) 2026-10-22 13:06:41 -07:00
deploy.sh fix meteor flurry: single scheduler chain (shoot() no longer self-schedules -> schedulers had multiplied ~1.2x/event); pause sky on hidden tab, reset on pageshow; cap 3 simultaneous; deploy.sh stamps scripts.js?v= per build so clients never pin stale code 2026-10-22 14:33:02 -07:00
index.html fix meteor flurry: single scheduler chain (shoot() no longer self-schedules -> schedulers had multiplied ~1.2x/event); pause sky on hidden tab, reset on pageshow; cap 3 simultaneous; deploy.sh stamps scripts.js?v= per build so clients never pin stale code 2026-10-22 14:33:02 -07:00
README.md randomized shooting stars (scripts.js WAAPI spawner: random start/angle/dir/speed, 20-45s intervals, companion bursts); deploy.sh strips HTML comments + ships web assets only; nginx cache split js/css 5m vs images 30d (+webp added) 2026-10-22 13:06:41 -07:00
scripts.js fix meteor flurry: single scheduler chain (shoot() no longer self-schedules -> schedulers had multiplied ~1.2x/event); pause sky on hidden tab, reset on pageshow; cap 3 simultaneous; deploy.sh stamps scripts.js?v= per build so clients never pin stale code 2026-10-22 14:33:02 -07:00

beugul.dev — "the desert at dusk"

Personal homepage for Beugul · sister theme to sentinel (cou.garden). Hosted on the Cougar Den VM as its own nginx site.

Palette

role hex
sand base #D9B382
chocolate (crown/ears) #4A3226
cream (ruff/text) #F5EFE4
electric blue (eyes — the only neon glow) #3FA9F5
teal (nose-boop accent) #2A9D8F

Motifs: blinking electric-blue eyes (sentinel's, warm-roomed), twinkling desert stars + one slow shooting star near the top, sunset gradient horizon.

Layout

  • Site root: single index.html (CSS inlined) + images/
  • Avatar (current, since 2026-10-22): Beugul's own GIMP-traced die-cut sticker images/badge-gimp.png (RGBA master, 2769×3044, ~5MB) → served as badge.webp (512px, q88, 60KB, <picture>) with badge-512.png fallback. Rendered at native sticker shape (no circle mask) over a dual radial glow (blue eye-glow + warm sand halo) with cyan drop-shadow. Regenerate: ffmpeg -i images/badge-gimp.png -vf scale=512:-1:flags=lanczos -c:v libwebp -quality 88 images/badge.webp -y
  • Favicon set generated from the badge master (16/32/48 multi-size ICO w/ alpha + apple-touch-icon on chocolate): see commands in git history / rebuild via ffmpeg lanczos scales.
  • Legacy: images/avatar-cut.png (circle crop of badge-source.jpg) kept for reference only.

Hosting (Cougar Den VM, vps-aa115aeb)

  • DNS: beugul.dev A 51.81.202.36 (registrar-managed by Beugul)
  • Files: /home/debian/beugul-landing/ (mounted ro into nginx_mattermost at /var/www/beugul-landing)
  • nginx: server_name beugul.dev block in mattermost-docker/nginx/conf.d/default.conf
  • TLS: Let's Encrypt cert beugul.dev, issued via shared-webroot http-01; auto-renews with the den's certbot timer (webroot already in the server block)

Motifs: badge sticker with dual glow, twinkling desert stars, and randomized shooting stars (scripts.js): each meteor gets a fresh start point (biased mid-sky), travel angle 10–35° below horizontal, direction (70% down-right / 30% mirrored down-left), trail length, speed, and the next one is scheduled 20–45s later with a 20% chance of an early companion. First star lands 3–9s after page load. Tuning knobs are the constants at the top of scripts.js. Debug: window.__meteor() in the console force-spawns one.

Deploy

./deploy.sh   # strips HTML comments (policy: none in deployed source), uploads web assets only

Cache policy on the den: .js/.css = 5 min must-revalidate (deploys land promptly), images/webp = 30 d immutable, HTML = default no-cache.

TODO

  • Favicon from badge master (2026-10-22, multi-size ICO + apple-touch)
  • Pixel-art Beugul favicon/variant generated from badge ref (ayane ComfyUI) — optional now that real-badge favicon ships
  • Traced transparent cutout — Beugul did it herself in GIMP (badge-gimp.png), now the live avatar