Expressive Codeでコマンド出力にラベルを付ける — Gutter APIとコピーボタンの書き換え
AstroブログのExpressive Codeプラグインでコマンド出力を示す方法。ガター要素のAPI、プラグインの実行順、そしてコピーボタンの中身を書き換える手順まで。
AstroブログのExpressive Codeプラグインでコマンド出力を示す方法。ガター要素のAPI、プラグインの実行順、そしてコピーボタンの中身を書き換える手順まで。
Dependabotはpnpmの推移的依存を更新できません。それをパッチするGitHub Actionを作った話と、認証情報の選択が設計全体を決めた理由。
TypeScript の言語サーバーが正しい import に TS5097 を報告し、.ts を消したら Node のスクリプトが動かなくなりました。tsc は緑のままです。原因は tsconfig の extends の解決失敗でした。
多言語リポジトリのタスクランナーとしてのGNU Make。npm scriptsでは表現できない前提ターゲットによる合成、CIから同じターゲットを呼ぶこと、そしてmacOSのGNU Make 3.81について。
GitHub OIDCはCIにAWSのアイデンティティを与えるが、JWT認可のMCPエンドポイントにはもう1つ必要になる。terraform outputから読むCognitoのclient_credentialsトークンである。
Astro公式のsecurity.cspはService Workerの登録を静かに壊すことがある。CIと実ブラウザの両方で検証する、手書きのCSPをAstro/Vercelに実装した記録。
同じ内容のスライドをMarpとReveal.jsの両方で作成して比較。ソースの可読性(243行 vs 287行)、アニメーション、エクスポート形式、用途別の使い分けを整理します。
GIFには一時停止APIがなく、WCAG 2.2.2で不適合になった。VP9より大きいMP4を選んだのはiOSにVP9のハードウェアデコーダーがないため。エンコード手順とガード、テストの記録。
外部のレビューが、このClaude Codeパイプラインの翻訳QAでは見つけられなかった欠陥をzh-TW訳から見つけました。対策として、研究に基づくSection Cゲートを追加しています。
Astro の記事ページは 68ch/17px で狭く小さかった。dev.to の実測値に合わせて拡大したら、ch 単位が隠していた CJK の行長バグも直った。
OpenSearch Serverlessのコレクションを先に削除したため、Amazon Bedrockのナレッジベース2つがDELETE_UNSUCCESSFULで止まりました。dataDeletionPolicyをRETAINにする対処法まで。
text-to-SQLエージェントが、行を手で足すなという規則を破りました。GROUP BY ROLLUPとスカラーサブクエリは、規則ではなく手順そのものを消して直しました。