mikeandpattys_openings

Opening Landing Pages

One self-contained page per new location, reached by scanning the QR code on the printed opening poster.

Making a new one

cp -R openings/_template openings/charlestown
Then open index.html and replace every . Search for Charlestown  
  `` charlestown — used as the GA opening_location param
  `` Opening Soon / Now Open — used in the title and share tags
  `` the gold line above the headline: OPENING SOON / NOW OPEN / OPENING MARCH 3
  `` the single line under the logo. Keep it to one line — the location name lives in the hero artwork, not in HTML
  `` transparent-PNG hero artwork. Must be a hosted URL for the Square build — a relative path won’t resolve inside an embed
  `` same artwork as WebP, served first via <picture>; the PNG is the fallback
  `` describe the sandwich, not the layout
  `` full street address (add a <br> to split it over two lines)
  `` Google/Apple Maps link
  `` e.g. Mon–Fri 7a–2p · Sat–Sun 8a–3p
  `` the page’s own canonical URL, for OG tags
  `` share image, 1200×630
  `` https://www.mikeandpattys.com/loyalty-program
  `` https://www.mikeandpattys.com/s/order
  `` https://www.mikeandpattys.com/hours-and-locations
  `` https://www.workstream.us/j/a6e56262/mike-pattys/positions
  `` https://www.instagram.com/mikeandpattys

The GA measurement ID is hardcoded (G-8YPWVHZ04H) — it’s the same for every page.

Hero artwork

Filenames are lowercase and hyphenated (carolina-caviar-hero.png / .webp) — spaces force %20 escaping in URLs and cause avoidable breakage once the file is hosted.

Requirements for a new location’s artwork:

Design notes

Matched to the live site’s own computed styles rather than approximated:

Delete any secondary row that doesn’t apply. They’re plain <a class="btn btn-secondary"> blocks — removing one needs no other change.

The QR code must not point here directly

Print the QR against a redirect URL you control (a short link, or a Square page that forwards). That link then forwards to wherever the page actually lives. Hosting can move from Square to openings.mikeandpattys.com later without reprinting a single poster.

Put the UTM tags on the redirect target so scans land as attributed pageviews:

?utm_source=poster&utm_medium=qr&utm_campaign=charlestown_opening

Tracking

The GA4 property is G-8YPWVHZ04H (already hardcoded — same on every page). Full wiring instructions, including the custom dimensions you must register before posters go up and the cross-domain settings, are in GA-SETUP.md.

Fonts

BentonSans is loaded cross-origin from www.mikeandpattys.com. Verified 2026-09-02: those files return access-control-allow-origin: *, so they load fine from GitHub Pages or any other origin. font-display: swap means a font failure degrades to the fallback stack rather than blocking render.

Two builds per location

Regenerate after any edit:

sh openings/make-square-version.sh charlestown

The pennant logomark is inlined as SVG rather than linked, so the block carries its own artwork and needs nothing hosted.

Hosting

Built to be origin-independent — it works as a GitHub Pages page on openings.mikeandpattys.com (CNAME, DNS via Hover) or, in the interim, pasted into a Square Online page. If it goes into Square, note the sitewide injected .custom-code-container { margin-top: -2em; } rule affects every custom embed.