vhs コマンドの使い方
23時過ぎに寝始めて何度か起きて7時半に起きた。
今日の筋トレは腹筋:10x1,腕立て:10x1,スクワット15x1をした。
sveltekit で context のデータを扱う⌗
ui 側でページに依存しない形で設定情報などを扱いたいとする。svelte の store と context api を組み合わせて sveltekit として context を管理するサンプルコードが紹介されている。
これだけですぐ動くのだけど、このときに LayoutData
はサーバー側で作るとバックエンドの仕組みを隠蔽できて嬉しい。そういったときは src/routes/+layout.server.ts
にバックエンドの api 呼び出しを隠蔽することで意図した振る舞いになる。
import type { LayoutServerLoad } from "./$types";
export const load: LayoutServerLoad = async () => {
const r = await fetch(`localhost:18080/myapi`);
return r.json();
};
アニメ gif をスクリプトから作る⌗
お気に入りのコマンドラインツールを淡々と紹介する をみていて vhs という cli でアニメ gif を作ってくれることを知った。試しにやってみた。ターミナルを録画するようなやり方と比べて、録画時にタイプミスしてしまうようなミスを防げる。次のようなスクリプトファイルを新規作成する。
$ vhs new bf.tape
Output bf.gif
Require echo
Set Shell "bash"
Set FontSize 14
Set Width 800
Set Height 380
Type "genact -m bruteforce" Sleep 500ms Enter
Sleep 10s
あとはこの設定でアニメ gif を作る。
$ vhs bf.tape
これで 4.8 MiB なのでサイズはまぁまぁ大きい。サイズやカラーの調整をすればもう1桁は縮小できるかもしれない。
$ ls -lh img/2024/0110_bf.gif
-rw-rw-r-- 1 4.8M 1月 10 19:48 img/2024/0110_bf.gif
Read other posts