バージョンアップ完了

バージョンアップ自体はあっさりと完了しました。
テーマフォルダをさくっと消して、git cloneで最新版を持ってきて終わり。

カスタマイズ

自分のサイト用にいくつかレイアウトやスタイルシートを修正しています。

Hugoにおけるカスタマイズの考え方

テーマフォルダの中身は触らず、変更したいファイルだけ所定の位置に複製して手直しします。
所定位置にファイルがあればそれを利用し、なければテーマフォルダのオリジナルファイルを利用するという動き方をしてくれます。

フォルダ構成

テーマフォルダ内のレイアウトやスタイルシート置き場
/themes/PaperMod/layouts
/themes/PaperMod/assets/css

優先される置き場所(カスタマイズ)
/layouts
/assets/css

記事の日付で悩む

デフォルトは記事内に記載の日付(ほぼ投稿日)が表示されます。

情報提供しているようなサイトですと、一度投稿した記事に修正を加えることが多々ありまして、最終更新日も表示したくなるんですよね。 来訪者も最新の情報なのか知りたいですし。

Hugoに用意されている便利なコマンド

.Lastmod.Format (default "2006-01-02")

.Lastmod.Formatで、最終更新日を取得し、default...で日付の表示方法を指定します。

PagerModに組み込む

PagerModの場合、post_meta.htmlでこれを記述していますが、記述方法が前バージョンから変わりまして、どう入れたものかと悩みました。

改めて前回のものを確認したら、今回のものと同じでした。どうやら自分で前回のものを書き換えていたらしいです・・・。

前回使っていた記述をそのまま使っても良いんですけど、せっかくならテーマに合わせて直すかということで。

初期値(上)に対して、修正(下)を加えました。

<!-- 元々はこちらの内容 -->
{{- $scratch.Add "meta" (slice (printf "<span title='%s'>%s</span>" (.Date) (.Date.Format (default "January 2, 2006" .Site.Params.DateFormat)))) }}
<!-- こちらの内容に変更しました -->
{{- $scratch.Add "meta" (slice (printf "<span title='%s'>Posted %s / Updated %s</span>" (.Date) (.Date | time.Format (default "2006-01-02" site.Params.DateFormat)) (.Lastmod.Format (default "2006-01-02")))) }}

printfが文字列の出力です。
<span>...と続くので、htmlを出力する感じですね。

printfのあとに%sが3回出てきます。
これは、そのあとに( )がスペース区切りで3つあるんですが、それらが左から順番に入っていきます。

%sは文字列を表しています。

これで期待通りの表示となりました。
めでたし。

この内容って・・・

ここまで普通に書いてたけど、内容的にはこっちか。まぁ、いいか。

k-kaz が Hugo で遊ぶサイト