Open r7kamura opened 2 years ago
という運用が良いのでは無いだろうか。
最近はVSCodeのターミナルを常に使うようにしたので、Windows Terminalを使う機会が無くなったというのを思い出した。Windowsを使いはじめた頃はまだVSCodeのターミナルを使う慣習が無かったので、常にそこで作業していた。
とはいえ、VSCodeで、そのプロジェクト (ワークスペース) ではない別のプロジェクトの物事を何かしたくなったときには、少し変な感じがする。関係の無い適当なプロジェクトを開いて、そこのターミナルでリポジトリを新たにつくるコマンドを叩いたりしている。
vite (比較的新し目のフロントエンド向けビルドツール) が良さそうだったので、Webpackではなくこちらを試してみることにした。
npm init vite@latest
上のコマンドでひな形が作れるようだったので試した。実際には、プロジェクトを既に作った後だったので、それを一時ディレクトリで叩いたあと、必要なファイルを持ってくる、という大変な作業をこなした。
npm initにそういうコマンドを利用できるのも知らなかったけど、便利だなーこれは。npm help init
を叩くと説明されていて、上のコマンド例だと npm exec create-vite@latest
が実行されているらしい。
npm exec
は普段使っている npx
のalias。npm init
は npm create
というaliasもある。
Jack Steamさんのこの記事を参考につくっていっている。
とりあえずリポジトリをつくった。
viteのChrome extension向け機能を入れた。
npm i -D @crxjs/vite-plugin
vite.config.ts でこのプラグインを利用して「manifest.jsonフを元にいい感じにしてくれ」と伝えると、ビルド時にmanifest.jsonを見て必要なものを全部ビルドしてくれるらしい。例えばmanifest.jsonに「Chrome extensionのアイコンがクリックされたときはこのHTMLを表示する」と定義されていたら、そのHTMLファイルをビルド対象に含めてくれるし、更にそのHTMLファイルで参照されているJavaScriptも含めてくれる。
npm run build
explorer.exe .
ビルドするとdistディレクトリが出来上がるので、これを chrome://extensions のダッシュボードにDrag & Dropすると、無事拡張が読み込まれた。
npm run dev
とやっている状態でChrome拡張を読み込ませて、ポップアップを開いたままにしてソースコードを書き換えると、HMRで自動的に内容を書き換えてくれる。
navigator.clipboard.write
をpopupから呼ぼうとしているが、
DOMException: Document is not focused.
というエラーが出てしまう。popupで呼ぶのがまずいのか、それとも回避策があるのか不明
permissionとかをガチャガチャやったら動いた。多分permissionが必要だったんだ。多分。
キーボードショートカットが見た感じ設定できているのに (Chromeから見ても設定されている)、押しても何も実行されなくて困っている。押したら自動的にポップアップが出るのだと思っていたが、そうではない?
…とおもったら、他の拡張がそのショートカットキーを使っていたのでダメだったという話だった。
Clipboard APIが動かない問題、再発していた。動いたり動かなかったりするので、フォーカス次第で変わるのだと思う。
大体できた気がする。あとはパッケージングするだけ。
navigator.clipboard.write
をpopupから呼ぼうとしているが、DOMException: Document is not focused.
というエラーが出てしまう。popupで呼ぶのがまずいのか、それとも回避策があるのか不明
Clipboard APIはpopupから動かすと動かない (しかも動くときもある!) らしいので、結局使うのをやめた。
execCommandでもリッチテキストがコピーできるようだったので、こっちを使うことに。
Chrome拡張をウェブストアに申請した。
書いた:
OBSでは、Segoe UI Emojiというフォントを選択すると絵文字が出せることが分かった。Macでは使えないとある。
この情報はRedditのOBSスレで知った。Redditは本当にすごいなあ。実際はGoogle検索から辿り着いただけなのだけど。OBS関係の話は英語で検索するとほしい情報に有りつけることが多い。
remark-github-diff-viewer (GitHubのcommitのdiffの行指定表示なURLを書いておくと、GitHub APIを叩いて自動的に差分表示のHTMLに置き換えてくれる君) があると、Markdownでdiff埋め込みながら解説記事書きやすく成るよなと思った。
みりんって意味あるのか?と思って調べたら、真の情報を見つけた。
ここ数年間Chrome拡張を触っていなかったので、2022年のChrome拡張のつくり方を調べた。
Twitterで尋ねたらk0kubunが良さそうなページを教えてくれた。感謝…
TypeScriptで書き始めたいところではある。