En este tutorial, crearemos una función auxiliar en una aplicación Laravel para convertir contenido de Markdown a HTML usando la biblioteca league/commonmark. Cubriremos los pasos para crear un archivo auxiliar, incluirlo en nuestro proyecto Laravel y usarlo en una plantilla Blade. Este mecanismo se utiliza en Laravel 11 para que las funciones estén disponibles globalmente.
La alternativa es manejar la conversión de Markdown en el controlador antes de pasar los datos a la vista, por lo que ya no necesitamos crear un archivo auxiliar:
use League\CommonMark\CommonMarkConverter; public function show($id) { $course = Course::find($id); $converter = new CommonMarkConverter(); $post->description = $converter->convertToHtml($post->description); return view('post.show', compact('post')); }
Primero, instalamos la biblioteca league/commonmark a través de Composer:
composer require league/commonmark
A continuación, crearemos un archivo helpers.php para definir nuestra función auxiliar. Este archivo se puede colocar en el directorio de la aplicación o en cualquier otra ubicación preferida.
touch app/helpers.php
Abre app/helpers.php y agrega el siguiente contenido:
convertToHtml($markdown); } }
Para garantizar que Laravel cargue automáticamente el archivo helpers.php, debemos modificar el archivo compositor.json para agregar la ruta a helpers.php en la sección de carga automática:
"autoload": { "files": [ "app/helpers.php" ] }
Después de modificar Composer.json, regenere los archivos de carga automática de Composer ejecutando:
composer dump-autoload
Con la función auxiliar definida y cargada, ahora podemos usarla en las plantillas Blade para convertir Markdown a HTML:
{!! markdownToHtml($post->description) !!}
Este tutorial se proporciona para mostrar cómo podemos hacer que las funciones personalizadas estén disponibles en las plantillas Blade.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3