github で日記を管理しておりそれを最近 google drive に変更したけれど、drive アプリで時折不意に触れてしまって Markdown のテキストファイルの他に gdocx と言う google docs ファイルが生成されてしまうことがあった。まぁ除外するなり自動で組めばよいのだけれど、やっぱドキュメントは github 管理が良さそうだなぁ、と思ったので戻すことに。
ただ戻すだけでも良いのだけれどせっかくなので自動化にも取り組もう。今も日記の元データを作成して push したあとは更新ツールを配置してある Linux 環境で git pull して、その後 Python scirpt で更新する感じでだいぶ自動になっている。
これはこれで下記途中の日記をひとまず push して別端末で書き続けて、まとまった所で日記を更新すると言う感じの操作ができるなどメリットがあるけれど、基本的に自分のメモ的に管理している Web 日記で査読してからじゃないと!みたいなこともないので自動更新でもいいかなぁ。と思ったので、ならば github actions でしょ!と。
日記のデータはプライベートリポジトリに置いている。日記のデータ自体はどうせこうやって Web に公開するのでパブリックなリポジトリで良いのだけれど、更新ツールの内容などは結構場当たりに書いている部分も多いので、更新ツール側の都合でプライベートにしている。まぁほぼ整理出来たので公開できなくもないのだけれど。
プライベートリポジトリの Actions について無料枠は月間 2000 min とのこと。まぁ足りるじゃろ。
トライ・アンド・エラーでなんとなく動きそうなコードが出来た。壁打ちは vscode の Github Copilot さんにお願いした。ほんとよく出来てるわ。でも完璧なコードを一発では当然生成できず、コードはちゃんと読んで疑問に思ったことは指摘していきブラッシュアップしていく能力はまだまだ必要だ。
Github Copilot だけでなく ChatGPT にも手伝ってもらった。使い分けは特に無いのだけれど、コード修正に関わるような部分は Copilot に、概念的な考え方が正しいかなどのチェックを ChatGPT に問い合わせて見た感じ。
プロはこういうのサクッと解決しちゃうんだろうけれど、悩みながら少しずつ変更してはトライしていく。事象から学ぶ感じであまり良い学び方ではないけれどまぁいいのよ、動けば。
何が面倒って submodule に指定するリポジトリが private なので AccessToken を作って設定しないといけない。まぁ最初の 1 回だけなんだからやりなさいって話ではあるけれど。面倒だし adiary の利用者の誰かに使ってもらえるかもしれないからもうちょっとちゃんと整理したら公開しても良いのかも?と思うが Selenium で処理するのはなんか違うよなー。悩ましい。
submoudle 側を修正してもすぐには適用できない? actions のコンテナは毎回作り直しているようで実はそうではなく cache されてるのかな。Actions についても勉強しないといけないな。がんばろう。
2 つの実行除外条件が必要になる。
- 日記ファイル整理のためにファイルを移動した時
- 判定方法をどう見せるか悩んだので commit message で指定することにした。でも忘れてしまうかもしれないので、file move の行が判定できるかわからないけれど、その場合はスキップするように書きたい
- Markdown ファイルではないとき
- 例えば warkflows の yaml ファイル編集したときとか。
file move 判定はやる気のある今のうちに実装したほうが楽だよなぁ。ひとまず動くようになったら追加を検討しよう。
Python で書いた Selenium で adiary に日記を投稿する script ですが、今回 Github Actions 対応のために結構手を入れてしまった。他の環境でちゃんと動くかまたテストしないとな。しかし path が問題で動かなかった時はちょっとその程度で躓いてるのか?って落ち込むな。
Selenium より安定して動くらしい?とのことでコードを書き直し始める。なんかだいぶハマってないか?でも Selenium よりだいぶ高速になった。ちょっと Playwright についても勉強する価値はありそう。
プライム感謝祭で配達が忙しいのだろう。今日配達の荷物が明日に変更になった。お疲れ様です、天気も悪くてお出かけもしないでしょうし明日で問題ないのよ。
スマホリングは届いた。リングとして使えつつスタンドにもなるタイプ。早速使ってみる。便利に使えそうだ。結構しっかりした作りでいい感じ。MoFT の七変化みたいに高さは出せないけれど、七変化スタンドはカバンに忍ばせておいて高さを出したい時に付け替えよう。それが出来るのも MagSafe のいいところ。
明日到着に変更になった荷物だけど配達員さんの都合がついたのか今日届いた。普段は枕元に置いて活用、畳んだら旅先でも活躍してくれそうなQi2 MagSafe+Apple Watch+Qi2の3in1充電器。さて今晩は性能試験かな。
iOS でのエディタには LiquidLogic を愛用している。しかし Git コマンドの操作が少しやりづらいと言うことと、Markdown には非対応なので本当にただのテキスト編集みたいになりハイライトされない状態であった。
今回久しぶりに WorkingCopy を使ってみたらまぁまぁ良さそうなので、しばらく WorkingCopy に戻してみようかな、と思う。
SSH Terminal としてはやはり今のところ LiquidLogic が優秀なのでしばらくは Terminal として使うことになりそう。
昼前からがっつりコードに向かい合うことおよそ 7 時間。ようやく目的を達成した。しかし途中からもう目がしょぼしょぼしてしまって。やはりそろそろ累進レンズが必要なのかな?と思ったりした。単純に疲れただけかもしれないけれど。