✅todarosのタスクを俯瞰的に編集したい
とりあえず2案
案1:
案2:
tasks.mdtask @1
task @1 @2_1 @wed
task @wed @sat
task @27 @28 @29 @30 @31
task @27-31 ★こっちが優しいよね
案2、さっきひらめいたけど、一番良い気がしてきた
実装検討
行指向
行の解釈
split(' ')
で分ける
1文字目が @
のものは頻度指定とみなし、それ以外はタスク名とみなす
後者は ' '.join()
して一つのタスク名にマージ
前者は頻度データとして解釈
頻度データの解釈
その場で採用するか切り捨ててしまえばいい
例: 今日が 2021/12/26 sun の場合
@1
は採用(今日やるタスク)する
@2_1
は不採用
@2_2
は採用(_1を採用にしてもいい。スロットの選択アルゴリズム次第)
@sun
は採用
@wed
は不採用
@26
は採用
@27
は不採用
@25-27
は採用
そうすると、全行を解釈した時点で「採用された行」だけが残る
あとはこいつらを組み立てて daily.md に出せばいい
頻度の書き方
@1 1日
@2 2日
……
@e 毎日(Everyday だったらこれも日本語に寄せね?
@m 毎日(Mainichi
@h 平日毎日(Heijitsu
@k 休日毎日(Kyuujitsu
weekdayとかholidayとかweekendsとかややこしいやん
@mon
@tue
採用行たちをどう組み立てるか
たぶん「書かれている順番のとおり」がシンプルで良い
atask @m
task @h
task @h
task @k
task @k
task @wed
task @mon @fri
task @tue @sat
task @13
task @27-31
task @1 @10 @20
こんなふうに書けば、たとえばこうなる
outputtask @m
task @h
task @k
task @k
task @mon @fri
task @13
task @1 @10 @20
この場合は、毎日やる→平日やる→休日やる→曜日系→日系という順番
んー、微妙だなぁ
たとえば日曜日だけやる「朝一のタスク」が下の方に行ってしまう
これを上に寄せるためにはどうしたらいい?
いや、朝一のタスクから順番に書けばいいんだろ
ついでにコメントもサポートする# あさ
task @m
task @1 @10 @20
task @mon @fri
task @k
# にっちゅう
task @13
task @h
task @wed
task @h
# ゆうがたいこう
task @k
task @tue @sat
task @27-31
どう?
いいんじゃない?
自然だ
コメント
#
で始まる行は無視する
ファイル形式は?
.md markdownでいい?
それとも .todaros みたいな専用ファイルこしらえる?
こっちだと秀丸エディタなどエディタパワーで独自ハイライトできる
が、だるいか
markdownでいいよね
別に.txtでもいいけど、
が一番自然に扱えるのが.mdなのでmarkdownでいい
別にmarkdown記法には従わない
従うなら - task @1
みたいにリストで書くべきだろうし
で、コメントではなくセクションを # 朝
みたいに見出しで書く、みたいな設計になりそうだし(そこまでいくと煩雑でだるいよね)
いや、markdownがいい
コマンドライン
atodaros.py
-i --input 入力ファイル指定。デフォは tasks.md
-o --outout 出力ファイル指定。デフォは daily.md
出力時にコメント(アウトラインとして書かれた、おそらくはセクション)はどうする?
最悪出さない
できれば欲張りたい?
いや、要らないか
1日タスク数なんてたかが知れている
空行区切りもいったんはいらない
いける。
あとはtodarosとしてつくるか、それとも別のツールにしちゃうか。
todarosでいいか
今までのtodarosはnファイルに書いていたが、これを1ファイルに書くようにしたというだけの話
タグ切ってメジャーバージョンアップ扱いにしてしまう
手元のタスク達の退避
寝かせる zzz
もう書いてる 2021/12/26 14:00:16
記法迷うな……
a@m 毎日
@h 平日
@k 休日
@mon-sat 曜日指定
@1-31 日指定
あと @2 @3 あたりがほしい
n日ごとしたければfitだが、 fit:2/0
みたいなの書かせたくない
もまだまだこんがらがる
@2にはスロットが2つある
@3にはスロットが3つある
↑ ので、識別子5個つくればいい
これは?@ss1
@ss2
@sss1
@sss2
@sss3
これなら @4 以降もつくれる
@ssss1
@ssss2
@ssss3 @3のslot3(内部的には現在日を 4 で割ったあまりが 3 に一致したら「今日やる」とみなす
@ssss4 (あまりは4には一致しないので、あまりなし=0 に一致したら
直感的でわかりやすい。
パッと見わけわからんが、まあ慣れるしかないな……
inbox消化は @3 の slot1 に置いている
メールチェックstaは @2 の slot2 に置いている
@4はなくていいか。曜日直打ちにせい
区切りはタスク名なしの行をつくればいいか
いや、ダメだ、これだとsunday時しか出ない
***
?
markdown公式の区切り線
いや、違う違う
区切りが二つあるんだ
@sun ← これは日曜日のときだけ出現する区切り
***
← これは毎日入れたい区切り
前者はたとえばこうすればいい
こうすれば@30で行う月次レビュー系の塊を区切れる(そしてその区切りは30日にしか出てこない)
いや、前者やっぱり扱いづらいのでナシで
こんなんなる
よし、たぶん完成した
ファイルがスッキリした
しばらく手元で使って寝かせるzzz 2021/12/26 15:22:08
たぶんok 2021/12/27 18:43:56
安定してるのでもう公開できる 2022/01/06 20:06:11
気が向いたら
v0.1.0 アップロードした
せっかくだしテスト書く?