2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravelのブログ開発でmarkdown対応させてみた

Last updated at Posted at 2020-08-04

はじめに

Laravelを使ってブログを開発している際に見出しや装飾を本文に反映させてみたいな
と思い、markdown対応させてみました。
至らない点がありますが暖かい目でみてやってください。

使用するmarkdown

Markdown Extraを使用します。
また、ライブラリはcebe\markdownを使用します。

markdown実装

markdownの実装自体は簡単なコードで完了します。

convertMarkdown.php
 $converter = new \cebe\markdown\MarkdownExtra();
 $String = $converter->parse("# AAA"); // <h1>AAA</h1>

Laravelプロジェクトに組み込む

convertMarkdown.phpで使用したコードをLaravelプロジェクトに組み込みます。
今回はブログでの使用なのでブログの本文が表示される画面で反映させたいので、
記事一覧画面(index.blade.php)と記事詳細画面(show.blade.php)に以下のコードを組み込みます。

index.blade.php&show.blade.php
<div class="body">
   @php
     $converter = new \cebe\markdown\MarkdownExtra();
     $item->contents = $converter->parse($item->contents);
   @endphp  
   {!! $item->contents !!}
</div>

{!! !!}でHTMLの要素をそのまま表示させています。(Laravel標準のhtmlspecialcharsを解除)

動作確認

記事一覧画面

markdown反映前
スクリーンショット 2020-08-04 19.50.55.png
markdown反映後
スクリーンショット 2020-08-04 19.52.48.png

#### 記事詳細画面
スクリーンショット 2020-08-04 19.54.39.png

markdown反映後
スクリーンショット 2020-08-04 19.55.22.png

終わりに

今回はLaravelを使ったブログにmarkdownを反映させる処理を書きました。
view部分にmarkdownの処理を書いたり、共通関数にしなかったりですっきりしたコードではないのですが、ひとまず実現できたのでOKとしています。
この記事に関して何かあればコメントや編集リクエスト投げていただけると幸いです!

参考文献

PHPでMarkdownをいい感じにやる
Laravel 5.5 Bladeテンプレート

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?