summaryrefslogtreecommitdiff
path: root/bin/rtt-update-covers
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2025-04-25 12:18:00 +0200
committerTor Andersson <tor@ccxvii.net>2025-04-25 17:56:43 +0200
commitfc3501382c2aa3ef5b692f4f55c2616f9cade3f5 (patch)
treea047bb94f8f1854c621fa0fba5ed62c8e0d0be14 /bin/rtt-update-covers
parented2361980b455d1825d811670f329cbcf5624927 (diff)
downloadserver-fc3501382c2aa3ef5b692f4f55c2616f9cade3f5.tar.gz
Move toolbox scripts to a "bin" directory.
Add a super "rtt" command to run the scripts.
Diffstat (limited to 'bin/rtt-update-covers')
-rwxr-xr-xbin/rtt-update-covers53
1 files changed, 53 insertions, 0 deletions
diff --git a/bin/rtt-update-covers b/bin/rtt-update-covers
new file mode 100755
index 0000000..0eae8e7
--- /dev/null
+++ b/bin/rtt-update-covers
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+if command -v convert && command -v pngtopnm && command -v cjpeg
+then
+ echo "Generating cover images and thumbnails!"
+else
+ echo error: cannot find imagemagick, netpbm, and/or cjpeg
+ exit 1
+fi
+
+for F in public/*/cover.jpg public/*/cover.png
+do
+ echo processing $F
+ B=$(echo $F | sed s/.jpg// | sed s/.png//)
+ D=$(dirname $F)
+
+ if [ $F -nt $D/thumbnail.png ]
+ then
+
+ PORTRAIT=$(convert $F -format '%[fx:w<h]' info:)
+ SQUARE=$(convert $F -format '%[fx:w=h]' info:)
+
+ SIZE_1X=170x200
+ SIZE_2X=340x400
+ SIZE_TH=120x144
+
+ if test $PORTRAIT = 1
+ then
+ echo - portrait
+ SIZE_1X=150x200!
+ SIZE_2X=300x400!
+ SIZE_TH=108x144!
+ fi
+
+ if test $SQUARE = 1
+ then
+ echo - square
+ SIZE_1X=170x170!
+ SIZE_2X=170x170!
+ SIZE_TH=120x120!
+ fi
+
+ convert -colorspace RGB -resize $SIZE_TH $F -colorspace sRGB $D/thumbnail.png
+ convert -colorspace RGB -resize $SIZE_1X -colorspace sRGB $F $B.1x.png
+ convert -colorspace RGB -resize $SIZE_2X $F -colorspace sRGB $B.2x.png
+
+ fi
+
+ pngtopnm $D/thumbnail.png | cjpeg -progressive -optimize -sample 1x1 -quality 95 > $D/thumbnail.jpg
+ pngtopnm $B.1x.png | cjpeg -progressive -optimize -sample 1x1 -quality 95 > $B.1x.jpg
+ pngtopnm $B.2x.png | cjpeg -progressive -optimize -sample 1x1 -quality 95 > $B.2x.jpg
+
+done