Añadir iconos a enlaces externos
Usando un plugin de rehype, puedes identificar y modificar enlaces en tus archivos Markdown que apuntan a sitios externos. Este ejemplo añade iconos al final de cada enlace externo, para que los visitantes sepan que están saliendo de tu sitio.
Requisitos previos
Sección titulada “Requisitos previos”- Un proyecto de Astro que usa Markdown para páginas de contenido.
-
Instala tanto el plugin
rehype-external-linkscomo@astrojs/markdown-remark.Ventana de la terminal npm install rehype-external-links @astrojs/markdown-remarkVentana de la terminal pnpm add rehype-external-links @astrojs/markdown-remarkVentana de la terminal yarn add rehype-external-links @astrojs/markdown-remark -
Configura el plugin en tu archivo
astro.config.mjs.Importa
unified()y defínelo como el procesador de Markdown para soportar remark plugins. Luego, pasa arehypePluginsun array que contenga tu pluginrehypeExternalLinksimportado y un objeto de opciones con una propiedadcontent. Establece la propiedadtypede esta propiedad atextsi quieres añadir texto plano al final del enlace. Para añadir HTML al final del enlace en su lugar, establece la propiedadtypearaw.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: ' 🔗' }}],]}),},});El valor de la propiedad
contentno está representado en el árbol de accesibilidad. Como tal, es mejor dejar claro que el enlace es externo en el contenido circundante, en lugar de depender solo del icono.