This starter uses Remix for the frontend and Sanity to handle its content.
- How to fetch content as data from the Sanity Content Lake
- How to render block content with Portable Text
- A Sanity Studio to create and edit content
- How to crop and render images with Sanity Image URLs
Note
This starter features an
/app
and a/studio
folder. The/app
folder contains the frontend code, and the/studio
folder contains the Sanity Studio code.This is not a monorepo setup. We put them both in one repository for the sake of simplicity. You might want to have separate repositories for each of the folders, to make it easier to deploy the app and the studio separately.
- Node.js (v14.18 or later)
- Sanity CLI (optional)
The following commands are meant to be run in both the /app
and /studio
folders.
pnpm install
to install dependenciescd studio && pnpm sanity init --env .env.local
, this will:
- ask you to select or create a Sanity project and dataset
- output a
.env.local
file with appropriate variables
-
cp ./studio/.env.local ./app/.env
. -
Start the development servers using
pnpm dev
Your Remix app should now be running on http://localhost:3000/ and Studio on http://localhost:3333/.
Feel free to move each of the folders to their own location and check them into version control.
- Visit the Studio and create and publish a new
Post
document - Visit the App and refresh the page to see your content rendered on the page
The schema for the Post
document is defined in the /studio/schemas
folder. You can add more documents and schemas to the Studio to suit your needs.
The /app
and /studio
folders are meant to be deployed separately.
Make sure that after /app
is deployed the .env
file in /studio
is updated with its deployment URL under SANITY_STUDIO_PREVIEW_URL
.
And /app
has a .env
file with SANITY_STUDIO_URL
that points to the Studio's deployment URL.