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.
config.js exports a single THEME object that drives all site identity, metadata, integrations, and runtime behavior — from the favicon emoji and header title to the map’s starting coordinates and the Cloudflare Worker URL. After every change to config.js, run python3 apply-theme.py to propagate your updates to the OG image, CNAME, HTML files, README, and the Worker’s SQL queries.
Complete config.js
The full default configuration file, with all fields and their inline comments:Event state machine
config.js also defines two runtime functions — getEventState() and canCastVotes() — that drive the site’s behaviour based on the current date relative to your event dates.
getEventState() returns one of four string values:
| State | When |
|---|---|
off-season | trackUrl is null, or none of the other conditions match |
pre-event | On or after dataLiveDate and before eventStartDate |
during | On or after eventStartDate and before (or on) eventEndDate |
post-event | After eventEndDate — the concluded banner appears automatically |
canCastVotes() returns true during pre-event and during, and also for 5 days after eventEndDate (the grace period), so late visitors can still upvote their favourites.
Tip jar tiers
ThetipTiers array controls what appears in the Venmo tip jar modal. Each tier has four fields:
| Field | Type | Description |
|---|---|---|
size | "s" | "m" | "l" | Controls the display size and emoji. "s" shows a custom emoji field; "m" shows half the theme emoji; "l" shows the full theme emoji. |
label | string | Human-readable label shown below the amount. |
emoji | string | Only used when size is "s". Ignored for "m" and "l". |
amount | number | Dollar amount sent to Venmo. |
"m" tier always receives an orange featured border regardless of its position in the array. Setting venmoUser to null hides the entire tip jar.
The default tiers from the Burger Week config:
Filter definitions
Two arrays inTHEME define the filter buttons rendered in the sidebar’s search panel.
tagFilters — dietary and category tag filters. Each entry maps directly to a boolean property on restaurant objects. The default set:
hoursFilters — time-of-day filters that appear only after hours.json loads. If the file is absent, these buttons are hidden automatically and the rest of the map works normally. The default set:
app.js and stats.js read these arrays directly from the THEME object at runtime, so adding or removing a filter entry takes effect immediately after you reload the page — no apply-theme.py run is required for filter changes alone.