{"_id":"@ecropolis/emdash-theme-mainstreet","name":"@ecropolis/emdash-theme-mainstreet","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@ecropolis/emdash-theme-mainstreet","version":"0.1.0","description":"A service-business theme for EmDash: services with pricing, team, hours, testimonials, and a booking CTA throughout","license":"MIT","type":"module","keywords":["astro-template","emdash","emdash-theme","service-business","booking","salon","spa","wellness"],"emdash":{"label":"Mainstreet","description":"For salons, studios, clinics, and local services: a services menu with pricing, team, hours, and booking CTAs","seed":"seed/seed.json","preview":"https://mainstreet.superherotech.ai"},"scripts":{"dev":"astro dev","build":"astro build","preview":"astro preview","deploy":"astro build && wrangler deploy","typecheck":"astro check","deploy:demo":"DEMO_ATTRIBUTION=1 astro build && wrangler deploy"},"dependencies":{"@astrojs/cloudflare":"^14.0.0","@astrojs/react":"^6.0.0","@emdash-cms/cloudflare":"^0.30.0","@iconify-json/ph":"^1.2.2","astro":"^7.0.0","astro-iconset":"^0.0.4","emdash":"^0.30.0","react":"19.2.4","react-dom":"19.2.4"},"devDependencies":{"@astrojs/check":"^0.9.7","@cloudflare/workers-types":"^4.20260305.1","wrangler":"^4.99.0"},"packageManager":"pnpm@11.9.0+sha512.bd682d5d03fe525ef7c9fd6780c6884d1e756ac4c9c9fe00c538782824310dcf90e3ddc4f53835f06dfaebd5085e41855e0bcbb3b60de2ac5bbab89e5036f03b","repository":{"type":"git","url":"git+https://github.com/ecropolis/emdash-theme-mainstreet.git"},"homepage":"https://github.com/ecropolis/emdash-theme-mainstreet#readme","_id":"@ecropolis/emdash-theme-mainstreet@0.1.0","gitHead":"9111728615e43799549d4292d2456f78d0987a63","bugs":{"url":"https://github.com/ecropolis/emdash-theme-mainstreet/issues"},"_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-KXlLRAzFWm/v2uTcwBSoORRaTkYSGB2lJIxwQjE5Nb4U7SayL15BEgqF3B0fhOmdDr/HazoeC702RvnrCD1AYg==","shasum":"ecf2417d3c7e171e61bcaa70a3744fbb8a250b59","tarball":"https://registry.npmjs.org/@ecropolis/emdash-theme-mainstreet/-/emdash-theme-mainstreet-0.1.0.tgz","fileCount":55,"unpackedSize":657249,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDV4npA9ZKi1ec37zNlKO399CUvqIxwieIQ0l3aJGyIFwIgHjTnNL49khscE6X3B08YzyEJFS3BaoJjjBp6f0a97ZU="}]},"_npmUser":{"name":"ecropolis","email":"warreng@ecropolis.com"},"directories":{},"maintainers":[{"name":"ecropolis","email":"warreng@ecropolis.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/emdash-theme-mainstreet_0.1.0_1787811905972_0.4261081669738278"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-27T06:25:05.807Z","0.1.0":"2026-08-27T06:25:06.135Z","modified":"2026-08-27T06:25:06.301Z"},"maintainers":[{"name":"ecropolis","email":"warreng@ecropolis.com"}],"description":"A service-business theme for EmDash: services with pricing, team, hours, testimonials, and a booking CTA throughout","homepage":"https://github.com/ecropolis/emdash-theme-mainstreet#readme","keywords":["astro-template","emdash","emdash-theme","service-business","booking","salon","spa","wellness"],"repository":{"type":"git","url":"git+https://github.com/ecropolis/emdash-theme-mainstreet.git"},"bugs":{"url":"https://github.com/ecropolis/emdash-theme-mainstreet/issues"},"license":"MIT","readme":"# Mainstreet — an EmDash theme for service businesses\n\nA theme for salons, spas, studios, clinics, trades, and anyone whose website exists to answer three questions: *what do you do, what does it cost, and how do I book?* Built with [EmDash](https://github.com/emdash-cms/emdash) and deployed on Cloudflare Workers with D1 and R2.\n\n**Live demo:** [mainstreet.superherotech.ai](https://mainstreet.superherotech.ai)\n\n**Create a site from this theme:**\n\n```bash\nnpm create astro@latest -- --template github:ecropolis/emdash-theme-mainstreet\n```\n\nServices are real content entries with pricing, duration, and images — not hand-edited page copy. Pages are assembled from purpose-built blocks: hero, services grid, how-it-works steps, testimonials, team, hours & contact, FAQ, and a booking CTA banner.\n\n## What's included\n\n- **Services collection** — name, summary, rich description, image, price, duration, featured flag, sort order. Rendered as a grid block, an archive at `/services`, and detail pages at `/services/{slug}`.\n- **Team collection** — name, role, bio, photo. Rendered by the team block.\n- **Eight content blocks** editors can compose in any order on any page.\n- **Compass Customizer** — no-code design controls in **Admin → Design**: palette presets, brand colors, typeface, corner roundness, gradients, custom CSS. Changes apply live, no rebuild. Built on the theme's [token contract](docs/TOKEN-CONTRACT.md).\n- **Menu-driven booking CTA** in the header — editors change the label and URL from the admin (`cta` menu), no code.\n- Dark/light mode, SEO metadata, and demo content for a fictional wellness studio so the theme looks real out of the box.\n\n## Pages\n\n| Page | Route | Source |\n|---|---|---|\n| Home | `/` | `pages` entry `home`, composed of blocks |\n| Services | `/services` | archive of the `services` collection |\n| Service detail | `/services/{slug}` | one `services` entry, with booking sidebar |\n| About | `/about` | `pages` entry, blocks + prose |\n| Contact | `/contact` | `pages` entry with hours & contact block |\n| Any page | `/{slug}` | catch-all over the `pages` collection |\n| 404 | fallback | — |\n\n## Local development\n\n```bash\npnpm install\npnpm dev\n```\n\nThen open `http://localhost:4321/_emdash/admin` and complete the setup wizard — it applies `seed/seed.json` (schema, menus, and demo content) automatically.\n\n## Deploying\n\n```bash\npnpm deploy\n```\n\nRequires a Cloudflare account with D1 and R2. Edit `wrangler.jsonc` to set your worker, database, and bucket names.\n\n## Rebranding checklist\n\n1. Site title and tagline — admin → Settings.\n2. Colors — `src/styles/theme.css` (`--color-brand-*`, `--color-accent-*`; gradients follow automatically).\n3. Font — `astro.config.mjs` (`fonts:` entry; Plus Jakarta Sans by default).\n4. Replace the demo services, team, and page copy in the admin — or edit `seed/seed.json` before first run.\n5. Swap the demo imagery (Unsplash) for the business's own photos.\n\n## Booking\n\nThe theme ships with booking CTAs pointing at `/contact`. If you use an external scheduler, point the `cta` menu item and the CTA blocks at your booking URL instead.\n\n## License\n\nMIT © Ecropolis\n","readmeFilename":"README.md","_rev":"1-be464f5f2c16e25053a1659279c692ac"}