Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/samgutentag/sbburgerweek/llms.txt

Use this file to discover all available pages before exploring further.

Before your event goes live, work through this checklist in order. Each step ensures the map, tracking, hours, and analytics are all wired up correctly. Missing any single step can leave tracking silent, the stats page empty, or the HTML still carrying stale config values.
trackUrl must be set in config.js and python3 apply-theme.py must be run before pushing. The HTML files bake in the value at script-run time — if you skip apply-theme.py, the old null value stays in the rendered pages.

Activation sequence

1

Finalize config.js

Open config.js and confirm every field is correct. Pay special attention to:
  • trackUrl — your deployed Cloudflare Worker URL (e.g. https://sbburritoweek-track.YOUR_SUBDOMAIN.workers.dev)
  • cfAnalyticsToken — your Cloudflare Web Analytics token
  • eventName and eventDates — shown in the header and OG tags
  • dataLiveDate — ISO date on which data-YYYY.js (full menu details) replaces data.js (skeleton)
  • eventStartDate and eventEndDate — drive analytics filters and the concluded banner
trackUrl: "https://sbburritoweek-track.YOUR_SUBDOMAIN.workers.dev",
cfAnalyticsToken: "f1a2b3c4d5e6f7g8h",
eventName: "SB Burrito Week 2026",
eventDates: "Mar 5–11",
dataLiveDate: "2026-03-04",
eventStartDate: "2026-03-05",
eventEndDate: "2026-03-11",
2

Run apply-theme.py

Regenerate all derived files from your updated config.js:
python3 apply-theme.py
This updates index.html, stats/index.html, embed/map/index.html, og-image.svg, og-image.png, CNAME, README.md, the Worker source, and both snapshot workflows. Run it every time you change config.js.
3

Populate data-YYYY.js

Replace the skeleton entries in data-YYYY.js (where YYYY is your event year) with full restaurant records — complete addresses, coordinates, map links, contact info, and menuItems arrays with names and descriptions.
{
  name: "El Taco Loco",
  address: "123 State St, Santa Barbara, CA 93101",
  area: "Downtown",
  lat: 34.4208,
  lng: -119.6982,
  mapUrl: "https://maps.app.goo.gl/...",
  appleMapsUrl: "https://maps.apple.com/...",
  website: "https://eltacoloco.com",
  phone: "805-555-1234",
  instagram: "eltacoloco",
  vegetarian: true,
  glutenFree: false,
  hasFries: false,
  menuItems: [
    { name: "The Monster Burrito", description: "Carne asada, beans, rice, guac, and salsa verde." },
    { name: "Veggie Supreme", description: null },
  ],
}
An empty menuItems: [] shows “Details coming soon!” in the popup. A description: null on an individual item shows “More details coming soon!” for that item only.
4

Uncomment cron schedules in workflow files

Open .github/workflows/fetch-hours.yml and .github/workflows/snapshot-tracking.yml. Uncomment the schedule: block in each file and update the cron date ranges to match your event window:
schedule:
  # Hourly during event week — adjust date range for next event
  - cron: "0 * 5-14 3 *"   # Mar 5–14, hourly
schedule:
  # Daily at 6am PT (13:00 UTC) — adjust date range for next event
  - cron: "0 13 3-14 3 *"   # Mar 3–14
Both workflows also support manual dispatch from the Actions tab at any time.
5

Enable Worker writes in workers/track/index.js

In the POST handler of workers/track/index.js, remove the early return guard (added when the previous event was wound down) and uncomment the writeDataPoint call. This is what actually records tracking events to Cloudflare Analytics Engine.
6

Deploy the Worker

From the workers/track directory, deploy to Cloudflare:
cd workers/track && wrangler deploy
Wrangler prints the live Worker URL. Confirm it matches the trackUrl you set in config.js.
7

Commit and push everything

Stage all changed files — including the generated HTML files, og-image.png, CNAME, updated workflow files, and the Worker — then push to your main branch:
git add .
git commit -m "Activate for event"
git push
GitHub Pages deploys automatically within a minute or two.
8

Verify the live site

Run through the pre-launch verification checklist below before announcing the map.

Pre-launch verification

After the deploy finishes, check each item:
  • Map loads — visit your live URL and confirm the map renders with all restaurant markers visible
  • Popups open — click a marker; the popup should show the restaurant name, address, and menu items
  • Filters work — tap each area and dietary filter to confirm the marker list updates correctly
  • /stats is accessible — the stats dashboard should load and start showing data once events accumulate
  • Tracking fires — open the map, click a restaurant popup, then check a second terminal running wrangler tail; you should see the POST request log
  • hours.json loaded — if you set up the hours feature, open a popup and confirm today’s hours appear; no error in the browser console
  • OG image renders — paste your URL into a social share preview tool (e.g. opengraph.xyz) and confirm the correct event name and dates appear on the image
You can test tracking events locally before the live deploy. Start the local server, open the map, click a restaurant popup, and watch wrangler tail in a separate terminal. POST requests should appear within a second or two.

Build docs developers (and LLMs) love