タスクリンクV2 のシステムと行動記録システムとを分離する
✅その日にあることが分かれば良くて、(やったやらないに関わらず)終了日時を過ぎたら気にしなくていいもの
例:講義の日程
対処:@を使えばいい。悩むとこなし
「スルー可能な予定」?はるひ.icon
そんなかんじtakker.icon
スルーした予定も一応日の終わりには振り返っておきたいはるひ.icon
翌日になるまでリストに残るようには……なってなかったやそういえばtakker.icon
やり残したリストを見れば把握できるのでそこまで困ってない
✅ちょっと気になって、そのうちやりたいと思ったこと
対処:-で済む。~でもいい
🤔締切はX日だかY日(Y<X)にやろうと決めていること
例:毎週水曜締切の問題演習があるが、毎週月曜に取り掛かることにしたい
対処:
!を使って、月曜から浮かび上がるようにする?
例:!3@2023-09-20
問題点
予定表作成基準がわからなくなる
浮かび上がった日付から予定表に入れるようにすればいい?
!3@2023-09-20なら、2023-09-17の予定表からこれが入るようになる
単純に気にかけておきたいために!を使う運用と干渉する
例:
締切の1ヶ月前からだんだん意識させたいので!30@2023-09-18とする
1ヶ月前にそれに取り掛かりたいわけではない
(今後実装予定のカレンダーUIとの干渉を懸念している)
!30@2023-09-18のタスクは、2023-09-18のタイムラインに入れるべきか、30日前のタイムラインに入れるべきか
締切を表すタスクと、作業用タスクとで別に作る?
例:
水理演習小テスト1,!@2023-09-18
水理演習小テスト1に回答する,+3@2023-09-11
別に作るのが妥当そうtakker.icon
タスクと日時は1対1対応させておく
方針検討
例:Aをテーマにしたレポート提出!35@2023-11-18
これに対する具体的な手順をサブタスクにする
repoを掘る+@2023-09-18T08:30D5
Aの文献を集める+@2023-09-19T08:30D40
主張を決める+@2023-09-20T08:30D20
概要を200文字で書く+@2023-09-21T08:30D30
絶対やる必要のあることだから!なのかな
そもそも!と+の使い分けって何?
非常にめんどくさくなるのでやめtakker.icon
ほぼすべてのタスクに対して、開始時刻決定用タスクを作る羽目になる
例:
[ハイウェイ惑星買おう+@2023-09-27]というタスクがあったとする
今2023-09-27だとして、「2023-10-03T08:00辺りに買おう」と決めたとする
その時新しく[ハイウェイ惑星買う@2023-10-03T08:00]を作る必要が生じる
元の[ハイウェイ惑星買おう+@2023-09-27]はいじれない
これを[ハイウェイ惑星買う@2023-10-03T08:00]に変えてしまうと、TODOから予定に変更されてしまい、想定していた浮沈方式が使えなくなる +のままならタスクリストに旬度0で表示され続けるが、@に変えると2023-10-04以降一切タスクリストに表示されなくなってしまう
やると決めた日を別途指定する
指定方法検討
✅リンクに含める
こっちにしたいtakker.icon
スーパーセットみたいな
2023-10-01不採用にした
タスク管理と予定&記録管理で別システムにするという案
リンクへ含める方法検討
語句の定義
「実行日時」やると決めた日、開始日時
「タスク」旬度を設定したもの
「予定」実行日時と終了日時がfixされているもの
決定
記法の検討
旬度@yyyy-MM-dd, 実行日時syyyy-MM-dd
/s(\d{2}:\d{2}|(?:(?:(?:\d{4}-)?\d{2}-)?\d{2}(?:T\d{2}:\d{2})?))(?:\/(\d{2}:\d{2}|(?:(?:(?:\d{4}-)?\d{2}-)?\d{2}(?:T\d{2}:\d{2})?))|D(\d+))?/i
年と月は省略可
旬度の基準日時と同じにする
旬度:yyyy-MM-dd, 実行日時@yyyy-MM-dd
/s(\d{2}:\d{2}|(?:(?:(?:\d{4}-)?\d{2}-)?\d{2}(?:T\d{2}:\d{2})?))(?:\/(\d{2}:\d{2}|(?:(?:(?:\d{4}-)?\d{2}-)?\d{2}(?:T\d{2}:\d{2})?))|D(\d+))?/i
@を実行日時指定に使い、旬度の基準日時指定は:に変える
旬度@yyyy-MM-dd, 実行日時@yyyy-MM-dd
同じ記号を使う
正規表現で区別できるはず
利点
文法
旬度/(?:([\+\-!~.])(\d+)?)@(\d{4})-(\d{2})-(\d{2})(?:T(\d{2}):(\d{2}))?(?:\/(\d{2}):(\d{2})|\/(?:(?:(?:(\d{4})-)?(\d{2})-)?(\d{2})(?:T(\d{2}):(\d{2}))?)|D(\d+))?/i
実行日時/@(?:(\d{2}):(\d{2})|(?:(?:(\d{4})-)?(\d{2})-)?(\d{2})(?:T(\d{2}):(\d{2}))?)?(?:\/(\d{2}):(\d{2})|\/(?:(?:(?:(\d{4})-)?(\d{2})-)?(\d{2})(?:T(\d{2}):(\d{2}))?)|D(\d+))?/i
順序
順不同
旬度を判定したあと実行日時を調べる
実行日時で略したパラメタは旬度のパラメタを継承する
実行日時と旬度とで重複する設定があるときは、実行日時のパラメタで上書きする
最終的に開始日時と終了日時が分単位で指定されるようにする
不足するパラメタがある場合は警告を出す
終了日時・所要時間を指定しなかった場合、defaultで所要時間10分だとして扱う
例
[ハイウェイ惑星買おう+@2023-09-27T12:30]
予定なし、タスクのみ
[ハイウェイ惑星買おう+@2023-09-27T12:30D10@]
2023-09-27T12:30から10分間、ハイウェイ惑星買おうする
旬度のパラメタをそのまま実行日時として使う
[ハイウェイ惑星買おう+@2023-09-27T12:30@D10]
2023-09-27T12:30から10分間、ハイウェイ惑星買おうする
実行日時側で予定の長さを指定する
[ハイウェイ惑星買おう+@2023-09-27T12:30D10@D20]
2023-09-27T12:30から20分間、ハイウェイ惑星買おうする
実行日時側で予定の長さを上書きする
[ハイウェイ惑星買おう+@2023-09-27D10@13:00]
2023-09-27T13:00から10分間、ハイウェイ惑星買おうする
開始/終了時刻のみ実行日時側で指定する
タスクで日付のみ指定し、イベントにするときに具体的な時刻をfixする運用
多分一番よく使われそうなパターン
[ハイウェイ惑星原稿締切!35@2023-10-27@09-28T13:00D50]
2023-10-27締切のタスクに2023-09-28T13:00から50分間取り組む
日付も上書きするタイプ
締切(前|を過ぎた)タスクを予定に入れる
[芋煮会@2023-10-01T13:00/16:00]
タスクなし、予定のみ
❌[ハイウェイ惑星買おう+@2023-09-27T12:30@]
終了日時を決定できないのでエラーを出す
❌[ハイウェイ惑星買おう+@2023-09-27D10@]
開始日時を決定できないのでエラーを出す
❌[ハイウェイ惑星買おう@2023-09-27]
開始日時を決定できないのでエラーを出す
[ハイウェイ惑星買おう.@2023-09-27]
完了したタスク
繰り返しタスクの検討
繰り返しタスクを「正規表現化されたタスク」と解釈し直す タスクリンクとは別の仕組みでつくる
イメージ
/(\*)?\?(\d{4})-(\d{2})-(\d{2})R([YMWD])?(\d+)/)/iでdetect
[ごはんを食べる@yyyy-MM-ddD45?2023-04-28RM]を展開すると
[ごはんを食べる@2023-04-28D45]
[ごはんを食べる@2023-05-28D45]
[ごはんを食べる@2023-06-28D45]
...
が生成される
タスクリンクにしたくない場合は*を入れる
[ごはんを食べる@yyyy-MM-ddD45*?2023-04-28RM]→
ごはんを食べる@2023-04-28D45
ごはんを食べる@2023-05-28D45
ごはんを食べる@2023-06-28D45