Share
Dalam artikel ini kita akan bahas bagaimana merender markdown dengan menggunakan laravel dengan tidak menggunakan third-party package. Jadi disini, jika kalian install laravel, itu langsung ada markdown package yang dibawanya. Sehingga kita hanya tinggal menggunakannya saja.
Pertama Anda bisa menggunakan Markdown
dari bawaan Mail
seperti berikut.
use Illuminate\Mail\Markdown;
phpCopy
Kemudian, jika kita lihat class Markdown
tersebut, ada terdapat metode yang namanya parse, yang akan merubah markdown syntak ke html.
Berikut ini adalah function nya
public static function parse($text) { $environment = new Environment([ 'allow_unsafe_links' => false, ]); $environment->addExtension(new CommonMarkCoreExtension); $environment->addExtension(new TableExtension); $converter = new MarkdownConverter($environment); return new HtmlString($converter->convert($text)->getContent()); }
phpCopy
Yang oleh karena itu, bisa kita manfaatkan untuk merender string ke dalam html string dengan cara seperti ini.
use Illuminate\Mail\Markdown; $markdownString = ' # Hello world * One * Two * Three ```php echo "Hello world" ```md Markdown::parse($markdownString)->toHtml()
mdCopy
Ada cara lain ? Ada dong, jadi selain kita pakai teknik yang di atas, alternatif nya, kita bisa menggunakan class Str
seperti berikut.
use Illuminate\Support\Str; Str::markdown($markdownString);
phpCopy
Atau jika ingin lebih singkat, kita bisa pakai function dari pada class Str
nya seperti berikut.
str($markdownString)->markdown();
phpCopy
Dengan itu, output dari markdown di atas, kira kira akan jadi seperti ini.
<h1>Hello world</h1>\n <ul>\n <li>One</li>\n <li>Two</li>\n <li>Three</li>\n </ul>\n <pre><code class="language-php"> echo "Hello world"\n </code></pre>\n
mdCopy
Jadi, dari pada kita capek cari package untuk render markdown syntax nya, baik kita gunakan saja bawaan yang diberikan oleh laravel.
Semoga artikel ini bermanfaat ya, share jika kalian suka 🙂