Hugoで記事が一年以上過ぎた場合はnoticeを表示するようにした
2019-11-12 |
2020-5-14 |
2 min read
Contents
この記事は、1年間更新されておりません。
TL;DR
以下の書き方で実装可(⚠️Bulma
での実装)
|
|
- Hugo 公式の
.Unix
ページを見よ
はじめに
唐突に、「記事が老朽化している表示」はほしいなと思い、色々と検索して実装ができた感じです。Go
のテンプレートエンジンにだけ詳しくなっていく…
方法
一番上に書いてあるとおり、
|
|
で実装できる。
実際の表示はこんな感じ 😗
多分上記のコードを読んだらわかると思いますが、一応解説します。
|
|
ここでは、
- 現在時刻の Unix 時刻と最終更新の Unix 時刻を取得して、引く
- 記事を更新してから何秒経過したのかがわかるので、31536000 秒(一年=365 日で計算)で割り、時刻を年単位変換します。
- $year 変数に代入
を行っています。
後は、1 年以上かどうかで if 文判定して表示している感じです。
Hugo の.Unix
ページに書いてあったのになぜもっと早く見ておけばよかった。公式ページでは 1 日を算出しています。
計算が面倒くさい人用に、早見表を参考に置いてます。