Hexoで記事本文を抜粋表示する

トップページなどで、記事タイトルの下に本文冒頭の数十文字が抜粋表示されているアレをHexoでも表示させる方法。

実装方法

あらじめHelperとして用意されている、strip_html()truncate()の2つの関数を組み合わせれば簡単に実現できます。

strip_html()は記事データからHTMLタグを丸々取り除く関数です。ここに記事本文のデータを渡せば生の文章に変換できます。

その変換したデータをtruncate()に渡せば抜粋表示の完成です。lengthで何文字で切り取るかを指定できます。

<%= truncate(strip_html(post.content), {length: 80}) %>

post.contentはテンプレートに依って違うものになると思いますが、記事ページであればpage.contentなど、とにかく抜粋表示させたい文章が入っている変数を入れればOKです。