takker99/takker-scheduler
scrapboxベタ打ちから、git管理に移行した
これでversion管理が簡単になる
実装
TypeScriptで書いている
開発支援にDenoを用いている
バグ
解決したものはリンクを外す
またmakePlan()のページ遷移に失敗した
2022-01-14のページに移らなかった
どこでこけたんだろう?
smartphoneだとエラー内容がわからない……
alert()でエラー内容を表示するようにしてみようかな?
実装したいこと
JavaScriptから任意ページのタスクのCRUDをおこなう函数を生やす
現状の仕組み(JSコードを書き換える)だと全く設定変更を行う気にならない
予定開始日時と見積もり時間と実績開始日時と実績終了日時とタスク名が同一なら同じタスクだと判定する
あんまり一緒のコマンドにしたくないな
くみあわせられるようにすればいいだろう
見積もり時間のない予定をカレンダーで同期できないtakker.icon
これは失念していた
どうする?
見積もり時間を既定で20分とみなす
これが妥当かな
時間を指定しないイベントとして入れる
でも開始時刻は全部指定してるしなあ……
やり残したタスクを今日にコピーする機能がほしいtakker.icon
takker-schedulerで実装せずに、scrapboxにuserscriptとして直接書いた方がいい?
何でもかんでも実装したら高速でクソアプリになるからな
細かい機能は、小回りの利くuserscriptで直接scrapboxに書いたほうがよさそう
すぐ修正しやすい
そのためには、必要そうなAPIをすべてexportしたJSファイルを用意しなくては
for-takker-memex/script.jsにだけ生やせばいいか
これだいたいできそうだな
2022-02-10
2022-01-20
2022-01-19
/icons/done.iconmobileでjudgeが動作していない
明日調べる
2022-01-20 10:18:06 exportし忘れてただけだった
2022-01-17
2022-01-06
13:28:16 deno-uddでpackageのversion管理を自動化した 2022-01-05
16:53:11 自分のUserScriptに入れ終えた
これもgit管理したほうがいいかなあ
16:21:31 releaseする
code:mod.ts
import {
CLIENT_ID, CLIENT_SECRET,
} from "/api/code/takker-memex/Google_API_for_Scrapbox/script.js";
// Google APIの認証情報をセット
const clientId = CLIENT_ID;
const clientSecret = CLIENT_SECRET;
initialize({ clientId, clientSecret, });
code:template-test(txt)
takker-scheduler-min
code:mod.js
@CODE@
12:06:16 手作業でコードをコピーした
昨日ページのインポート機能を使いすぎたので、今日は止めておいた
12:07:07 設定を書く
12:17:32 できた
12:31:29 ensureArray()の実装ミスってた
やっぱテスト書かなきゃだめか……
13:12:51 format()のテスト
ミスを見つけたのでアルゴリズムを直している
純粋な処理にしたつもりが、window.scrapboxを使ったコードが混ざってしまっていた
14:23:00 テスト書いた
テストを書きながらバグを潰した
結構見つかった
11:44:43 ほぼすべての機能を実装し終えた
予定開始時刻等の調節とタスクの転送機能はコード自体を削った
すぐに実装できそうにないので
後ほど追加実装する
型エラーなども全部解消した
15:04:45 機能をだいたい確認できた
タスクの作成・開始・終了は問題なし
ソートも問題ない
通信の分だけ少しラグがあるけど、以前よりも圧倒的に速く終わる
必要なところしか更新しないからテロメアも以前に比べて汚れが抑えられている
バグって挿入できていなかった見出しも挿入できるようになって満足
calendarの同期は認証情報を入れるのを忘れてた
15:27:45 入れて正常に動作することを確認した
日刊記録sheetの作成
15:51:50 moduleは読み込まれるが実行がされていない?
詳しく調べる
minifyすると変数が省略されてdebugしにくい。bundleだけにしよう
16:06:34 原因がわかった
非同期函数から同期函数にしていた
あとTaskの定義も若干違い
baseDateをbaseに変えてた
durationをObjectからnumberにした
まずは非同期函数でも受け取れるようにしよう
16:19:28 上記を解消したら問題なく生成された
大丈夫そう
2021-12-07
別ページに書き込む機能を使いたい
code:deps.ts
code:diary.ts
code:plan.ts