Middlemanでstrip_tagsを使ってサマリーをplain textにする方法

middleman

一覧ページのサマリー部分にタグはいらない

この画像は本ページの一覧ページの一部です。

一覧ページbofore

この画像の赤で囲っている部分は、

  1. h2タグが強調されてしまっている。
  2. リンクが表示されてしまっている。

という問題があります。(画像の数字に対応しています)
ただサマリーを表示したいだけなので、余計な装飾やリンクは不要です。

こうなってしまっている理由は、以下のように直接記事のサマリーを表示しているからです。

1
= article.summary

これは、記事内のという文字列がある部分までのhtmlを直接出力します。h2aなどのタグがあってもそのまま表示してしまいます。

strip_tagsを使ってタグ取り除いてplain textにできる

Railsにはstrip_linksというメソッドでaタグを取り除けます。Middlemanにはこのメソッドはないのですが、strip_tagsというタグ全てを取り除くメソッドがあります。

下のようにするとタグを取り除くことができます。

1
= strip_tags article.summary

下の画像のように、全く装飾やlinkがないサマリーになりました。

一覧ページafter

羊毛や小麦