バージョンアップ完了
バージョンアップ自体はあっさりと完了しました。
テーマフォルダをさくっと消して、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
は文字列を表しています。
これで期待通りの表示となりました。
めでたし。
この内容って・・・
ここまで普通に書いてたけど、内容的にはこっちか。まぁ、いいか。