Go back
2 weeks ago

Markdown Dengan Laravel

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;

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());
}

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"

```';
Markdown::parse($markdownString)->toHtml()

Ada cara lain ? Ada dong, jadi selain kita pakai teknik yang di atas, alternatif nya, kita bisa menggunakan function dari pada str sepert berikut.

use Illuminate\Support\Str;
Str::markdown($markdownString);

Atau jika ingin lebih singkat, kita bisa pakai function dari pada class Str nya seperti berikut.

str($markdownString)->markdown();

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 &quot;Hello world&quot;\n

</code></pre>\n

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 🙂