!doctitle{Study Time}$ !description{Bem130が2年間勉強時間の記録とビジュアライズに使っていたツールを作り直したもの}$ >>> !title{概要}$ 私は2022年7月から勉強時間を毎日、教科毎に1分単位で記録していました そして2023年4月に"試作"という名目でグラフを作るプログラムを書き、その後1年の間試作の筈だったプログラムを無秩序に拡張してきました $ その結果誕生したモンスターのようなコードの塊を改善するため、互換性を保ったまま、グラフを作るコードを一から書き直して読みやすいプログラムにしました またその時に、大量にあったグラフの生成の処理を共通化して、小さな関数の組み合わせや設定を変えることで、様々なグラフを生成できるように変更しました (前作ではグラフ毎にほぼ同じ関数を書いていた) >>> !title{記法}$ !code[日付,教科[開始時刻~終了時刻|開始時刻~終了時刻\],教科[開始時刻~終了時刻\]]こんな感じです 日付の後ろに、教科と時刻の組を並べます これは!code[,]で区切ります 時刻は開始時刻と終了時刻を!code[~]で区切り、!code[|]を使って複数の勉強を一気に書けます 一気に書くことができますが、分けて書いても同じように扱うので問題ありません >>> !title{今後の目標}$ 全てのグラフをJSONによって扱えるようにします 今JavaScriptで書いてる関数の呼び出しを、全てJSONから変換します