CMT Sites Documentation

Creating a New Site

To create a new site, follow these steps:

Client defines these:

Developer Setup Steps

1. Decap Turbo

  1. Log in to Decap Turbo dashboard
  2. Add new site with project name: cmt-{brand}
  3. Get the Turbo Site ID from dashboard
  4. Add the ID to config/{brand}/hugo.toml’s [params.cms] block, alongside the hide* feature flags for this brand (hideEcommerce/hideCatalog/hideEvents/hideGuides):
    [params.cms]
    turboSiteId = "your-turbo-site-id-here"
    hideEcommerce = false
    hideCatalog = false
    hideEvents = false
    hideGuides = false
    
    This is read directly by layouts/admin/list.cmsConfig.yml when it renders /admin/config.yml — there’s no separate CMS config file to create. The CMS’s locale list is derived automatically from this same hugo.toml’s [languages.*] block, so it doesn’t need to be set here too.

2. Configuration Files

Add brand to deployment:

Hugo config:

Form submission recipients:

3. Brand Styling

File: assets/{brand}/styles/_brand-theme.scss

Define CSS variables for:

4. Content & Data Files

Content:

Data files in data/{brand}/:

5. Static Assets

Directory: static/{brand}/

6. Cloudflare Deployment

  1. Create Pages project: {brand} (sites that are named cmt-{brand} haven’t been migrated to the CMT Cloudflare account yet — see step 2 above)
  2. Connect to GitHub repository
  3. Add required environment variables:
    • HUGO_VERSION (e.g., 0.154.5)
    • NODE_VERSION (e.g., 20)
    • BREVO_API_KEY and BREVO_SENDER_EMAIL - needed for forms to send email
  4. Disable automatic deployments - we use GitHub Actions for builds instead

7. Booking API CORS

If the brand has ecommerce products, add its domain to the CORS allowlist on cmt-booking in Azure:

Timeline

The deadline for creating a new site is 5 working days since the client provides all necessary inputs defined above. The client must inform the contractor 2 weeks in advance about the intention to create a new site.