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 日を算出しています。
計算が面倒くさい人用に、早見表を参考に置いてます。