🎈 Welcome to the Marketplace — Explore and discover the ecosystem around DatoCMS, and share your own work with the community!

Next.js and Preact Blog

A simple blog created with DatoCMS and Next.js Preact

Nuxt.js blog on DatoCMS
Want to create your own starter project? Learn how to do that in our documentation!

Note: More recent examples are available

This example was built with an older version of Next.js. For examples using more recent versions of Next and other frameworks, please see our most current demos and starter kits.

A Blog example using Next.js, Preact and DatoCMS

This example showcases a Next.js Blog using DatoCMS as the data source. It fully supports Preview Mode with DatoCMS real-time updates.

The purpose of this repo is to have a quick start reference that can be set up with the "one-click" button below.

Demo

Have a look at the end result live:

https://nextjs-demo-bay.vercel.app/

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:

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):

Terminal window
cp .env.example .env

Then set each variable on .env:

Your .env file should look like this:

Terminal window
NEXT_EXAMPLE_CMS_DATOCMS_API_TOKEN=...
NEXT_EXAMPLE_CMS_DATOCMS_PREVIEW_SECRET=...

Run your project locally

Terminal window
npm install
npm run dev

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

Try preview mode

On DatoCMS, go to one of the posts you've created and:

  • Update the title. For example, you can add [Draft] in front of the title.
  • Click Save, but DO NOT click Publish. By doing this, the post will be in the draft state.

(If it doesn't become draft, you need to go to the model settings for Post, go to Additional Settings, and turn on Enable draft/published system.)

Now, if you go to the post page on localhost, you won't see the updated title. However, if you use the Preview Mode, you'll be able to see the change (Documentation).

To enable the Preview Mode, go to this URL:

http://localhost:3000/api/preview?secret=<secret>
  • <secret> should be the string you entered for NEXT_EXAMPLE_CMS_DATOCMS_PREVIEW_SECRET.
  • <slug> should be the post's slug attribute (you can check on DatoCMS).

You should now be able to see the updated title. To exit the preview mode, you can click Click here to exit preview mode at the top.

Subscribe to our newsletter! 📥
One update per month. All the latest news and sneak peeks directly in your inbox.
support@datocms.com ©2024 Dato srl, all rights reserved P.IVA 06969620480