Tritask-scrapbox
まとめ
まずはこれをつくってみて感触と知見を得ます
sta.iconUserScript知らないせいで発想が広がらないところもある
もう使ってないけど、形にはしてる
hr.icon
野望
この作業をScrapbox上でオープンにやりたい
「コイツやべえ、Scrapbox上でガチのタスク管理してやがる!」 ← これを見せたい
改めて、tritask-scrapbox つくりたい
公開まで踏まえたやつ
どうせなら僕も(1ファイル全部入りソートではなく)「Scrapboxだからこそ考えるべきこと」を突き詰めてみたい
bra
concept
triであるということ
今日、明日以降、昨日以前
今日と明日以降は自由に行き来できる
文章書くみたいにガシガシ編集できること
要らん
データ形式
2ステップキーアクセス
ぶっちゃけだるい
要らん?
ソート駆動
たぶん別の概念入れるべき
直感だが、Scrapboxでやる場合、あちこち自由に行き来してどうにかする感じが良い気がしている
僕が実際に使うブツじゃないと自己満で終わる気がする
bra2 aftrer trying takker
まとめ
1-task 1-page が scrapbox らしくて、ぜひこれで進めたい
これはたぶんtakkerさんがそのうち実現してくれるのであやかるダメです、window.openが限界
or 指定文字列書き込まなくても済む仕組みを考えるしかない
sortとwalk dayは切り離せない
仮に「sort使いません」ルールしてみるとして、どんな設計にすべき?
1-page 1-day
[2021/01/07] こんなページ名
この中に 2021/01/07 のタスクを並べる
新規と追記
sta.iconページ遷移がだるいな
今日と今日以外は一日何十回も行き来する
1秒さえも辛い
1-page 1-week(7-day)
これなら遷移頻度を比較的押さえられる
でも今日が日曜日だと次が月曜日で別ページなのでダメ
今日が 2021/01/07 だとして
[today]
[tomorrows]
[2021/01/06]、[2021/01/05]、……
デイリータスクリストを1pageに入れるのは良い
明日以降も、数はそうないから1pageで俯瞰できると嬉しい
強いロボットならもうちょっとありそう、でも300もないだろう 過去タスクは1日単位で分ければいい
scrapboxなのでケチケチしなくていい
俯瞰したいならexportしてから煮るなり焼くなりすればいい
sta.iconタスク移動操作がえぐくないか
「特定の行(文字列)を別のページに書き込む」ってできるん?
つまりpost?
ないよな
伏せられてる&非公式でグレーだなぁ
window.open(${projectRoot}/${title}?body=${body})
ああ、postは入れたくないから妥協して……ってshokaiさんが書いてたやつか
1-task 1-page
before(1-task 1-line)
2021/01/07 thu 21:17 21:17 task1
after
code:task1.scrapbox
task1
この辺に開始終了を書く?
つまり属性をページ中に書き込む
sta.icon*3scrapboxらしいやん
start time したら「(start time を書く場所である)n行目にジャンプして時間入れて」 ← こういう路線
2021/01/07ページ
基本的にここにこもる
sta.iconだー、やっぱり別ページに指定文字列を書き込む操作が必要だなぁ
#2021/01/07todo がついている = まだ終了していない
end task したときにこのタグを消す
2021/01/07todoページのlinksから見えなくなる
bra3、指定ページに指定文字列書き込まなくても済む 1-task 1-page 案
前提
scrapbox + taskchuteは本質的に煩雑になりそうなので、taskchute側(タスク管理側)は極力シンプルにする
ワンオペにする
見積もり系も入れない
sta.icon扱うタスクもある程度前提つくりたい
たとえば「トイレする」「コップ一杯水飲む」「カーテン開ける」「布団たたむ」「レトルトご飯レンチン」「昨日の睡眠状況を日記に書く」 このレベル
テキストエディタ上での一覧表示をシームレスにいじる ← この機動性には敵わない
Scrapboxでは機動性が犠牲になるかわりにリンクがある
やりたい
このタスク明日でいいわ → walk day +1 して終わり(これ以上の手間をかけたくない)
明日のタスクどうなってたっけ → 明日エリア開いて確認(スクロールだけでわかる程度(Scrapboxだから+α必要だろうがなるべく小さく
タスクa-fはこの順番(たとえば acbfed)で実施したいわ → 自由に並び替えられる
task
taskname(タイトル
detail(自由に書き込める(takkerさんはコメントと呼んでる
execution date
sta.iconいったんこれだけにする
taskの種類(見せ方の種類)
page task …… ページで表現されたタスク
line task …… todayページなどに1行で記載されたタスク
直に書いてつくるケース
prepare時にpage taskから転記されるケース
使い分けは?
最初はline taskとして列挙することになるだろう
「あ、これ掘り下げたいわ」とか「このタスク前もやったぞ」「定期タスクにできるな」となったらpage化する
詳細を書くために
再利用できるようにするために
execution date
sta.icon*2sta.iconここどう設計するかが肝やぞ
takkerさんの「列挙する」アイデアいただこうか
code:task.projectpage
トイレ掃除
便器吹く
ブラシで便器内擦る
床掃く
直近 n 回分の実行日を事前に書いてしまう
フォーマット
「今日は休日」「今日は金曜日」みたいに曜日ベースの思考は使うから見せたい
「えっと、2021/01/11は……月曜日か」 ← この手間は鬱陶しい
案
[2021/01/11] 最悪これだが曜日がわからんので辛い
[2021/01/11Mon] 必要十分だがタグとしてはキモいなぁ
[2021/01/11] [Mon] /sta/x.icon曜日タグが意味をなさない
[2021/01/11] Mon 曜日はタグにしない案
sta.iconもっと単純でよくない?
yyyy/mm/ddに実行させたいなら[yyyy/mm/dd]をつける ← これだけ
実際に完了したかどうかは記録しない
todayページログを見よ
そういう意味では execution or completion date とでも言えるか
名前つけたい
実行予定日 実行したかもしれない日 候補 candidate date list of candidate locs eoc date maybe meoc
candidate candy
実行日の足跡 track datetrack track of execution toe(とー)toes(トーズ)
task1ページに[2021/01/11]があった場合、ページlog_2021/01/11を見ればtask1を行ったかどうかがわかる
todayページ
ページ名はtoday
ここが常にデイリータスクリストになる
ここを空にできれば今日は終了
明日になったら? → なんか操作したら「実行日が今日になってるタスクページの名前」がずらりと並ぶ
todayページ内の並びを担保するには?
page tasknameに「3 トイレ掃除」みたいな書き方をする?
page taskに「自分がどう表示されるか」は請け負いたくない
本当に?
セクション(takkerさんでいう「見出し」)だけは定める?
トイレ掃除をC(15:00~17:00)にしといたら、prepare後はCのタスクとして並ぶ
todayページフォーマット
code:today.projectpage
section:A
task with section=A
……
section:B
task with section=B
……
……
todayページログ
todayページのログ
今日が2021/01/11としたら、2021/01/10のtodayページ内容が残ってるはず
これをログ化する
code:log_2021/01/10.page`
★ここに2021/01/10時点のtodayページ内容
終了操作
sta.icon*3ここも肝
todayページ上で、n行目のline taskを終了した場合
line taskは終了状態にする
linetask1 → linetask1
page task側をどうする?
linetask1ページをどう更新する?
do repeat if possible
実行日タグを追加すればいい
scrapbox上でtaskchutingまで欲張ると本質的に煩雑になる気がする
scrapboxのメリット(情報蓄積とネットワーク化)に寄せる分、タスク管理システムとしては軽くする
ワンオペに留める(いつ何をしたかレベルのログは最初から取らない)とか
操作: prepare
今日の最初に実行する操作
scrapbox projectを解析してデイリータスクリストをつくる
解析しやすいようタグを工夫する必要がありそう?
数千ページくらいなら全部走査しても処理時間大差なさそう?
でもtakker-schedulerとか結構処理時間かかってるみたいで、UserScriptは本質的に遅い感じ?
まあこれは実装してみればいい
操作: terminate
前日のtodayページの後処理
prepareの時に呼び出される
整理
project
today page
has N-tasklines
today log page
has N-tasklines
task page
has N-executiondate
has 1-section
has contents
section page ★ここまで設計できてない
operation
prepare today
terminate yesterday
end task
★他は?
execution列挙方式ダメかも
繰り返し属性の修正時がだるい(全部列挙し直しになる)
sta.iconぐー、なんか「scrapboxだからこそできる、本質的に諸操作が楽にアイデア」がある気がしてるんだよなぁ……
bra4
何を手に入れたいのですか?
全部入りprivate projectにタスク管理機能を加えたい
ルーチンタスクA ← これをどう管理すればいいか
line案
次回以降の分を特定ページに複製する必要がある
page案
次回以降の分を自ページ内に追記する必要がある
デイリータスクリスト ← どう実現すればいいか?
if line案 then Todayページを一つつくり、タスク行を並べる
if page案 then Todayページを一つつくり、タスクへのリンク行を並べる
実行日
/icons/hr.icon
実行日を捨ててみるというアイデアはどうですか?
タスクプール
毎日ここから何をするかを選ぶ
must
俯瞰しやすいこと
選ぶという操作コストが小さいこと
毎日何するかは気分で決める、でも毎日ピックアップしてるので忘れにくい
/icons/hr.icon
別ページとの連携で、実質できること
別ページの内容を読み出す
別ページを新規する
Pageそのものの操作
o
Create Read
x
Update Delete
あるPage内での動作(Lineの操作)
o
Create Read Update Delete
/icons/hr.icon
sta.icon*3固まってきた
Pagesからデイリータスクを選び、today pageに描画する
デイリータスク消化 = today page内で更新
- task] ← [ を追加すれば done になる 何か書き込みたい場合は、taskに飛んでそっちに書け Q&A
Q: どうやってデイリータスクを選ぶ?
task page側に属性を書いておく
Q: あるページ内容を読み込むってできたっけ?
できる
takkerさんの
sta.iconすげー!
違ってそうなところ
コメント(タスクにぶら下がる箇条書き)
繰り返しタスクをn回作る
日付ページ
時間帯を一言で表すキーワードって感じか
ページの切り出しは?
やっぱりwindow.openしかないか
実装
lineを解析してtuple返してる(クラスは大げさなので?やめてる)
軽く試してみた
bra
実装どうするかな
all from takker
lib だけ takker
sta.iconこれかなぁ
全部自分で
sta.iconこっちは時間かかりすぎて排卵入らん