ブログ記事内の補足的な説明テキストなどは、デフォルトでは非表示にしておいて、必要なときにクリックで開閉できるようにしておくとスッキリします。
このような UI コンポーネントは、アコーディオン (accordion) と呼ばれることが多いので、ここでは accordion
という名前のショートコードとして作成してみます。
accordion
ショートコードは次のように使うことを想定しています。
☝️ ワンポイント
本文のテキストを Markdown コードとして処理するためには、ショートコード名を
<
と >
ではなく、上記のように %
で囲む必要があります。下記は、accordion
ショートコードの実装例です。
クリックによる HTML 要素の表示/非表示の切り替えは、input 要素の状態による CSS の切り替えテクニック を利用しています。
label
要素と input
要素を結びつける ID には、Hugo の関数でランダムに生成した文字列 を使用しています。
上記の出力に合わせて、次のようなスタイルシートを読み込んでおく必要があります。 ここでは、SCSS によるスタイル記述が有効化 されていることを想定していますが、通常の CSS で記述しても大丈夫です。 表示スタイルはここで自由に変更できます。