W16の写真の整理が間に合わなかったので、いつも週ごとの日記=週報を書いている手順を紹介してみる。需要はないかもしれない。
週報を書く
週報は、スプレッドシートを使ってテンプレートを作成している。
このスプレッドシートは、年と週番号を入力するとそれに合わせた日付、日付に連動するリンク(Twitterの検索クエリ、はてなブックマーク)が動的に求められるように作っていて、決まった情報はこのスプレッドシートで週報のフォーマットとして楽に取得できる。最初にこのテンプレートを取り入れたのは2018年ぐらいだったような……それ以来アップデートをちょくちょくしている。毎週日付や曜日、関連リンクを手入力していると、たぶんここまで続いていなかったかもしれない。
これをはてなブログのエディタにコピーアンドペーストして、あとは1週間を振り返って文章を書いたり、調べ物をしたり、写真を配置したり、はてなの動きを収集したりして残す、というような流れ。
年と週番号から、その週の日付を得る
このスプレッドシートで重要なのは、その週番号が何日から始まるのか、ということ。直接それを得る関数は用意されていないので、年と週番号からその週番号の最初の日付を取得するApps Script(≒Javascript)を自作した。年と週番号は手入力してその週の最初の日付が決まり、あとは下向きに+1ずつして1週間の日付を取得している。以下にコードを共有するのでご参考まで。(「$adj」という変数名は、確か「adjust」から付けた気がする。忘れた)
function week_start_date($year, $week_number) { $time = new Date($year+"-01-01"); $week = $time.getDay(); switch(true) { case $week>4 : $adj = 8-$week; break; case $week==0 : $adj = 1; break; default: $adj = 1-$week; break; } $week_number--; $time.setDate($time.getDate()+$adj+($week_number*7)); return $time; }
ん?「週番号」?
さらっと「週番号」という言葉を使っているけど、そちらについては下記の記事を参照のこと。