En esta guía, aprenderá cómo usar transformadores para el resaltador de sintaxis de Shiki en una aplicación Astro. Pasará por el proceso de configurar un nuevo proyecto Astro, instalar los transformadores para Shiki y representar las adiciones y eliminaciones de código. También aprenderá cómo centrarse en líneas específicas de una manera visualmente atractiva
Requisitos previos
Necesitará lo siguiente:
- Nodejs 18 o posterior
Tabla de contenido
- Crear una nueva aplicación Astro
- [Integra Transformers para Shiki en tu proyecto Astro](#integra transformadores-para-shiki-en-tu-proyecto-astro)
- [Crea y prueba tu aplicación Astro localmente](#construye y prueba-tu-aplicación-astro-localmente)
Crea una nueva aplicación Astro
Comencemos creando un nuevo proyecto Astro. Ejecute el siguiente comando:
npm create astro
es la forma recomendada de desarrollar rápidamente un proyecto Astro
Cuando se le solicite, elija:
Empty
cuando se le pregunta cómo iniciar el nuevo proyectoSí
cuando se le pregunte si planea escribir TypecriptEstricto
cuando se le pregunta qué tan estricto debe ser Typecript.Sí
cuando se le solicita instalar dependenciasSí
cuando se le solicita inicializar un repositorio de git
Una vez hecho esto, puede ir al directorio del proyecto e iniciar la aplicación:
La aplicación debería estar ejecutándose en localhost:4321
Ahora, pasemos a integrar transformadores para Shiki en tu aplicación Astro.
Integra Transformers para Shiki en tu proyecto Astro
Instalar transformadores para Shiki
Ejecute el siguiente comando para instalar el paquete necesario para usar transformadores para Shiki:
El comando instala la siguiente biblioteca:
@shikijs/transformers
: Una colección de transformadores para shiki
Esa es la única biblioteca necesaria para representar el código de una manera visualmente atractiva. Actualicemos nuestra configuración de Astro para cargar estos transformadores.
Cargar transformadores para Shiki en configuración Astro
Para ver los transformadores de Shiki vigentes, importe lo siguiente en su archivo de configuración de Astro (astroconfigmjs
)
transformerNotationDiff
: Le permite representar un cambio en una línea de códigotransformerMetaHighlight
: Le permite resaltar una línea de códigotransformerNotationFocus
: Le permite enfocar una línea de código
Para demostrar el uso de estos transformadores, creará un archivo de rebajas en el directorio src/content/blog
. Creemos un samplemd
dentro del directorio (src/content/blog
) con el siguiente contenido:
En la rebaja, verá que las líneas que deben representarse de manera diferente tienen cadenas tipo comentarios. Aquí están esas tres cadenas:
// [!code --]
: Le permite especificar qué línea debe representarse como una eliminación// [!code ++]
: Le permite especificar qué línea debe representarse como una adición// [!code focus]
: Le permite especificar qué línea debe estar enfocada. Esto se hace difuminando el resto de las líneas del código.
Estas cadenas específicas generan una clase CSS con la línea que necesitamos definir nosotros mismos. Definamos el CSS particular requerido en el archivo src/pages/indexastro
:
Básicamente, ha agregado un conjunto de clases que eligen cómo se vería una línea agregada, eliminada o enfocada. Ahora, renderice la reducción usando el resaltado de sintaxis Shiki predeterminado en Astro.Para hacerlo, realice las siguientes adiciones en la ruta del índice:
¡y listo! Como ha visto en este blog, podrá ver una representación visualmente atractiva de la adición y eliminación de código.
Cree y pruebe su aplicación Astro localmente
Para probar la aplicación, prepare una compilación y ejecute el servidor de vista previa usando el siguiente comando:
Conclusión
En esta guía, aprendió cómo usar Transformers para Shiki en una aplicación Astro para enfocarse en líneas de código específicas y resaltar de una manera visualmente atractiva las adiciones y eliminaciones de código.
Si tiene alguna pregunta o comentario, no dude en comunicarse conmigo en Twitter