Ajouter des icônes aux liens externes
En utilisant un module d’extension Rehype, vous pouvez identifier et modifier les liens dans vos fichiers Markdown qui pointent vers des sites externes. Cet exemple ajoute des icônes à la fin de chaque lien externe, afin que les visiteurs sachent qu’ils quittent votre site.
Prérequis
Section intitulée « Prérequis »- Un projet Astro utilisant Markdown pour les pages de contenu.
-
Installez le module d’extension
rehype-external-linkset@astrojs/markdown-remark.Fenêtre du terminal npm install rehype-external-links @astrojs/markdown-remarkFenêtre du terminal pnpm add rehype-external-links @astrojs/markdown-remarkFenêtre du terminal yarn add rehype-external-links @astrojs/markdown-remark -
Configurez le module d’extension dans votre fichier
astro.config.mjs.Importez
unified()et définissez-le en tant que processeur Markdown pour prendre en charge les modules d’extension remark. Ensuite, transmettez àrehypePluginsun tableau contenant votre module d’extensionrehypeExternalLinksimporté et un objet d’options avec une propriétécontent. Définissez letypede cette propriété surtextsi vous souhaitez ajouter du texte brut à la fin du lien. Pour ajouter du HTML à la fin du lien, définissez la propriététypesurraw.astro.config.mjs import { unified } from '@astrojs/markdown-remark';import { defineConfig } from 'astro/config';import rehypeExternalLinks from 'rehype-external-links';export default defineConfig({// ...markdown: {processor: unified({rehypePlugins: [[rehypeExternalLinks,{content: { type: 'text', value: ' 🔗' }}],]}),},});La valeur de la propriété
contentest non représentée dans l’arbre d’accessibilité. Il est donc préférable d’indiquer clairement que le lien est externe dans le contenu qui l’entoure, plutôt que de se fier uniquement à l’icône.