Tina CMS & Astro
यह कंटेंट अभी तक आपकी भाषा में उपलब्ध नहीं है।
Tina CMS is a Git-backed headless content management system.
Integrating with Astro
To get started, you’ll need an existing Astro project.
-
Run the following command to install Tina into your Astro project.
Terminal window npx @tinacms/cli@latest initTerminal window pnpm dlx @tinacms/cli@latest initTerminal window yarn dlx @tinacms/cli@latest init- When prompted for a Cloud ID, press Enter to skip. You’ll generate one later if you want to use Tina Cloud.
- When prompted “What framework are you using”, choose Other.
- When asked where public assets are stored, press Enter.
After this has finished, you should now have a
.tina
folder in the root of your project and a generatedhello-world.md
file atcontent/posts
. -
Change the
dev
script inpackage.json
:package.json {"scripts": {"dev": "astro dev","dev": "tinacms dev -c \"astro dev\""}}package.json {"scripts": {"dev": "astro dev","dev": "tinacms dev -c \"astro dev\""}}package.json {"scripts": {"dev": "astro dev","dev": "tinacms dev -c \"astro dev\""}} -
TinaCMS is now set up in local mode. Test this by running the
dev
script, then navigating to/admin/index.html#/collections/post
.Editing the “Hello, World!” post will update the
content/posts/hello-world.md
file in your project directory. -
Set up your Tina collections by editing the
schema.collections
property in.tina/config.ts
.For example, you can add a required “date posted” frontmatter property to our posts:
.tina/config.ts import { defineConfig } from "tinacms";// Your hosting provider likely exposes this as an environment variableconst branch = process.env.HEAD || process.env.VERCEL_GIT_COMMIT_REF || "main";export default defineConfig({branch,clientId: null, // Get this from tina.iotoken: null, // Get this from tina.iobuild: {outputFolder: "admin",publicFolder: "public",},media: {tina: {mediaRoot: "images",publicFolder: "public",},},schema: {collections: [{name: "posts",label: "Posts",path: "src/content/posts",format: 'mdx',fields: [{type: "string",name: "title",label: "Title",isTitle: true,required: true,},{type: "datetime",name: "posted",label: "Date Posted",required: true,},{type: "rich-text",name: "body",label: "Body",isBody: true,},],},],},});Learn more about Tina collections in the Tina docs.
-
In production, TinaCMS can commit changes directly to your GitHub repository. To set up TinaCMS for production, you can choose to use Tina Cloud or self-host the Tina Data Layer. You can read more about registering for Tina Cloud in the Tina Docs.
Official Resources
Community Resources
- Astro Tina Starter with visual editing by Jeff See + Dylan Awalt-Conley
- Astro Tina Starter with basic editing by Tom Bennet
- Using Astro’s Image Optimization with Tina