Guía Markdown de Laravel

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.

Acerca de Laravel

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.

Imagen de Laravel

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.

Cómo user Laravel 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 !!}

Cómo usar Spatie Markdown

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 !!}

Soporte Markdown de Laravel

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:

ElementoSoporteNotas
Encabezados
Párrafos
Saltos de línea
Negrita
Cursiva
Citas
Listas ordenadasPuedes configurar los marcadores.
Listas no ordenadasPuedes configurar los marcadores.
Código
Línea horizontal
Enlaces
Imágenes
HTMLDesactivado por defecto.
Tablas
Bloques de código avanzados
Resaltado de sintaxis
Notas al pié
IDs de cabecera
Listas de definiciones
Texto tachadoPodrás usar tanto ~~dos guiones ondulados~~ como ~uno solo~.
Listas de tareas
Emojis (copiar y pegar)
Emojis (shortcodes)No
Enlaces automáticos
Deshabilitar enlaces automáticos

Soporte adicional de Laravel

Laravel Markdown soporta también otros elementos no estándar de la sintaxis Markdown:

ElementoMarkdownHTMLResultado
Abreviaturas
*[HTML]: Hyper Text Markup Language
La especificación HTML es mantenida
por la asociación W3C.
La especificación
<abbr title="Hyper Text Markup Language">HTML</abbr>
es mantenida por la asociación W3C.
La especificación HTML es mantenida por la asociación W3C.

Alternativas a Laravel

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.

Más información

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.

para estar al día con mi contenido. 😊