Tina CMS & Astro
Tina CMS est un système de gestion de contenu headless soutenu par Git.
Intégration avec Astro
Section intitulée « Intégration avec Astro »Pour commencer, vous aurez besoin d’un projet Astro existant.
-
Exécutez la commande suivante pour installer Tina dans votre projet Astro.
Fenêtre du terminal npx @tinacms/cli@latest initFenêtre du terminal pnpm dlx @tinacms/cli@latest initFenêtre du terminal yarn dlx @tinacms/cli@latest init- Lorsqu’on vous demande un ID Cloud, appuyez sur Enter pour passer. Vous en générerez un plus tard si vous souhaitez utiliser Tina Cloud.
- A la question « What framework are you using », choisissez Other.
- Lorsque l’on vous demande où sont stockées les ressources publiques, appuyez sur Enter.
Une fois cette opération terminée, vous devriez avoir un dossier
.tina
à la racine de votre projet et un fichierhello-world.md
généré danscontent/posts
. -
Changez le script
dev
danspackage.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 est maintenant configuré en mode local. Testez-le en lançant le script
dev
, puis en naviguant vers/admin/index.html#/collections/post
.L’édition du post « Hello, World! » mettra à jour le fichier
content/posts/hello-world.md
dans le répertoire de votre projet. -
Configurez vos collections Tina en éditant la propriété
schema.collections
dans.tina/config.ts
.Par exemple, vous pouvez ajouter une propriété de frontmatter « date de publication » à nos articles :
.tina/config.ts import { defineConfig } from "tinacms";// Il est probable que votre hébergeur expose cette variable d'environnementconst branch = process.env.HEAD || process.env.VERCEL_GIT_COMMIT_REF || "main";export default defineConfig({branch,clientId: null, // Obtenir cette information de tina.iotoken: null, // Obtenir cette information de 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: "Titre",isTitle: true,required: true,},{type: "datetime",name: "posted",label: "Date de publication",required: true,},{type: "rich-text",name: "body",label: "Corps",isBody: true,},],},],},});En savoir plus sur les collections Tina dans la documentation de Tina.
-
En production, TinaCMS peut valider les modifications directement dans votre dépôt GitHub. Pour configurer TinaCMS pour la production, vous pouvez choisir d’utiliser Tina Cloud ou d’auto-héberger la couche de données Tina. Vous pouvez en savoir plus sur l’inscription à Tina Cloud dans la documentation de Tina.
Ressources officielles
Section intitulée « Ressources officielles »- Guide d’intégration de TinaCMS avec Astro (Anglais).
Ressources communautaires
Section intitulée « Ressources communautaires »- Kit de démarrage Astro Tina avec une édition visuelle (Anglais) par Jeff See + Dylan Awalt-Conley
- Kit de démarrage Astro Tina avec une édition basique (Anglais) par Tom Bennet
- Utiliser les optimisations d’images d’Astro avec Tina (Anglais)