Craft CMS でテキストエリアの内容を表示してURLをリンクにする場合は markdown フィルタを使う #craftcms

Craft CMS を使っていて。
テキストエリアの内容を出力するのだけど、URLっぽい表記がある時はリンクさせたいといったときはどうするのがいいか調べてみた。

似たような変換の話は Retcon を使うようなのもあるが、今回のはちょっと違うかんじ。

結果的には Markdown フィルタに flavor を指定することでできた。
https://craftcms.com/docs/4.x/...

flavor には

  • original <<初期値
  • gfm
  • gfm-comment
  • extra

が指定できるっぽいのだけど、今の場合だと gfm-comment がURLもリンクにしてくれて、改行も br にしてくれてとりあえず十分な感じ。

markdown の記法ももちろん使える。

{{ entry.c_textarea | markdown('gfm-comment') }}

こんな感じで書けば

20230201 063959

この入力内容が

20230201 063950

こんな感じで出力される。

HTML的には

<p>サンプル3<br>
サンプル</p>
<p><a href="https://bit-part.net">https://bit-part.net</a><br>
リンクリンク</p>

こんな感じで出力される。

Redactor にするかなぁと諦めてたけど、とりあえずできてよかった。