リマインド駆動なツールをつくりたい
こっちでやる
4
名前
text reminder
todaros = today daily routine tasks
line
markdown
plain
REMIND
tereminder
text+reminder
teremin
てれみん
textの面影ほとんどないけど、xは打ちづらいし堅苦しいから入れたくないんだよなsta.icon
teminder
てまいんだー
これでいいかsta.icon
近いしね
https://gyazo.com/201a8bb455d6934598ee4d597968f4eb
-.icon
3
やりたいことが3つある
B: intervalなリマインドで所感入力 for drやYWの省力化
C: テキストリマインダーツール for リマインドもうちょっと簡単にしたいから
2でファイル2として洗ったのはC
Aはいいやって気がしてきた
できる気がしないsta.icon
何もなければCで動きますん
あとはB
これもそもそも省力化が間違いじゃね?
日々の振り返りなんだから頭使って取捨選択して書くのは当然では?感
Cでいくか
-.icon
2
汎用的なリマインダーツール
markdownファイルに一行書くだけで追加できる
リマインド時にやりたいこと
所感入力欄出す(書いてEnter押したら保存する)
シチュ
spot …… n分後に思い出させてくれ
event …… yy:mmに開始するのでn分前に思い出させてくれ
interval …… ~~の定期性に基づいて~~の指示をしてくれ
---
code:記法設計
自転車掃除 +120
pjA定例 1500 /15 /5
今やってることと所感を書け(うざいなら「うぜえ」とか書け) ★定期性指定どうやるか
ガチるとタスク管理ツールの世界なわけだが
定期性指定
n分ごと
@60 1時間ごと
有効時間帯
hhmm-hhmm
基準時間(いつからのn分ごとにするか)
now
hhmm
圧縮
@60
hhmm-hhmm 有効時間帯、かつ基準時間も指定
hhmm 基準時間のみ
adjust(リマインドの微調整)
「今日はもう出さなくていい」
「30分後にまた出してくれ」
code:記法
skip_until=2022/01/18 (リマインド内容は丸ごとコピーすればいい)
+30 (リマインド内容は丸ごとコピーすればいい)
で、当てはまらなくなったら消す(プログラムが)
ファイル
reminders.md
ここに書いていく
いやここ書いたら消えなくね?sta.icon
自転車掃除 +120とか消えないだろ
adjust_reminders.md
プログラムが更新する一時ファイル
ファイル2
reminders.md
ここに書く
一度書いたらプログラムが認識してマーク消す
code:reminders.md
自転車掃除 +120
pjA定例 1500 /15 /5
code:先頭にスペース入れるとマーク.md
自転車掃除 +120 ★これをプログラムが認識する
pjA定例 1500 /15 /5
code:認識後.md
自転車掃除 +120 ★認識したのでマーク消す
pjA定例 1500 /15 /5
このやり方だと貯められる
code:貯める.md
reminder1 +120 ★使いたいものはこっちに持ってきてスペース入れればいい(別に持ってこなくてもいい)
reminder (param) ★こっちに過去撃ったリマインド設定が貯まってる
reminder (param)
……
マークは?
一番かんたん。が、編集時の誤動作起きそう。いや起きていいか。
いやこれでも別に誤動作起きないだろ
いや、タブでインデントしたら起きるな
1spaceだったらマークにして、それ以外ならしない、でいいんじゃない?sta.icon
markdownエディタは4spaceベースなので、インデントだと反応しない
が、判定だるいな
これでいきますsta.icon*2
! 打つのちょっとだるい。shift押さないと行けないンゴ。が、編集時の誤動作は起きない。
- これがいいか?
+既に使ってるので紛らわしい
accepted_reminders.md
ここに書かれているのをプログラムがリマインドする
プログラムが死んだら全部失われちゃうので、一意な記法にする
code:たとえばこう
自転車掃除 +120 from=09:30:21
// 9:30:21 から 120 分後だとわかる
リマインド終わったら消す
-.icon
1
色々書いているが、ざっとまとめると
もっとリマインドをサクサク使えるようにしたい
レリマインド試したい
日々のdrやYWがだるいのでもうちょっと軽減したい
↑ このあたりの欲求や不満が出た
ではリマインド駆動なるものを深めてみようじゃないか、と軽率に始めた
リマインド駆動にする
単純な例では「1hごとに訪ねてくる」リマインド
続けたいならさっさと続ければいい
「ちょうどいいか、いったん休も」してもいい
が、前者の場合でもいったん所感の記録はさせたいsta.icon*2
1hだと単純に8h労働で8回つぶやきが出る
これは?1でつくることになるはずだsta.icon
リマインド内容の分類
デイリールーチンタスク(ここまでのセクションに当てはまる&未消化のもの)
レリマインド
予定開始前
記入要請(所感、YW)
remindeeに対する操作
内容に従う
無視
延長(n分後くらいにもう一度出してくれ)
Q: todarosベースでやるとしたら? ルーチンタスクのみ
デイリーリマインドリストを別途つくってそっちでやる
デイリールーチンタスクのリマインド contains also daily.mdへの追記
「デイリールーチンタスクをどうやってデイリーリマインドリスト機構に認識させるか?」sta.icon
todarosの書き方を踏襲できない
or パーサーを書くハメになってエグインゴね
毎日朝一でつくるしかないのでは?
が、くそだるよな
todaros側を拡張すればワンチャンある
セクションをprefixにする
code:a
a task1
a task2
a task3
b task4
c task5
c task6
f task7
これなら「セクションbまでリマインドする」的な実装も比較的楽にできる
ルーチンタスク記法なるものを定める必要があるなぁsta.icon*2
見えたかも
tasks.md
daily.md
_daily_rest_routines.md
最初は全ルーチン並べる
リマインド時、対象ルーチンは消す
daily.md側に追記する
で、これだけだと?1はしょぼい(sta.iconのモチベを維持できまい)から、もっと汎用的にするsta.icon