過去的方法和問題
在之前,如果你想在 Notion 的資料庫中構建間隔重複任務,最好的方法就是用資料庫的「重複模板」來定期生成任務:

但是這樣一來就存在兩個問題:
- 即便上一個任務沒有完成,下一個任務也會自動生成
- 定期生成的任務會塞滿資料庫
不過在 Notion 的自動化(Automation)以及按鈕(Button)支援了函數變數之後,我們終於可以構建更加高效和聰明的間隔重複任務了。
效果演示
- 可以自訂「間隔天數」
點擊「打卡」按鈕後,就會將「下次打卡日期」修改為間隔天數後的日期。例如下圖,初始的打卡日期都是 12 月 14 號,間隔天數則各自為 1、2、3 天,點擊「打卡」後,就會各自變成 15、16、17 號:

- 打卡之後,可自動生成打卡子項目

- 可以統計總的打卡次數

在「圖庫」視圖下,會更像打卡的卡片

- 有打卡日期,顯示下次的打卡日期

並且最重要的是,因為我們是直接修改了這個打卡任務的日期,所以不會額外生成一堆新的打卡任務,避免讓這個日曆視圖變得非常臃腫混亂。
- 有一個單獨的日曆視圖,用來顯示所有生成的打卡子項目,便於你回顧在什麼日期都打了什麼卡

實現原理
上述所有動作全都封裝在一個按鈕中,我們來一步步拆解這個按鈕。
定義變數
變數 1
因為我們需要在子項目(sub-items)中,生成當前打卡任務的打卡記錄,並且希望子項目的標題(Title)與主項相同,所以我定義了一個變數,將主項的名稱賦值給這個變數

變數 2
因為我們希望在打卡之後,能夠將「下次打卡日期」加上間隔的天數,所以需要再定義一個變數,變數的值如下:

這裡涉及到兩個函數:
- dateAdd
- toNumber
變數 3
因為我們希望每次點擊「打卡」按鈕後,總的打卡次數可以 +1 ,那麼最簡單的辦法就是在像下圖這樣,定義一個「完成加一」的變數

建立打卡子項目
-
因為希望打卡子項目的標題名稱可以跟主項一樣,所以需要將子項目的標題名稱設置為「變數 1」。
-
因為希望子項目能夠放在主項下面,所以需要將子項目的關聯(Relation)設置為當前頁面(即觸發動作的這個主項頁面)
-
將子項目的打卡日期設置為動作的觸發日期

編輯主項
-
將下次打卡日期設置為「變數 2」
-
將完成次數設置為「變數 3」

這樣一來,就可以實現如本文開頭所說的間隔重複打卡效果了。
間隔重複模板
- 模板連結:點我
📘 FLO.W 思流 — Notion 個人管理系統
FLO.W 是一套基於 Notion 搭建的個人管理模板,整合了任務、筆記、項目、習慣等模組,並配有完整的圖文影片教程。


