タスクリンクV2の実装
名前は暫定
実装
書式
変更点
締め切り記法~を廃止。代わりに!を使う
取り出す情報
タスク名
開始日時
日付 or 日時
Date objectで返す
指定がないときはundefinedを返す
default値はparserで決めることではないので省く
(optional)終了日時
2023-09-17
13:33:51 暫定仕様で一旦完成
暫定仕様
記号の挿入位置を決める
開始日時の直前に連結する
✅[エンジニアの知的生産術買いたい-9@2023-09-12]
✅[-9@2023-09-12エンジニアの知的生産術買いたい]
❌[エンジニアの知的生産術買いたい-9 @2023-09-12]
❌[-9 @2023-09-12エンジニアの知的生産術買いたい]
終了日時/見積もり時間/繰り返し指定
開始日時の直後に連結する
「終了日時 or 見積もり時間→繰り返し指定」の順に連結する
後方互換性
行頭に✅❌があるタスクは完了.と同義とみなす
コード
なるべく正規表現一発でdetectしたいtakker.icon
リマインダ記号
/([\+\-!~.])(\d+)?/
開始日時
/@(\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2})?)/
終了日時
/\/((?:(?:(?:\d{4}-)?\d{2}-)?\d{2}(?:T\d{2}:\d{2})?)|\d{2}:\d{2})/
所要時間
/D(\d+)/
見積もり時間とは(何か機能がある)?
所要時間といったほうが正確かもtakker.icon
タスク(予定)に使う時間の長さを指定するtakker.icon
終了日時の代替
相対的に指定したいとき、開始日時なしで長さだけ指定したいときに使う
なるほどはるひ.icon
繰り返し
/R([YMWD])?(\d+)/)/
合体
/(?:([\+\-!~.])(\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+))?(?:R([YMWD])?(\d+))?/i
code:test-pattern
+3@2023-04-34
Edit the Expression & Text to see matches. Roll over matches or the expression for details. PCRE & JavaScript flavors of RegEx are supported. Validate your expression with Tests mode.
The side bar includes a Cheatsheet, full Reference, and Help. You can also Save & Share with the Community and view patterns you create or favorite in My Patterns.
Explore results with the Tools below. Replace & List output custom results. Details lists capture groups. Explain describes your expression in plain English.
後で実装するもの
いろんなパターンを一度に実装するのはつらいtakker.icon
高度な日付指定
曜日指定
/(\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2})?)(?:\((\+|-)?(\d+)\*(Sun|Mon|Tue|Wed|Thu|Fri|Sat)(?:(\+|-)(\d+))?\))?/で認識
yyyy-MM-00で月末
記号の順序を順不同にする or フォーマットを正式に決める
順不同が好ましいが、誤判定する恐れがあるtakker.icon
補助CSS
リンクの先頭にタスクの種類を絵文字で表示する
完了したタスクに✅をつける
code:style.css
content: "✅"
}
終わっていないタスクに⬜をつける
code:css
content: "⬜"
}
誤判定の可能性もあるが、とりあえず我慢する
悩み
未来の繰り返しタスクをずらしたいときどうするか
例:毎日08:00に家を出るが、来週の月水だけ07:00にしたい
実装方法
繰り返しタスクのページ内に、例外設定を記入する
cons: 例外設定が膨大になる?