Scrapbox-AutoDiary
30分以上離れたらGoogle Chrome拡張機能がScrapboxの日誌ページを起動するようにする
状況
一日の終わりに日誌をどばーっと書くようになってしまっている。
なんかもっとこう、日常が過ぎるのと同時に日誌が埋まって欲しい
なんのとっかかりもなく思い出しながら書くのは意外としんどい
Chrome拡張機能の作成にまだ慣れていない。
場数を踏んで作りたいものをさっと作れるようになりたい。
何を作るか
以下の仕様を持つChrome拡張機能
p.icon (0) 環境導入
コードを打てて、デバッグができる環境を整備する。
GitHubとGitのリポジトリを立てる
(1) ブラウザからフォーカスが外れて30分間経過した後に、フォーカスが入ると、Scrapboxの日誌ページへ移行する。
(1) ブラウザがフォーカスを外れることを検知する。
(2) (1)の時刻outをメモする。
(3) ブラウザがフォーカスを当てることを検知し、その時刻inをメモる。
(4) inからoutで30分以上経過していたら、
(1) 日付を計算する
(2) それに該当するScrapboxの日誌ページを開く。
(3) inも記述する
問題の分割
ページ内リンクを使って番号付できるか実験したけど少し苦しそう。
ページのタイトルが長過ぎるせい
以下、例えば(1-4-2)と書いたとき、それは30分以上離れたらChrome拡張機能がScrapboxの日誌ページを起動するようにする#642460e8d3fe610000f96844を示す。
最終目標
ブラウザを起動するたびに日誌を書く習慣をつけることで、一日の最後にまとめるのを苦労させないようにする。
問題の分割
目標
01:15 (0) 環境導入
01:20 (0) 環境導入: 目標でさらにGit関連を追記
01:35: personal access tokenがGitHubリポジトリのプッシュ時に必要を書いたため。
p.icon 02:00; / 01:55
01:30 (1-2)を達成する。
- 02:20 (1-2)を達成する。
hr.icon
開発ログ
01:55 - 02:03 (2)-1節
ウィンドウがアクティブになる瞬間をキャッチできるか?
chrome.action - Chrome Developersを参考に。
うーん、onClickしかなさそうだ。
を覗いてみる。
https://developer.mozilla.org/ja/docs/Web/API/Document/lostpointercapture_event
これが使えそうだ。
まだ詳細は読めてない 明日。
いや、ここから探すよりググったほうが早くないか
ChatGPT使うのも手か
01:11 - 01:55: (0)初期導入
GoogleChrome/chrome-extensions-samples: Chrome Extensions Samplesを参考に
01:15 sample.page-redderを参考に
"permissions": ["activeTab", "scripting"],とはなんだろう
今回の機能で必要そうな権限は何か
あとで決める。
ヨシ!
https://gyazo.com/7476023cf914706fccbb26bec0201445
プロジェクトをScrapbox-AutoDiaryに設定。
Git/GitHubを設定する。
簡単なプロジェクトだけど、そんな小規模でもとりあえずリポジトリを立ててみる。
ここの内容を使ってざっくりとREADMEを書いた
げげ、ユーザー名とパスワードが求められている
パスワードは確か普通のやつじゃダメだったはず。
personal access tokenがGitHubリポジトリのプッシュ時に必要(書いた。)
前も同じ問題にぶち当たって、公式ドキュメントの記述から切り替わったことを知ったはずなんだけどその記述がどっかにいってしまった。
VivaldiのスピードダイアルにGitHubを追加した。
なんで今まで追加していなかったのか
あれ?READMEって.mdまで打たないとmarkdownとしてプレビューされないの?
前までREADMEだけでよかったと思うのに、謎だ
開発ログを定期的に残すためには、別ウィンドウにScrapboxを表示させて、そのウィンドウが端でチラ見するように他のウィンドウを使うと良い