Aller au contenu

Référence des composants

@menestrel/astro expose quatre composants .astro. Importe-les depuis @menestrel/astro.

---
import { RichText, CmsImage, CmsSeo, MenestrelBadge } from '@menestrel/astro';
---

Rend un champ richtext depuis la whitelist TipTap : titres, listes, liens, gras, italique, images et vidéos.

Prop Type Description
value RichTextValue Le champ à rendre. Obligatoire.
class string Classe posée sur le conteneur.
videoTitle string Titre accessible des iframes vidéo (défaut Video).

Un nœud hors whitelist est ignoré avec un avertissement de build, jamais rendu tel quel. La feuille richtext-styles.css n’est pas importée d’office : ajoute-la dans ton layout si tu veux le style par défaut.

Rend un <picture> responsive à partir d’une référence d’image : plusieurs largeurs, AVIF et WebP, point focal en object-position.

Prop Type Description
image AssetRef La référence d’image. Obligatoire.
alt string Texte alternatif. Voir la garde ci-dessous.
sizes string Attribut sizes du <picture>.
widths number[] Largeurs à générer.
loading 'lazy' | 'eager' Stratégie de chargement.
fetchpriority 'high' | 'low' | 'auto' Priorité de récupération.
class string Classe du <picture>.
imgClass string Classe du <img>.

L’alt est une garde : s’il est absent et qu’aucun alt n’est porté par l’asset, le build échoue. Un alt="" explicite (image décorative) est accepté.

Écrit les balises <title>, <meta name="description">, <link rel="canonical"> et les balises Open Graph dans le <head>.

Prop Type Description
seo SeoValue Le champ SEO de l’entrée.
title string Titre de secours si le champ SEO n’en porte pas.

Sans titre ni seo.title, le build échoue : une page sans titre est une erreur, pas un défaut silencieux. Le canonical prend l’URL courante par défaut.

Un petit lien « Propulsé par Menestrel », présent par défaut dans le starter.

Prop Type Description
locale 'fr' | 'en' Langue du libellé (défaut fr).
class string Classe additionnelle.