demos: replace ImageMagkick's obsolete convert with magick

Aside: thanks to ChatGPT for helping fix the error from argument
order.
This commit is contained in:
Ilya Grigoriev 2024-08-08 14:30:19 -07:00
parent 058249cc57
commit 6d573ef6d7

View file

@ -9,17 +9,17 @@ set -euo pipefail
# look at the other one. # look at the other one.
# #
# AnsiToImg can also generate PNGs, but that is currently harder to setup than # AnsiToImg can also generate PNGs, but that is currently harder to setup than
# `convert`. `convert` supports different backends. I do not completely # `magick`. `magick` supports different backends. I do not completely
# understand them. On Debian, it did not work well without `sudo apt install # understand them. On Debian, it did not work well without `sudo apt install
# inkscape`. It's unclear to me whether `convert` used Inkscape or one of its # inkscape`. It's unclear to me whether `magick` used Inkscape or one of its
# dependencies. Inkscape can be also used manually for SVG -> PNG conversion. # dependencies. Inkscape can be also used manually for SVG -> PNG conversion.
which term-transcript > /dev/null \ which term-transcript > /dev/null \
|| (echo '`term-transcript` must be installed with e.g.'\ || (echo '`term-transcript` must be installed with e.g.'\
'`cargo binstall term-transcript-cli`.' \ '`cargo binstall term-transcript-cli`.' \
'See also https://github.com/slowli/term-transcript' >&2; 'See also https://github.com/slowli/term-transcript' >&2;
false) false)
which convert > /dev/null \ which magick > /dev/null \
|| echo '`convert` from ImageMagick needs to be installed to create pngs.' \ || echo '`magick` from ImageMagick needs to be installed to create pngs.' \
'Only svgs will be created.' >&2 'Only svgs will be created.' >&2
echo "jj --version: (set PATH to change)" echo "jj --version: (set PATH to change)"
@ -61,12 +61,13 @@ for script in "$@"; do
# #
# `-background black` is important because the SVGs use transparency to make # `-background black` is important because the SVGs use transparency to make
# rounded corners, and the transparent portion becomes white by default. # rounded corners, and the transparent portion becomes white by default.
# TODO(ilyagr): Figure out if `convert` can make PNGs have transparency. # TODO(ilyagr): Figure out if `magick` can make PNGs have transparency.
# #
# `-resize 100%` is a no-op. `-resize 700x10000`` would make the width 700 px # `-resize 100%` is a no-op. `-resize 700x10000`` would make the width 700 px
# and preserve aspect ratio. # and preserve aspect ratio.
which convert > /dev/null \ which magick > /dev/null \
&& convert -colors 63 -background black -resize 100% \ && magick "$script_base".svg \
"$script_base".svg "$script_base".png \ -colors 63 -background black -resize 100% \
"$script_base".png \
|| true || true
done done