Neste tutorial, criaremos uma função auxiliar em um aplicativo Laravel para converter conteúdo Markdown em HTML usando a biblioteca league/commonmark. Abordaremos as etapas para criar um arquivo auxiliar, incluí-lo em nosso projeto Laravel e usá-lo em um modelo Blade. Este mecanismo é usado no Laravel 11 para disponibilizar funções globalmente.
A alternativa é lidar com a conversão do Markdown no controlador antes de passar os dados para a visualização, para que não precisemos mais criar um arquivo 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')); }
Primeiro, instalamos a biblioteca league/commonmark via Composer:
composer require league/commonmark
A seguir, criaremos um arquivo helpers.php para definir nossa função auxiliar. Este arquivo pode ser colocado no diretório do aplicativo ou em qualquer outro local de sua preferência.
touch app/helpers.php
Abra app/helpers.php e adicione o seguinte conteúdo:
convertToHtml($markdown); } }
Para garantir que o Laravel carregue automaticamente o arquivo helpers.php, precisamos modificar o arquivo compositor.json para adicionar o caminho para helpers.php na seção de carregamento automático:
"autoload": { "files": [ "app/helpers.php" ] }
Depois de modificar o compositor.json, gere novamente os arquivos de carregamento automático do Composer executando:
composer dump-autoload
Com a função auxiliar definida e carregada, agora podemos usá-la nos modelos Blade para converter Markdown em HTML:
{!! markdownToHtml($post->description) !!}
Este tutorial é fornecido para mostrar como podemos disponibilizar funções personalizadas em modelos blade.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3