mirror of
https://github.com/narrrl/narl-workspace.git
synced 2026-11-03 16:41:27 +01:00
`:repeat weekly` gives a card a rule: daily, weekly, monthly, yearly, or every +Nd, +Nw, +Nm, +Ny. Finishing it, by a move into the last list or by the API's done, leaves a copy at the bottom of the inbox with the same title, notes, document and rule, due on the next date. The finished card gives its rule up in the same transaction, so reopening it and finishing it again makes no second copy. The next date is counted on the calendar in WORKSPACE_TIMEZONE, so noon stays noon across a change of the clocks, and months are counted from the old due date rather than step by step, so a card due on the 31st comes back on the 31st wherever a month has one. A card finished late skips the dates already past; one without a date counts from the moment it was finished. A move and an edit answer with `again`, the copy, so the status line can say when the card comes back. The board and the agenda show the rule as `↻ weekly`, the rail has a button for it, and `:` in the agenda now opens the line with the agenda kept up, so `:repeat` knows which card. The rule travels in `.workspace.json` without a format bump: an older build ignores the field and imports the card as one that does not repeat. An import drops a rule it cannot read.
6 lines
336 B
SQL
6 lines
336 B
SQL
-- A card that comes back: `daily`, `weekly`, `monthly`, `yearly`, or every
|
|
-- `+Nd`, `+Nw`, `+Nm`, `+Ny`. Finishing such a card leaves a copy in the
|
|
-- inbox with the next due date and clears the rule on the finished one, so
|
|
-- reopening it and finishing it again does not make a second copy.
|
|
ALTER TABLE cards ADD COLUMN repeat TEXT;
|