Skip to content

Repository files navigation

👉 Visit the DatoCMS homepage or see What is DatoCMS?


A Blog example using Astro and DatoCMS

This example showcases an Astro Blog using DatoCMS as the data source. 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:

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.

Create two DatoCMS API tokens: CDA Only (Published) for published content and CDA Only (Draft) for preview content.

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

cp .env.example .env

Then set DATOCMS_PUBLISHED_CONTENT_CDA_TOKEN and DATOCMS_DRAFT_CONTENT_CDA_TOKEN in .env.

Run your project locally

npm install
npm run dev

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

client:visible directive

Astro is "Zero JS, by default: No JavaScript runtime overhead to slow you down". That means that by default Astro generates static files server-side and no JS is sent to the client, unless strictly needed.

When using the <Image /> component, or any other component that requires some client-side orchestration, you must instruct Astro to send the component bundle to the client, so that the interactive features can be made available to the user. Astro uses directives: client:visible loads and hydrates the component once the component has entered the user’s viewport.

In this demo, we use the client:visible directive to enable the lazy load of images, that are actually loaded only when they enter the viewport.


What is DatoCMS?

DatoCMS - The Headless CMS for the Modern Web

DatoCMS is Headless CMS for the modern web. Trusted by 25,000+ businesses, agencies, and individuals, it gives your team one place to manage content and ship it to any website, app, or device via API.

New here? Start with Create free account and the Documentation. Stuck? Ask the Community. Curious what's new? Product Updates.

Building with AI: Agent Skills turn coding assistants (Claude Code, Cursor) into expert DatoCMS developers, with full read/write via the auto-installed CLI. No local terminal? Use the MCP Server instead.

Talking to DatoCMS from code:

  • Content Delivery API (CDA) — the fast, read-only GraphQL API your website/app uses to fetch published content.
  • Content Management API (CMA) — the REST API for creating and updating content, models, and project settings (think scripts, migrations, integrations).
  • CLI — terminal tool for schema migrations and importing from Contentful/WordPress.

Framework guides: end-to-end recipes for fetching content, rendering Structured Text, optimizing images/video, handling SEO, and setting up live preview with visual editing in Next.js, Nuxt, Svelte, and Astro.

Want a head start? Browse our starter projects — ready-to-deploy example sites for popular frameworks.

About

No description, website, or topics provided.

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages