Styliser le rendu Markdown avec la typographie Tailwind
Vous pouvez utiliser le plugin Typography de Tailwind pour styliser le rendu Markdown à partir de sources telles que les collections de contenu (EN) d’Astro.
Cette recette vous apprendra à créer un composant Astro réutilisable pour styliser votre contenu Markdown en utilisant les classes utilitaires de Tailwind.
Prérequis
Titre de la section PrérequisUn projet Astro qui :
- a l’intégration Astro Tailwind installée
- utilise les collections de contenu (EN) d’Astro.
Mise en place de @tailwindcss/typography
Titre de la section Mise en place de @tailwindcss/typographyTout d’abord, installez @tailwindcss/typography
en utilisant votre gestionnaire de paquets préféré.
npm install -D @tailwindcss/typography
pnpm add -D @tailwindcss/typography
yarn add --dev @tailwindcss/typography
Ensuite, ajoutez le paquet en tant que plugin dans votre fichier de configuration Tailwind.
/** @type {import('tailwindcss').Config} */
export default { theme: { // ... }, plugins: [ require('@tailwindcss/typography'), // ... ],}
Recette
Titre de la section Recette-
Créez un composant
<Prose />
pour fournir un élément<div>
avec une balise<slot />
pour votre Markdown rendu. Ajoutez la classe de styleprose
ainsi que les modificateurs d’éléments Tailwind dans l’élément parent.src/components/Prose.astro ------<divclass="prose dark:prose-invertprose-h1:font-bold prose-h1:text-xlprose-a:text-blue-600 prose-p:text-justify prose-img:rounded-xlprose-headings:underline"><slot /></div> -
Interrogez votre entrée de collection sur la page où vous voulez rendre votre Markdown. Passez le composant
<Content />
deawait entry.render()
à<Prose />
en tant qu’enfant pour envelopper votre contenu Markdown dans les styles Tailwind.src/pages/index.astro ---import Prose from "../components/Prose.astro";import Layout from "../layouts/Layout.astro";import { getEntry } from 'astro:content';const entry = await getEntry('collection', 'entry');const { Content } = await entry.render();---<Layout><Prose><Content /></Prose></Layout>
Resources
Titre de la section ResourcesPlus de méthodes
-
Partage d'État
Apprenez à partager l'état entre les composants du framework avec les Nano Stores.
-
Ajouter un flux RSS
Ajoutez un flux RSS à votre site Astro pour permettre aux utilisateurs de s'abonner à votre contenu.
-
Installation d'un plugin Vite ou Rollup
Découvrez comment vous pouvez importer des données YAML en ajoutant un plugin Rollup à votre projet.
-
Créer un composant image personnalisé
Apprendre à construire un composant image personnalisé qui supporte les requêtes média en utilisant la fonction getImage.
-
Construire des formulaires avec des routes API
Apprendre à utiliser JavaScript pour envoyer les soumissions de formulaires à une route API.
-
Créer des formulaires HTML dans Astro Pages
Apprenez à construire des formulaires HTML et à gérer les soumissions dans votre frontmatter.
-
Use Bun with Astro
Learn how to use Bun with your Astro site.
-
Call endpoints from the server
Learn how to call endpoints from the server in Astro.
-
Vérifier un Captcha
Apprenez à créer une route API et à la récupérer auprès du client.
-
Construisez votre site Astro avec Docker
Apprendre à construire votre site Astro en utilisant Docker.
-
Dynamically Import Images
Learn how to dynamically import images using Vite's import.meta.glob function
-
Ajouter des icônes aux liens externes
Apprendre à installer un plugin rehype pour ajouter des icônes aux liens externes dans vos fichiers Markdown.
-
Add i18n features
Use dynamic routing and content collections to add internationalization support to your Astro site.
-
Ajouter l'heure de la dernière modification
Construire un plugin Remark pour ajouter l'heure de la dernière modification à votre Markdown et MDX.
-
Ajout du temps de lecture
Construire un plugin remark pour ajouter le temps de lecture à vos fichiers Markdown ou MDX.
-
Partage d'état entre composants Astro
Apprendre à partager des états entre composants Astro avec Nano Stores.
-
Utilisation de la diffusion en continu pour améliorer les performances des pages
Apprendre à utiliser la diffusion en continu pour améliorer les performances des pages.
-
Styliser le rendu Markdown avec la typographie Tailwind
Apprenez à utiliser @tailwind/typography pour styliser votre rendu Markdown.