Markdownファイルをいい感じに印刷する printmd を作った
DRANK
表題のとおり、Markdownファイルをいい感じに印刷したいときに使えるツールとしてprintmdというものを作った。 (白い A4) の版面位置に overflow: hidden の窓を開け、その中に「そのシートに対応するカラム」を描画させるために、margin-left: -(段位置 × 194mm) だけ左へずらす。そうすると、窓から見えるのはちょうど 1 カラム = 1 ページ分になる。各シートの左右には前後のカラムが隠れているわけである。映像フィルムを投影しているようなイメージだ。強制改ページこのprintmdを必要とした最大の理由は、印刷時の改ページ制御である。任意の位置でページ区切りを調整したい。それも、改行の数で調整する脆弱な形ではなく、改ページそのものを命令したかった。実は段組みレイアウトのために、break-before: column というプロパティはCSSに標準化されている。このCSSプロパティは対象の要素がカラムの先頭になるように区切ってくれるものなのだが、悲しいことに僕が常用しているFirefoxでは実装されていない。そのため、printmdの強制改ページは、代わりに文書を改ページ位置で「セグメント」(連続するトップレベルブロックの範囲)に分割し、セグメントごとに独立し…