This website is built using the Jamstack to achieve world-class performance, security, and scalability, as well as top-notch DX (Developer Experience).
In our case, the following core components make up this website:
- Eleventy — A simple static site generator. Think Jekyll, but written in Node.
- Sanity — Sanity is a powerful and flexible headless CMS.
- Netlify — Netlify is where we host the statically generated files that make up the front-end of the website. Netlify also makes it easy to automate deployments via Github integrations and webhooks. We've set up a webhook to notify Netlify when new content has been published in Sanity.
- Node.js — Version 13.6.0 recommended. I would strongly encourage you to set up Node Version Manager so you can manage multiple versions of Node.js on one machine and easily switch between versions on command.
- Yarn — Yarn is a layer on top of NPM (Node's default package manager) that enables basic monorepos via Yarn Workspaces
This project is structured as a monorepo using Yarn Workspaces. There are 2 workspaces:
/web
— The front-end of the website/studio
— The Sanity Studio
Clone the repository, and cd
into the root directory.
# Install dependencies
yarn
# If using nvm, activate Node 13.6.0
nvm use
# For front-end development
yarn start
# For Sanity development
yarn start:studio