hogashi.*

日記から何から

Scroll To Text Fragmentのテスト

 Scroll To Text Fragment というのが Chrome 80 で出ていた、前からほしいと思い続けていたやつでめちゃめちゃ嬉しい。

 どういうのかというと、 html タグに id を付けておいて URL の末尾に # で指定するとそこにスクロールされるというブラウザの機能の、 id じゃなくてテキスト片でできるバージョン。既存の URL とかち合わない色々な記号が候補にあったっぽいけど結局 #:~:text= になっていた。この記事で言えば、 https://blog.hog.as/entry/2020/03/06/225142#:~:text=%E3%82%81%E3%81%A3%E3%81%A1%E3%82%83%E4%B8%8B%E3%81%AE%E6%96%B9 とかにアクセスしたときにはその辺までスクロールされる。







めっちゃ下の方のテキスト片

 この辺までスクロールされてハイライトされれば成功という感じ。全然関係ないけど #:~:text= 何回見ても泣いてる顔に見える。

 久しぶりに紙の本を読んだ。窓際が明るくて読んで居たら、日の光が微妙に赤や青を帯びたり、雲で少し暗くなったりして楽しかった。近年は均一な光の下でよく過ごしているので新鮮だった。別に均一が悪いという意味ではなくて、集中してコード書くときに光がどんどん変わっても気になるし、本読むときでもあんまり目まぐるしく変わると気が散ると思う。とはいえ人間には気分があって、コード書くときでも日の光の下で書きたいこともあるかもしれないし、完全に均一な光の下で本を読みたいこともある。今は本読みガジェットとかだとどっちかしかできないことが多いけど、気分に沿って好きにできる環境が簡単に手に入ってほしい。コード書くときはソフトウェアで色変えられたりすることもある、気分が変わったらソフトウェアを終了すれば色が均一になる。

EditorConfig の設定ファイル見つけまくるツール書いた

 EditorConfig の設定ファイルを見つけまくるツールを書いた。ディレクトリをひとつずつ上がりながら、 .editorconfig を見つけたらその場所を表示する。 root=true と書かれたファイルがあったらそこで終了するが、 -a オプションをつけると問答無用でルートまで上がりきる。どこに設定ファイルがあるか知りたいときにお使いください。

 ツールって書いたけど単にシェルスクリプトいっこで、素朴に cd .. で上がりまくる。 getopts コマンドを使ったオプションの取り方は、前に読んだ*1 which コマンドからそのまま写経でできた。

拡張機能「twitter画像原寸ボタン」v3.0公開

 拡張機能twitter画像原寸ボタン」 v3.0 を公開しました。(追記 20200203: 審査に時間がかかっているので 1週間以上反映されないこともあるかもです)

変更点
  • Enter キーで原寸表示をやめました
    • そんなに評判もよくない上に、誤操作になりやすいため
    • (追記 20200203) ヘビーに使っている方も居るようなので、以降の新規インストールではデフォルトoff(更新では変化なし)とかにして復活させようかと思っています。また公開したら記事を書きます
  • その他は機能的な変更はないですが、開発の方法?を大きく変えました

 操作確認は(手元の Chrome で)ひと通り行ったものの、何かあって素早く修正できないようなら前のバージョンに戻そうと思います。

twitter画像原寸ボタンとは

 Twitter 公式 Web / TweetDeck で、画像ツイートにその原寸画像を開くボタンをつける拡張機能です。押すと新しいタブで(複数枚のときは複数タブで)開きます。

 Chrome ウェブストアからインストールできます。

chrome.google.com

 Greasemonkey, Tampermonkey などの場合は以下のリンクからインストールできます。

技術的な話題

 TypeScript を使いたいし、コピペっぽくなる箇所もいくつかあるので、うまいことできないかといろいろやっていました。単にモジュールに分けていって import しまくると完成する(した)のですが、実は monkey 系用の User Script も自動で生成したくて、その上 User Script の冒頭を誰でも(コードの知識が無くても)編集できるようにしたかったので、 User Script の冒頭に Webpack の色んなコードが登場してしまうと困る、というので試行錯誤しました。結果、メインのファイルは User Script になることを見越したような 1ファイルで書き、 tsc にかけることで User Script にもなる、というつくりになりました。 Chrome Extension は minify とかしてはいけないことになっているので(攻撃コードとかが埋め込まれても気づきやすくするため?のはず) minify しない設定にしたり(そのせいで Tree Shaking されなくて不便)、結構イレギュラな開発スタイルになっています。一番やばいのは User Script に落とす段階で正規表現/^export / を削除してそのままブラウザで動く JavaScript コードにしているところで、こうしないと TypeScript が User Script の冒頭に Webpack よろしく自動生成コードを入れてしまうのでした。とにかく設定を冒頭において見やすくするのが一番難しい。ちなみに他にも、 Jest でテスト / GitHub Actions で Pull Request をテスト / Renovate でパッケージをアップデートしまくるなどの活動を経ての公開でした。

 不具合などあれば Twitter @hogextend などにどうぞ。

 小さい頃から、ある曲を好きになるとその曲だけ聞き続ける、という暮らしをしていて、今も変わっていない。特に父親の車に乗って帰省するときには、よくそういうことをしていた。

 小学生くらいまでは、父親の車に乗ったときは必ず布袋寅泰のベスト CD 、それも 1~3曲目だけをひたすら流していた。いつから聞き始めていつから気に入ったのかわからないものの、父親の車の運転席と助手席との間に置かれていた CD が沢山入った箱からすぐにその CD を探し出してプレイヤに入れていた。乗ってすぐ聞く 1曲目である「スリル」はもはや魂に刻まれた曲となっていて、前奏の出だしからきめ細かに脳内で再生できる。芸人やテレビ番組で使われると、一瞬でビビッと来て、耳に馴染んで安心する(この曲で安心???と思われることはよくわかるものの、もうそうなってしまっている。そして前奏が短く編集されていたりするとすぐにわかる)。ちなみに歌詞はちゃんと見て聞いていなかったので完全にうろ覚えで、後々読んでこんな歌詞だったのかと思った覚えがある。この CD は後に父親から「流石に飽きたからやめてくれ」と言われる。

 中学生くらいで、祖母から 70's ベスト盤をもらい、 21曲目(最後の曲)から 1~3曲目をひたすら流していた。特に 21曲目である「Beautiful Sunday」(Daniel Boone) は自分でも驚くほど気に入って、すぐに歌詞全部を諳んじて歌えるようになった。父親からビートルズを教えてもらって聞き始めてからは、買ってもらったアルバム CD を父親の車に持ち込んで、全曲リピートでエンドレスに聞いていた。全曲の歌詞を全部覚える勢いのハマり方だった。父親もビートルズを好きだったようで、ここがかっこいいとか、この曲を学校で流したとか、懐かしむように聞いている様が印象的で、ひとりで聞くよりずっと楽しかったと思う。

 ちなみに、ある曲ひとつ好きだからといって、そのアーティストの曲が全部好きということはなく、むしろその曲しか気に入らなかったということは多い。これは母親譲りであることが、少し前に会話していて判明した。言葉の少ない母親だが、帰省のときに一緒に乗りながら、受け継がれた音楽の好み方を感じていたかもしれない。

カエライフ×はてなブログ 特別お題キャンペーン #ドライブと音楽

カエライフ×はてなブログ 特別お題キャンペーン #ドライブと音楽
by ホンダアクセス

 夢、それなりに知っているらしい女性と現代的な曲でダンスを踊っていた、前半は手を取って回るタイプ、後半は少し離れてステップを踏むタイプで、下手だったけど恥をかくことはなく一曲こなして目が覚めた。分析としては寝る前になぜか M:I 5 とシャーロック・ホームズ シャドウゲームを思い出したりしていたからかもしれないし、好きな漫画の好きなキャラのデフォルメ絵が手を取るダンスだったのを見返したからかもしれない。数年くらい夢見が悪かったのだけど(覚えていないだけかもしれないが、覚えていないのだから夢見が良いとは言わない)、今朝はすこぶるよかった。欲を言えば忙しいことには変わりなかった(例えば逃げる夢とか)ので、もう少しゆったりした夢を見たいし、なんなら自分じゃない人たちを空から眺める何でもない何かで居たい。