basyura's blog

あしたになったらほんきだす。

ChatGPT (Web) にコメントのサイドバーをつける

ChatGPT で長文になってきたときに読み返しするし、それまでの流れがどうだったっけ?と思うことがある。サイドバーにチャットで聞いたコメントのリストが出てると分かりやすい (把握しやすい) でのはないか?と思って Tampermonkey の js を作ってみた。

codex に "これこれこういうのを作りたい" と聞いたら 10s で生成され、その後に微調整して一時間ぐらいで仕上がった。Inkdrop や Redmine にも同様の表示を付けるようなことをしているので sidetoc 職人になりつつある。

これぐらいの速度を仕事でも出せるといいんだけど、なかなか厳しい。オレオレツールを一瞬で作るのには便利なんだけどな。

作った (生成した) js はこちら。

連休

連休 (3日以上) があると、ようやくブログを書く気になる。やることがなくなるのもある。 老後はこんな感じかなと思わなくもない。朝起きて、ご飯食べてちょっとゲームして風呂入って、ゲームして昼ごはん食べてゲームして散歩して夜ご飯食べてゲームして風呂入って寝る。

ドラクゴンクエスト Ⅰ & Ⅱ

ドラゴンクエストI&II - Switch

ドラゴンクエストI&II - Switch

  • スクウェア・エニックス(SQUARE ENIX)
Amazon

雑記。

ドラクエⅠ

  • 設定で目的地マーカーをオフにすると、やらされてる感が減った気がする。
    • ただ、迷いの森が突き進むべきなのか、何かしらのアイテムを持ってくるべきなのかで判断しかねて一回チラ見した。
  • マップはダンジョンも合わせて通ったところだけ分かるようだったら探索しがいがあったと思う。
  • 太陽の石とロトの兜とロトの剣が分からなくてオンにした

ドラクエⅡ

  • サマルトリアの兄弟が優秀すぎてローレシアの王子ができることがほぼ単純攻撃だけなのちょっと可哀想 (そういう設定ではあるが)。その技、ローレシアじゃね?というのが多々。
  • キガデインとかギガスラッシュとか作戦に関係なく MP 超絶消費を撃ちまくるのが微妙
  • ベリアル戦からめんどくさくなって難易度を下げた
  • クリア後のイベントはⅠⅡどちらもやらず

まとめ

  • 等身リアリティをすすめずデフォルメして想像力でカバーしてもらう方向で進めてほしい。ドラクエ8から中途半端だなぁと思ってた。

kindle Paperwhite Gen12

Kindle の古い端末はまだまだ使えるけどソフトウェアアップデートが無くなる縛りがあるのが当たり前とはいえ辛い。UI が古いとか挙動が遅いとかなら許せるんだけど、いつだかからのアップデートからクラッシュしまくるようになったのが許せない。そのうちアップデートで直るかと思ってたら治らずのまま。新しい端末を買っても同じことになるなら今の端末を我慢しながら使うほうがマシに思えてしまう。

とはいえ、紹介を見ているうちに新しい端末も興味出たので Kindle Colorsoft を購入してみたけど翌日に返品完了。色合いが微妙で特に暗めのところで読みづらいし、カラーがいいかというとそうでもない。半日触った程度でクラッシュが発生したし、延長保証付きで五万は耐えられなかった。

Oasis Gen 8 はとうとう壊れてしまって残念だけど、Paperwhite Gen10 と Oasis Gen 9 で継続かなと思っていたけど、セールの案内につられて kindle Paperwhite Gen12 を購入。

操作 (反応) がかなりいいし画面も見慣れた感じで Colorsoft より全然良かったので満足している。

ただ、Kindle Unlimited が使えなかったので Amazon のチャットサポートを受けた。

  • kindle unlimited の本をダウンロードしようとすると kindle unlimited 登録画面に遷移して 30 日無料か 3か月のプランを選択できますが、どちらを選択しても "申し訳ありませんが、お客様のリクエストを受け付けることができませんでした。kindle unlimited読み放題に登録するには、 www.amazon.co.jp/kindleunlimited にアクセスして登録してくださいと表示されます。 購入済みの本は同期できています。

  • 他の端末で unlimited 購入したものは 今回購入した dindle Paperwhite でダウンロードして読めます。

  • 最初に kindle 端末セットアップ時に僕のアカウント名は表示されていましたが、パスワードを何回入力しても通らなかったのでメールアドレス入力から行ったのも気になっています。

結果、kindle 端末の登録を解除した後に携帯番号でログインすることで解決。 海外アカウントを作っているとメールアドレスでは co.jp のアカウントだと判断できない場合があるらしい。

遠い昔に Kindle が欲しくてアカウントを作っていて、そのごにアカウント統合したのだけど、色々悪影響あるみたい。

Shiba (マークダウンビューアー) に機能追加

マークダウンのプレビューを表示するアプリケーション。AI コーディングをする際にマークダウン出力することが多くなったので、扱いやすいアプリケーションを探していた。昔使っていたのを思い出して Shiba を使ってみたら必要十分だったので使うことにした。

ただ、キーバインディングとか気になるところがあったので良い機会と思って AI コーディングで追加してみた。

aeec48d で分岐してそれなりに変更しているし、直近でも本家がアクティブに活動しているので PR を出して本家に取り込んでもうとかはしない。

追加した機能を説明用に書く。

スクロール量の設定

キーボード操作のスクロール量を設定ファイルで変えられるようにした。

scroll.stepj / k などの通常スクロール量、scroll.pageStepctrl+d / ctrl+u や PageUp / PageDown などのページスクロール量として使っている。

scroll:
  step: 50
  pageStep: 400

画面サイズに依存せず、好みの移動量で安定してスクロールできるようにしている。

Markdown ファイルの「このアプリで開く」対応

OS の「このアプリで開く」から Markdown ファイルを渡したときに、そのまま Shiba で開けるようにした。

アプリ起動中にファイルを開いた場合だけでなく、アプリ初期化前に渡されたファイルも保持して、画面の準備ができたあとに表示する。

ファイル切り替え時のスクロール位置リセット

Markdown ファイルを切り替えたときは、プレビューのスクロール位置を先頭に戻すようにした。

前のファイルで下までスクロールしていた状態が次のファイルに引き継がれないので、ファイルを開いた直後に内容の先頭から確認できる。

サイドバーの右側配置

見出し一覧のサイドバーは本文の右側に置くようにした。

本文を左側、見出しナビゲーションを右側に置くことで、Markdown 本文を読み進めながら現在位置や構成を確認しやすくしている。

サイドバー表示の整理

サイドバーの見出し表示も少し整理した。

  • h1 見出しはサイドバーに表示しない
  • 見出しレベルごとのインデントを小さくする
  • サイドバーの最小幅を 150px にする
  • 長い見出しは横に広げず、省略表示する

サイドバーが必要以上に広くならず、本文の表示領域を確保しやすくなっている。

macOS ウィンドウボタンの右上配置

macOS のウィンドウ操作ボタンは右上に出すようにした。

ウィンドウのリサイズ時や最小化解除時にもボタン位置を再調整するので、ウィンドウサイズを変えたあとも配置が維持される。

Vim 風スクロールキーの追加

Vim 風の移動操作も追加した。

  • G: ページ最下部へ移動
  • g g: ページ最上部へ移動
  • ctrl+n: 次のセクションへ移動
  • ctrl+p: 前のセクションへ移動

次のセクションへ移動するとき、末尾まで到達しても先頭へ戻らないようにもした。文書の最後付近で現在位置を見失いにくくするため。

現在見出しの更新改善

スクロール中にサイドバー上の現在見出しを更新する処理も見直した。

更新タイミングをフレーム単位に合わせることで、スクロール時の追従がより自然になるようにしている。

F12 による DevTools 表示

F12 キーで DevTools を開けるようにした。

UI の状態確認やデバッグを、アプリ起動後にキーボードからすぐ行える。

/ キーによる検索開始

/ キーで検索を開けるようにした。

Markdown プレビュー上で素早く検索に入れるので、文書内のキーワード確認がしやすくなっている。

ctrl+l によるサイドバー開閉

ctrl+l キーで右側のサイドバーを開閉できるようにした。

サイドバーを一時的に隠して本文領域を広く使えるので、長い Markdown 文書や横幅のある内容を読むときに表示を切り替えやすい。

サイドバーは非表示にしてもリサイズ済みの幅を保持するので、再表示したときに以前の幅で復元される。

ドラクエ 7

ドラゴンクエストVII Reimagined -Switch2

ドラゴンクエストVII Reimagined -Switch2

  • スクウェア・エニックス(SQUARE ENIX)
Amazon

赤丸を目指すゲーム。

フィールド上で殴るだけで進むとか、意識的にレベルアップしなくても簡易化されているのは話が長いのでちょっとでもテンポよくしたいからだろうか。テンポが上がるけど、子供の頃?と違ってさっさと進めたいのもあるが情報量が多いので横文字並べられたところに行こうとしても何だったか忘れてしまうことがよくある。最初、ドラクエ 1,2,3 のリメイクと同じ様にヒント機能をオフにしようとしたら設定がなくて残念と思ったけど、振り返るとヒントなしには全く進められなかっただろうなぁ。

全体的にストーリーを見るゲームになっている。ただ、長いので、気がついたらよく分からずオルゴ・デミーラと戦ってたり神が現れたりして、これはもう齢のせいか。

8 から始まった等身大キャラはずっと微妙だと思ってたのもあり、今回のデフォルメやフィールドなどのビジュアルは良かったので新作もこの路線で行ってほしい。準備としてのリメイク連発だと思いたい。

Inkdrop Desktop v6.0.0-cannary.16

v6.0.0-cannary.16

Inkdrop Desktop v6.0.0-canary.16 が 4/22 にリリースされた。Mac 版を日常的に使っていて特に問題なくなったが、それなりに対応は必要だった。特にエディターが CodeMirror v5 から v6 にアップデートされたこともあり動かなくなる plugin や期待通りに表示されないテーマはいろいろありそう。例えば vim plugin を使っている場合は keymap.json ではなく init.js への移植が必要になるのが注意点になる。逆に、plugin やテーマに依存していない場合は何も気にせず移行できる。

対応した plugin

ほぼ自分のための自作 plugin を v6 に対応した。その他、自分が使っている plugin が幾つかあるけど特に問題なく動作している。

対応した自作 plugin 一覧

  • sidetoc
    • サイドバーにヘッダーを表示する
  • narrow-note
    • コマンドパレット的なウインドウでノートを選択
  • narrow-book
    • コマンドパレット的なウインドウでノートブックを選択
  • turnoff-preview-cursorpos
    • プレビューから編集モードに戻った際のカーソル位置をそれっぽい位置にする
  • font-size
    • 編集モードとプレビューモードのフォントサイズを同時に変更でき、既定のサイズに戻せる
  • bearlike-switch-view
    • サイドバー、ノートリスト、エディターの 3 ペーンの表示を切り替える
  • link-compact
    • リンク記法時の url を省略表示
  • hitahint
    • キーボード操作でリンクを開く

narrow シリーズは割といい感じで日常的に使っているけど、ネーミングにミスったと思う。hitahint は vim plugin との共存がめんどくさそうで無くて困るほどではないので諦めるかとと思ったけど、動いたのでリリースした。あるとやっぱり便利。

Plugin 作成に影響する変更点

v6 対応にあたっての参考とメモ。

設定周り

触っている人ほど書き換えが必要になるのは当たり前だけど、許容範囲。

  • init.js
    • vim のキーバインド設定追加
  • keymap.json
    • vim の設定を削除
    • .mde-preview → .mde-preview-container
  • styles.less
    • 公式のデフォルトダークテーマに対して material-dark-mod-syntax テーマに寄せるように調整

感想

起動が早くなった。起動したと見せかけてエディタの読み込みかプラグインの読み込みで触れない時間帯が v5 ではあったけど、v6 では無くなっているのがとても良い。

plugin 周りのアップデートがそれなりに必要になる。必要ない plugin もあるが、常用している自作 plugin はほとんど修正対象だった。公式 plugin は対応済みで、それ以外だと TableEditor plugin は本体に取り込まれた状態。PlantUml は変更無しで動作した。

依存してる plugin によるけど、ほとんど入れていない人にはすんなり移行できそう。material-dark-mod-syntax のような人気のあるテーマを使ってる人は見え方が変わって気になる人はでそう。

細かいスタイル (css) の見直しは続くけど、v6 の正式リリース時にすぐに切り替えられる準備は整った。既に家環境では canary をメインにしている。