Free pack: site nav dialog + generator scripts + campaign HTML - #177
Merged
Conversation
…n HTML
Three things in one branch:
1. **Site nav "pack" entry → in-app dialog.** Tapping "pack" in the header
(desktop nav or mobile menu) opens a `PackDialog` modal that previews
the free pack and links out to pablostanley.gumroad.com/l/pixabots —
keeps people on the site for the pitch instead of bouncing them to
Gumroad cold. Dialog is mounted once in the root layout and triggered
via a tiny custom-event-based `openPackDialog()` helper so there's no
prop drilling.
2. **Pack generator scripts (`scripts/`).** Idempotent, seeded,
reproducible:
- `generate-gumroad-pack.mjs` 2,000 PNGs × 4 sizes + 2,000 GIFs @ 480
- `generate-pack-webp.mjs` 2,000 animated WebPs @ 480
- `generate-gumroad-campaign.mjs` 6 animated 16:9 banners + animated
square thumbnail + 5 social-size variants
All output lands in the gitignored `pixabots-gumroad/` tree.
3. **Campaign HTML (`pixabots-gumroad/campaign/`).** Master dashboard
(`index.html`) with click-to-copy buttons for titles, tags, captions,
four format-variant Name/Description pairs, and Additional Details
key/value pairs. Plus `gumroad-body.html` (Gumroad product description
in pasteable HTML) and `email.html` (subscriber blast with hero
image, four subject-line options, direct product URL).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three things in one branch, all in support of the free Gumroad pack launch.
1. Site nav "pack" entry → in-app dialog
packlink. Mobile menu gets aPackrow.PackDialog— modal previews the pack (hero image, summary, bullets) and links out to Gumroad. Keeps the pitch on-site instead of bouncing cold.PackDialogmounts once in the root layout and is triggered via a tiny custom-event-basedopenPackDialog()helper — no prop drilling, no global store, lazy-loaded.2. Pack generator scripts (
scripts/)Idempotent, seeded, reproducible. Output lands in the gitignored
pixabots-gumroad/tree.generate-gumroad-pack.mjs— 2,000 PNGs × 4 sizes (240/480/960/1920) + 2,000 GIFs @ 480generate-pack-webp.mjs— 2,000 animated WebPs @ 480 (~20× smaller than GIF)generate-gumroad-campaign.mjs— 6 animated 16:9 banner GIFs + animated square thumbnail + 5 social-size variants3. Campaign HTML (
pixabots-gumroad/campaign/)index.html— master dashboard with click-to-copy titles, tags, captions, four format-variant Name/Description pairs, and Additional Details key/value pairs.gumroad-body.html— Gumroad product description in pasteable HTML.email.html— subscriber blast with hero image, four subject-line options, direct product URL.Test plan
packin desktop nav → dialog opens with hero image, bullets, CTAPack→ mobile menu closes, dialog opensEscand outside-tap close the dialogprefers-reduced-motionstill respected (Dialog reuses site Dialog)pnpm tsc --noEmitcleanpnpm buildclean🤖 Generated with Claude Code