はじめに
Yuka さんのまいにち Notion の No. 7 が公開されました。今回は繰り返しタスクの作り方でした。 この動画では二つの方法が紹介されており、一つ目は実際にタスクを簡単に複製するやり方、二つ目はリマインダ的にその日にやる作業を表示させるものでした。
二つ目の方法に着いては、最初のイベント日にしかタスクが表示されないという欠点があると紹介していましたが、少し工夫するとその問題が解決できたので、報告しておきます。
ちなみに、私の最終形態はこんな感じです。Yuka さんのサンプルテンプレートを Duplicate してテストしているので、私が実施するわけではない「ヨガ」などが入っていますが気にしないでください。私の場合は、繰り返しタスクというより、リマインダとしてタスクの下に表示する形にしました。どうしてもタスク化したい(個別にページを作成したい)ものであれば、上のタスクで「+ New」をすればよいという形です。
リマインダ Table への Formula の追加
早速 Yuka さんの Notion からテンプレートをダウンロードし、内容を確認しました。元のテンプレートでは、繰り返しのインターバルを示すセレクタから数値を取り出しています。そのインターバルの数値と基準日から、次にそのタスクをやる日を作成していました。この方法だと、タスクをやる日は一日しか作成できないため、マッチした最初の日にしかタスクが表示されないという欠点があるとのことでした。
そこで、リマインダテーブルを以下のように変更してみました。
考え方としては、開始日から今日までの日数を計算し、interval で割り切れたらその日のタスクとするというものです。Formula は以下のものを作成しました。
- dayCountToday (開始日から今日までの日数を得る)
dateBetween(dateSubtract(dateSubtract(now(), hour(now()), "hours"), minute(now()), "minutes"), prop("開始日"), "days")
- interval 繰り返しセレクタから数値を得る (Yuka さんの Formula を流用)
toNumber(replaceAll(prop("繰り返し"), "[^0-9]", ""))
- 今日 (今日やるか?)
mod(prop("dayCountToday"), prop("interval")) == 0 or prop("dayCountToday") == 0
- 明日 (明日やるか?)
mod(prop("dayCountToday") + 1, prop("interval")) == 0 or prop("dayCountToday") + 1 == 0
- 明後日 (明後日やるか?)
mod(prop("dayCountToday") + 2, prop("interval")) == 0 or prop("dayCountToday") + 2 == 0
以下は同じなので省略します(Launchpad に合わせて来週まで作ってあります)。
Launchpad での描画
このリマインダの Linked database を下図のように Launchpad のタスクの下に配置します。前回作成した週報は 1 週間に一度作成しなければならないので、このリマインダを追加してあります。これをみて、前回作成した週報作成ボタンを押せば、来週の週報が作成されることになります。
このリマインダのフィルタはこんな感じです。リマインダで作成した日ごとのフラグと、Done が付いていない時に表示するようにしています。終わったリマインダは削除するよりも Done をチェックした方が日常的には使いやすいと思ったからです。いつやっていたかという記録にも残りますからね。
おわりに
繰り返しタスクではなく、リマインダという形での利用になりましたが、これはこれで使いやすいと思いました。アイディアをいただいた Yuka さんに感謝です。また、今後もいろいろな動画を期待しています。