Commit Graph

14 Commits

Author SHA1 Message Date
jbrechtel 3ae28b1f20 Add adduser CLI command for creating users from the command line
Build and Deploy / build-and-deploy (push) Successful in 1m19s
2026-07-08 21:32:03 -04:00
jbrechtel 1ffe1b4fd6 Prevent signup from UI when a user already exists
Build and Deploy / build-and-deploy (push) Successful in 1m25s
2026-07-08 21:30:03 -04:00
jbrechtel 76425caf65 make RSS feed link smaller and more subtle
Build and Deploy / build-and-deploy (push) Successful in 47s
Replace the full neobrutalism card with a compact inline row. The
URL is now clickable to copy, with a brief Copied! confirmation.
2026-07-08 16:39:15 -04:00
jbrechtel c3d1adddc2 Fix blank episode form: move all CSS to external static files
Build and Deploy / build-and-deploy (push) Successful in 47s
- Go html/template rejects <style> blocks and inline style attributes
  when template expressions are present in URL/CSS contexts
- Move all inline CSS to static/auth.css, static/episode.css,
  static/dashboard.css
- Serve static files from embedded FS via /static/ handler
- Fix missing </div> in episode form audio file group
2026-07-08 13:12:43 -04:00
jbrechtel 9c24b30262 Fix blank page: URL types and inline style issues in templates
Build and Deploy / build-and-deploy (push) Successful in 1m3s
- Use template.URL for all URLs passed to templates (RSSURL, ImageURL)
- Pre-compute episode image URLs in handler as safe types
- Remove all inline style attributes, use CSS classes instead
- Add template error logging to catch silent failures
- HTML/template rejects raw strings in URL and CSS+URL contexts
2026-07-08 12:24:38 -04:00
jbrechtel cc62eea701 Default run script to port 7070
Build and Deploy / build-and-deploy (push) Successful in 1m1s
2026-07-08 12:16:07 -04:00
jbrechtel b7d2732207 Add scripts/run for local development
Build and Deploy / build-and-deploy (push) Successful in 1m18s
2026-07-08 12:15:28 -04:00
jbrechtel a047338210 Styled file upload buttons for audio and images
Build and Deploy / build-and-deploy (push) Successful in 40s
2026-07-08 09:43:21 -04:00
jbrechtel b32c0a1ba6 Default episode publish time to browser local time
Build and Deploy / build-and-deploy (push) Successful in 43s
2026-07-08 09:41:12 -04:00
jbrechtel b179f57628 Slug-based RSS URLs and success flash messages
Build and Deploy / build-and-deploy (push) Successful in 45s
- Add podcast_slug to users with global uniqueness check
- RSS available at /rss/{slug} (path-based) with legacy ?slug= fallback
- Slug field in dashboard settings with validation (lowercase, hyphens)
- JS flash messages for success/error after form submissions
- Remove unused imports
2026-07-08 09:29:00 -04:00
jbrechtel d70ed1943f Add build script, AGENTS.md, fix formatting
Build and Deploy / build-and-deploy (push) Successful in 44s
- scripts/build: gofmt, go vet, go build, docker build
- AGENTS.md: agents must run ./scripts/build before committing
- Fix gofmt issues in handler/auth.go and store/store.go
2026-07-08 09:22:07 -04:00
jbrechtel 0861f7510b Per-user podcasts, file uploads, RSS images, Docker support
Build and Deploy / build-and-deploy (push) Failing after 13s
- Each user owns a podcast: podcast title/author/image on users table
- Episodes scoped by user_id with context-based auth
- Audio file upload replaces URL linking, served from /uploads/
- Podcast and per-episode images with itunes:image in RSS
- RSS per-user via ?user=N, dashboard shows user-specific feed URL
- Settings form for title + author + image per user
- Docker multi-stage build (golang:1.25-alpine / alpine:3.21)
- Removed PODSTALK_TITLE/AUTHOR env vars
2026-07-08 09:20:19 -04:00
jbrechtel f43c98b56f Fix gofmt formatting in handler/rss.go
Build and Deploy / build-and-deploy (push) Successful in 1m39s
2026-07-07 22:11:00 -04:00
jbrechtel 68c1f38b8d Initial commit
Build and Deploy / build-and-deploy (push) Failing after 36s
2026-07-07 21:58:39 -04:00