Laravel es el framework más utilizado del ecosistema PHP
Laravel es el framework más utilizado del ecosistema PHP, integrándose con Markdown a través de excelentes paquetes como esta librería.
Laravel es el framework PHP más extendido. Laravel tiene un gran ecosistema y una gran comunidad, siendo útil para la creación de cualquier tipo de proyecto web.
Laravel incluye varias bibliotecas que permiten escribir y renderizar Markdown. Por ejemplo, podrás escribir contenido usando la sintaxis de Markdown en archivos de texto plano usando tu IDE favorito. Luego podrás renderizar estos archivos en una web. También podrás crear campos de texto en tus aplicaciones que acepten código Markdown y guardar estos contenidos en archivos .mdx
o en tu base de datos.
El paquete Laravel Markdown usa la sintaxis CommonMark, por lo que acepta una gran cantidad de elementos de la sintaxis Markdown. Además, también podrás insertar código HTML e incluso componentes blade en cualquier parte de tus documentos.
Si quieres aprender a crear un proyecto con Laravel que user Markdown, puedes consultar el tutorial en donde explico cómo crear un blog con Laravel y Markdown, en donde te guiaré por todos y cada uno de los pasos de la creación del proyecto.
También existen otros paqutes disponibles como el paquete Spatie Markdown.
Para instalar el paquete Laravel Markdown basta con que instales el siguiente paquete con composer:
composer require graham-campbell/markdown:^14.0
Podrás configurar varias opciones, como la extensión de los archivos, que podrás ser .md
, .md.php
o .md.blade.php
.
También podrás usar la sentencia @markdown
para insertar código Markdown en cualquier parte de tus vistas:
@markdown
## Esto se renderizará con Markdown
* También este elemento de la lista.
* y este.
Es muy sencillo.
@endmarkdown
También podrás configurar los marcadores para los elementos de las listas, pudiendo escoger entre los caracteres -
, +
y *
.
Si quieres mostrar código Markdown almacenado en tu base de datos, no te olvides de usar los caracteres de escape:
{!! $articulo->contenido !!}
Para instalar el paquete Markdown de Spatie basta con que instales el siguiente paquete con composer:
composer require spatie/laravel-markdown
Para personalizar las opciones de configuración del paquete, usa este comando:
php artisan vendor:publish --provider="Spatie\LaravelMarkdown\MarkdownServiceProvider" --tag="markdown-config"
Si quieres activar el resaltado de sintaxis, entonces debes instalar este paquete Shiki usando npm:
npm install shiki
Mediante Spatie Markdown podrás insertar código Markdown en cualquier lugar usando esta sintaxis en tus vistas:
<x-markdown>
# Un título
Esto es un [enlace a mi web](https://edulazaro.com)
</x-markdown>
Para mostrar código Markdown almacenado en tu base de datos, debes usar los caracteres de escape:
{!! $articulo->contenido !!}
La compatibilidad de Laravel con Markdown es excelente, soportando todos los elementos de la sintaxis básica de Markdown, así como los elementos de la sintaxis extendida, salvo alguna particularidad:
Elemento | Soporte | Notas |
---|---|---|
Encabezados | Sí | |
Párrafos | Sí | |
Saltos de línea | Sí | |
Negrita | Sí | |
Cursiva | Sí | |
Citas | Sí | |
Listas ordenadas | Sí | Puedes configurar los marcadores. |
Listas no ordenadas | Sí | Puedes configurar los marcadores. |
Código | Sí | |
Línea horizontal | Sí | |
Enlaces | Sí | |
Imágenes | Sí | |
HTML | Sí | Desactivado por defecto. |
Tablas | Sí | |
Bloques de código avanzados | Sí | |
Resaltado de sintaxis | Sí | |
Notas al pié | Sí | |
IDs de cabecera | Sí | |
Listas de definiciones | Sí | |
Texto tachado | Sí | Podrás usar tanto ~~dos guiones ondulados~~ como ~uno solo~ . |
Listas de tareas | Sí | |
Emojis (copiar y pegar) | Sí | |
Emojis (shortcodes) | No | |
Enlaces automáticos | Sí | |
Deshabilitar enlaces automáticos | Sí |
Laravel Markdown soporta también otros elementos no estándar de la sintaxis Markdown:
Elemento | Markdown | HTML | Resultado |
---|---|---|---|
Abreviaturas |
|
| La especificación HTML es mantenida por la asociación W3C. |
La mejor alternativa a Laravel que podrás encontrar quizás sea Hugo, que es un generador de sitios web estáticos que destaca por su velocidad. Otra opción similar es el generador de sitios web estáticos Jekyll. Para algo más avanzado puedes usar Next.js.
Si vas a usar Markdown para crear documentaciones y sabes algo de React, entonces Docusaurus es para ti. Si nunca has programado con React, siempre puedes usar MkDocs.
Si quieres saber más cosas acerca de Laravel, consulta los siguientes enlaces:
Más información acerca del paquete Laravel Markdown para Laravel:
Más información acerca del paquete Spatie Markdown para Laravel:
👋 Hola! Soy Edu, me encanta crear cosas y he redactado este tutorial. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirlo en Twitter.
Sígueme en Twitter para estar al día con mi contenido. 😊