メインコンテンツへスキップ

BlowfishテーマのArticleショートコードを常にカード表示にする方法

目次
HugoのBlowfishテーマでArticleショートコードを常にカード表示にするカスタマイズ方法です。List設定に依存せず、記事リンクをカード化できます。

BlowfishテーマにはArticleショートコードがあります。記事名・タグ・サマリーなどを表示した記事リンクを埋め込めます。
ただし、デフォルトではカードスタイルで表示するかどうかはparams.list.showCardsに依存します。このため、List表示と切り分けることができません。
結果として「Listは通常表示」「Articleショートコードはカード表示」といった使い分けが難しくなっています。

この記事では、Articleショートコードを常にカード表示にするための方法を紹介します。

環境
#

  • Windows 11
  • Git Bash
  • Hugo v0.150.0
  • Blowfish v2.90.0

ショートコードテンプレートの編集
#

テーマ内のショートコードテンプレートをプロジェクト側にコピーします。

Bash
cp themes/blowfish/layouts/partials/article-link/_shortcode.html layouts/partials/article-link/_shortcode.html

コピーしたファイル内の条件{{ if site.Params.list.showCards }}{{ if true }}に置き換えます。

layouts/partials/article-link/_shortcode.html
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{{ $articleClasses := "group-hover-card group flex flex-wrap md:flex-nowrap article relative" }}
{{ if true }}
  {{ $articleClasses = delimit (slice $articleClasses "border border-neutral-200 dark:border-neutral-700 border-2 rounded-md overflow-hidden") " " }}
{{ else }}
  {{ $articleClasses = delimit (slice $articleClasses "") " " }}
{{ end }}

{{ $articleImageClasses := "w-full md:w-auto h-full thumbnail nozoom" }}
{{ if true }}
  {{ $articleImageClasses = delimit (slice $articleImageClasses "") " " }}
{{ else }}
  {{ $articleImageClasses = delimit (slice $articleImageClasses "thumbnailshadow md:mr-7") " " }}
{{ end }}

{{ $articleInnerClasses := "" }}
{{ if true }}
  {{ $articleInnerClasses = delimit (slice $articleInnerClasses "p-2.5 pl-4") " " }}
{{ else }}
  {{ $articleInnerClasses = delimit (slice $articleInnerClasses "mt-3 md:mt-0") " " }}
{{ end }}

これでArticleショートコードは常にカード表示されるようになり、List表示設定に依存せずリッチな記事リンクをカード化できます。

prata0x
著者
prata0x
Game programmer

関連記事

日本語基準で記事の推定読了時間を計算するBlowfishテーマ用コード
Hugoでブログを作る手順
·
HugoでVS Codeを記事エディタに使う設定
·