Skip to content

datocms/next-landing-page-demo

Repository files navigation

👉 Visit the DatoCMS homepage or see What is DatoCMS?


A Company Website Demo using Next.js 14 and DatoCMS

This example showcases a TypeScript Next.js 14 website with App Router (app) — using DatoCMS as the data source.

It uses GraphQL CodeGen to type all of the requests comming from Dato automatically: See how it works here

Demo

Have a look at the end result live:

How to use

Quick start

  1. Create an account on DatoCMS.

  2. Make sure that you have set up the Github integration on Vercel.

  3. Let DatoCMS set everything up for you clicking this button below:

Deploy with DatoCMS

Local setup

Once the setup of the project and repo is done, clone the repo locally.

Set up environment variables

In your DatoCMS' project, go to the Settings menu at the top and click API tokens.

Then click Read-only API token and copy the token.

Next, copy the .env.example file in this directory to .env (which will be ignored by Git):

cp .env.local.sample .env.local

and set the DATOCMS_READONLY_API_TOKEN variable as the API token you just copied.

Also then set a secret token that is being used for WebPreviews, SEO Previews and Cache invalidation:

URL=http://localhost:3000
SEO_SECRET_TOKEN=superSecretToken
DRAFT_SECRET_TOKEN=superSecretToken
CACHE_INVALIDATION_SECRET_TOKEN=superSecretToken

Run your project locally

npm install
npm run dev

Your blog should be up and running on http://localhost:3000!

VS Code

It's strongly suggested to install the GraphQL: Language Feature Support extension, to get autocomplete suggestions, validation against schema, and many more niceties when working with your GraphQL queries.


What is DatoCMS?

DatoCMS is the REST & GraphQL Headless CMS for the modern web.

Trusted by over 25,000 enterprise businesses, agency partners, and individuals across the world, DatoCMS users create online content at scale from a central hub and distribute it via API. We ❤️ our developers, content editors and marketers!

Quick links:

Our featured repos:

Or see all our public repos