Posez votre question et obtenez un résumé du document en referencant cette page et le Provider AI de votre choix
Historique des versions
- "Add `intlayerHTML` plugin object; use `app.use(intlayerHTML)` instead of `app.use(installIntlayerHTML)`"v8.5.024/03/2026
- "déplacer l'importation de {{framework}}-intlayer vers {{framework}}-intlayer/html"v8.5.024/03/2026
- "Ajouter HTMLRenderer / useHTMLRenderer / utilitaire renderHTML"v8.0.022/01/2026
- "Ajouter le support du parsing HTML"v8.0.020/01/2026
Le contenu de cette page a été traduit à l'aide d'une IA.
Voir la dernière version du contenu original en anglaisSi vous avez une idée d’amélioration pour améliorer cette documentation, n’hésitez pas à contribuer en submitant une pull request sur GitHub.
Lien GitHub de la documentationCopier le Markdown du doc dans le presse-papiers
Contenu HTML / HTML dans Intlayer
Intlayer prend en charge le contenu HTML, vous permettant d'intégrer du contenu riche et structuré dans vos dictionnaires. Ce contenu peut être rendu avec des balises HTML standard ou remplacé par des composants personnalisés à l'exécution.
Déclarer du contenu HTML
Vous pouvez déclarer du contenu HTML à l'aide de la fonction html ou simplement sous forme de chaîne de caractères.
Utilisez la fonction html pour déclarer explicitement du contenu HTML. Cela garantit que les balises standard sont mappées correctement même si la détection automatique est désactivée.
Copier le code dans le presse-papiers
Si la chaîne contient des balises HTML courantes (par exemple, <p>, <div>, <strong>, etc.), Intlayer la transformera automatiquement.
Copier le code dans le presse-papiers
Importez du contenu HTML à partir de fichiers. Notez qu'actuellement la fonction file() renvoie une chaîne, qui sera automatiquement détectée comme HTML si elle contient des balises.
Copier le code dans le presse-papiers
Le nœud html()
La fonction html() est une nouvelle fonctionnalité d'Intlayer v8 qui vous permet de définir explicitement du contenu HTML dans vos dictionnaires. Bien qu'Intlayer puisse souvent détecter automatiquement le contenu HTML, l'utilisation de la fonction html() offre plusieurs avantages :
- Sécurité de typage : La fonction
html()vous permet de définir les props attendues pour les composants personnalisés, offrant une meilleure autocomplétion et une vérification de type dans votre éditeur. - Déclaration explicite : Elle garantit qu'une chaîne est toujours traitée comme du HTML, même si elle ne contient pas de balises HTML standard qui déclencheraient l'auto-détection.
- Définition de composants personnalisés : Vous pouvez passer un deuxième argument à
html()pour définir les composants personnalisés et leurs types de props attendus.
Copier le code dans le presse-papiers
Lors de l'utilisation de la méthode .use() sur un nœud HTML, les composants que vous fournissez seront vérifiés par rapport à la définition fournie dans la fonction html() (si disponible).
Rendu du HTML
Le rendu peut être géré automatiquement par le système de contenu d'Intlayer ou manuellement à l'aide d'outils spécialisés.
Rendu Automatique (en utilisant useIntlayer)
Lorsque vous accédez au contenu via useIntlayer, les nœuds HTML sont déjà préparés pour le rendu.
Les nœuds HTML peuvent être rendus directement en JSX. Les balises standard fonctionnent automatiquement.
Copier le code dans le presse-papiers
Utilisez la méthode .use() pour fournir des composants personnalisés ou remplacer des balises :
Copier le code dans le presse-papiers
Dans Vue, le contenu HTML peut être rendu à l'aide du composant intégré component.
Copier le code dans le presse-papiers
Utilisez .use() pour les remplacements :
Copier le code dans le presse-papiers
Svelte rend les nœuds HTML sous forme de chaînes de caractères. Utilisez {@html} pour les rendre.
Copier le code dans le presse-papiers
Preact prend en charge les nœuds HTML directement dans le JSX.
Copier le code dans le presse-papiers
Solid prend en charge les nœuds HTML directement dans le JSX.
Copier le code dans le presse-papiers
Angular utilise la directive [innerHTML] pour rendre le contenu HTML.
Copier le code dans le presse-papiers
Utilisez la méthode .use() pour fournir des composants personnalisés ou remplacer des balises :
Copier le code dans le presse-papiers
Dans Remix 3, les nœuds HTML sont résolus en une chaîne HTML. Injectez-la avec la prop innerHTML de Remix JSX, ou avec html.raw dans une vue html-template.
Copier le code dans le presse-papiers
Copier le code dans le presse-papiers
Remix échappe les valeurs interpolées par défaut.innerHTMLethtml.rawsont les deux mécanismes d'exclusion, ce dont une chaîne HTML a besoin.
Utilisez la méthode .use() pour surcharger des balises ou mapper des composants personnalisés. Les surcharges sont des fonctions renvoyant une chaîne HTML :
Copier le code dans le presse-papiers
Dans Astro, les nœuds HTML sont résolus en une chaîne HTML. Injectez-la avec la directive set:html dans le template, ou avec innerHTML dans un <script> côté client.
Copier le code dans le presse-papiers
Copier le code dans le presse-papiers
Astro échappe les{expressions}par défaut.set:htmlest le mécanisme d'exclusion, ce dont une chaîne HTML a besoin.
Utilisez la méthode .use() pour surcharger des balises ou mapper des composants personnalisés. Les surcharges sont des fonctions renvoyant une chaîne HTML :
Copier le code dans le presse-papiers
Configuration Globale avec HTMLProvider
Vous pouvez configurer le rendu HTML globalement pour l'ensemble de votre application. C'est idéal pour définir des composants personnalisés qui doivent être disponibles dans tout le contenu HTML.
Copier le code dans le presse-papiers
Vous pouvez également utiliser votre propre moteur de rendu HTML :
Copier le code dans le presse-papiers
L'importation dynamique de votre moteur de rendu HTML est un bon moyen de réduire la taille du bundle de votre application.
Copier le code dans le presse-papiers
Vous pouvez également utiliser votre propre moteur de rendu HTML :
Copier le code dans le presse-papiers
L'importation dynamique de votre moteur de rendu HTML est un bon moyen de réduire la taille du bundle de votre application.
Copier le code dans le presse-papiers
Vous pouvez également utiliser votre propre moteur de rendu HTML :
Copier le code dans le presse-papiers
L'importation dynamique de votre moteur de rendu HTML est un bon moyen de réduire la taille du bundle de votre application.
Copier le code dans le presse-papiers
Vous pouvez également utiliser votre propre moteur de rendu HTML :
Copier le code dans le presse-papiers
L'importation dynamique de votre moteur de rendu HTML est un bon moyen de réduire la taille du bundle de votre application.
Copier le code dans le presse-papiers
Vous pouvez également utiliser votre propre moteur de rendu HTML :
Copier le code dans le presse-papiers
L'importation dynamique de votre moteur de rendu HTML est un bon moyen de réduire la taille du bundle de votre application.
Copier le code dans le presse-papiers
Vous pouvez également utiliser votre propre moteur de rendu HTML :
Copier le code dans le presse-papiers
L'importation dynamique de votre moteur de rendu HTML est un bon moyen de réduire la taille du bundle de votre application.
Remix n'a pas d'arbre de composants pour contenir un provider, la configuration est donc installée une seule fois, en tant que singleton, au démarrage du serveur. Elle configure le renderer renvoyé par useHTMLRenderer(). Les nœuds html renvoyés par useIntlayer sont rendus tels quels ; surchargez leurs balises par nœud avec .use().
Copier le code dans le presse-papiers
Utilisez installIntlayerHTMLDynamic(async () => …) pour charger le renderer lui-même de manière paresseuse ; le chargeur ne s'exécute qu'au premier appel.
Astro n'a pas d'arbre de composants pour contenir un provider, la configuration est donc installée une seule fois, en tant que singleton, dans le middleware (serveur) et dans un <script> côté client (navigateur). Elle configure le renderer renvoyé par useHTMLRenderer(). Les nœuds html renvoyés par useIntlayer sont rendus tels quels ; surchargez leurs balises par nœud avec .use().
Copier le code dans le presse-papiers
Utilisez installIntlayerHTMLDynamic(async () => …) pour charger le renderer lui-même de manière paresseuse ; le chargeur ne s'exécute qu'au premier appel.
Rendu Manuel et Outils Avancés
Si vous avez besoin de rendre des chaînes HTML brutes ou si vous voulez plus de contrôle sur le mappage des composants, utilisez les outils suivants.
Composant <HTMLRenderer />
Rendre une chaîne HTML avec des composants spécifiques.
Copier le code dans le presse-papiers
Hook useHTMLRenderer()
Obtenir une fonction de rendu pré-configurée.
Copier le code dans le presse-papiers
Utilitaire renderHTML()
Utilitaire autonome pour le rendu en dehors des composants.
Copier le code dans le presse-papiers
Composant <HTMLRenderer />
Copier le code dans le presse-papiers
Composant <HTMLRenderer />
Copier le code dans le presse-papiers
Hook useHTMLRenderer()
Copier le code dans le presse-papiers
Utilitaire renderHTML()
Copier le code dans le presse-papiers
Composant <HTMLRenderer />
Copier le code dans le presse-papiers
Hook useHTMLRenderer()
Copier le code dans le presse-papiers
Utilitaire renderHTML()
Copier le code dans le presse-papiers
Composant <HTMLRenderer />
Copier le code dans le presse-papiers
Hook useHTMLRenderer()
Copier le code dans le presse-papiers
Utilitaire renderHTML()
Copier le code dans le presse-papiers
Service IntlayerHTMLService
Rendre une chaîne HTML à l'aide du service.
Copier le code dans le presse-papiers
Hook useHTMLRenderer()
Obtenez une fonction de rendu préconfigurée par installIntlayerHTML(). Elle renvoie une chaîne HTML.
Copier le code dans le presse-papiers
Utilitaire renderHTML()
Utilitaire autonome qui ignore la configuration globale.
Copier le code dans le presse-papiers
Hook useHTMLRenderer()
Obtenez une fonction de rendu préconfigurée par installIntlayerHTML(). Elle renvoie une chaîne HTML.
Copier le code dans le presse-papiers
Utilitaire renderHTML()
Utilitaire autonome qui ignore la configuration globale.
Copier le code dans le presse-papiers
Référence des Options
Ces options peuvent être passées à HTMLProvider, HTMLRenderer, useHTMLRenderer et renderHTML.
Ouvrir le tableau dans une fenêtre modale pour voir tout le contenu clairement
| Option | Type | Défaut | Description |
|---|---|---|---|
components | Record<string, any> | {} | Une carte des balises HTML ou des noms de composants personnalisés vers les composants. |
renderHTML | Function | null | Une fonction de rendu personnalisée pour remplacer complètement le parseur HTML par défaut (fournisseurs Vue, Svelte, Remix et Astro). |
Note : Pour React et Preact, les balises HTML standard sont fournies automatiquement. Vous n'avez besoin de passer la prop components que si vous souhaitez les remplacer ou ajouter des composants personnalisés.