👉 Visit the DatoCMS homepage or see What is DatoCMS?
This project aims to be a great starting point for your Astro projects that need to interact with DatoCMS.
- 🔍 Fully commented code — Every file is commented and explained in detail, it will be impossible to get lost!
- 💯 100% TypeScript — Thanks to gql.tada every GraphQL query is fully typed, and your IDE will help you complete the GraphQL queries.
- 🛠️ Minimal boilerplate — The project is minimal and exposes only what is necessary to get started, without complicated models that need to be removed.
- 🚫 Zero CSS — There is only one CSS import, which you can remove to use your preferred CSS tool.
- 📝 Full support for Draft Mode — Your editors can always view the latest draft version of the content.
- 🧩 Plugin ready — Support for the fantastic plugins Web Previews and SEO/Readability Analysis.
- 🔄 DatoCMS's Real-time Updates API — Your editors can see updated content instantly as soon as you save a new version on DatoCMS.
- 🌐 SEO Metadata — Full integration between Astro and the SEO settings coming from DatoCMS.
-
Make sure that you have set up the Github integration on Vercel.
-
Let DatoCMS set everything up for you clicking this button below:
Once the setup of the project and repo is done, clone the repo locally.
Copy the sample .env file:
cp .env.local.example .env
In your DatoCMS' project, go to the Settings menu at the top and click API tokens.
Copy the values of the following tokens into the specified environment variable:
DATOCMS_PUBLISHED_CONTENT_CDA_TOKEN
: CDA Only (Published)DATOCMS_DRAFT_CONTENT_CDA_TOKEN
: CDA Only (Draft)DATOCMS_CMA_TOKEN
: CMA Only (Admin)
Then set both SECRET_API_TOKEN
and SIGNED_COOKIE_JWT_SECRET
by generating two different secure strings (you can use openssl rand -hex 32
or any other cryptographically-secure random string generator):
- The
SECRET_API_TOKEN
will be used to safeguard all API routes from incoming requests from untrusted sources; - The
SIGNED_COOKIE_JWT_SECRET
will be used to sign the Draft Mode cookies.
npm install
npm run dev
Your website should be up and running on http://localhost:4321!
It is highly recommended to follow these instructions for an optimal experience with Visual Studio Code, including features like diagnostics, auto-completions, and type hovers for GraphQL.
DatoCMS is the REST & GraphQL Headless CMS for the modern web.
Trusted by over 25,000 enterprise businesses, agencies, 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!
Why DatoCMS?
- API-First Architecture: Built for both REST and GraphQL, enabling flexible content delivery
- Just Enough Features: We believe in keeping things simple, and giving you the right feature-set tools to get the job done
- Developer Experience: First-class TypeScript support with powerful developer tools
Getting Started:
- ⚡️ Create Free Account - Get started with DatoCMS in minutes
- 🔖 Documentation - Comprehensive guides and API references
- ⚙️ Community Support - Get help from our team and community
- 🆕 Changelog - Latest features and improvements
Official Libraries:
- Content Delivery Client - TypeScript GraphQL client for content fetching
- REST API Clients - Node.js/Browser clients for content management
- CLI Tools - Command-line utilities for schema migrations (includes Contentful and WordPress importers)
Official Framework Integrations
Helpers to manage SEO, images, video and Structured Text coming from your DatoCMS projects:
Additional Resources:
- Plugin Examples - Example plugins we've made that extend the editor/admin dashboard
- Starter Projects - Example website implementations for popular frameworks
- All Public Repositories