Dockerfileでもヒアドキュメントが使える

qiita.com

NG例

FROM debian:bullseye
RUN apt-get -y update
RUN apt-get install -y python

OK例

FROM debian:bullseye
RUN apt-get -y update && apt-get install -y python && rm -rf /var/lib/apt/lists/*

しかし&&でコマンドを繋げるとちょっと読みにくい。そういう時はヒアドキュメントを使いましょう

FROM debian:bullseye

RUN <<'EOF'
set -e
apt-get -y update 
apt-get install -y python 
rm -rf /var/lib/apt/lists/*
EOF

これでレイヤーを増やさずに可読性を確保できます。最初に set -e を入れてコマンドが失敗した時に以後の処理を打ち切るようにするのを忘れずに(&&で繋いだ時と挙動が変わってしまうので)

太さで分かれているフォントをCSSで統一する

同じ書体なのだが太さによって複数のフォントに分かれていることがある。このようなフォントはCSSのfont-weightで太さを制御できない。そういう作りのフォントはそもそもweb向けではないのだが、Electronアプリ(obsidian)は見た目の制御にCSSを使っており、カスタマイズでそのようなフォントを使いたいこともあるだろう。

macOSには含まれる筑紫A丸ゴシックというフォントが含まれている。これをあるElectronアプリのカスタマイズで使っていたのだが、macOS 15.6からフォント名が変更され、boldとregularが別のフォントになったため適用されなくなってしまった。

mac0S 15.5まで、これ1つでboldとnormalに対応していた - Tsukushi A Round Gothic

macOS 15.6から2つのフォントに分かれた - Tsukushi A Round Gothic Bold - Tsukushi A Round Gothic Regular

@font-faceを使うと、このように太さで2つに分かれているフォントを1つのフォントセットとして扱う事ができる

  @font-face {
    font-family: 'TsukushiARoundGothic';
    src: local('Tsukushi A Round Gothic Bold'), local('Tsukushi A Round Gothic');
    font-weight: bold;
  }
  @font-face {
    font-family: 'TsukushiARoundGothic';
    src: local('Tsukushi A Round Gothic Regular'), local('Tsukushi A Round Gothic');
    font-weight: normal;
  }
  .container { font-family: 'TsukushiARoundGothic' }