per aspergera ad astra
2026-07-17
lets have this instead
fancy shell script html tag generator / image converter
#!/bin/sh -Cefu
set -Cefu
_img_size()
{
local file="$1"
exiftool -n -csv -Orientation -ImageWidth -ImageHeight "$file" \
| fgrep -v Orientation | cut -d , -f 2-4 \
| awk -F , '{ if ($1 ~ /^[68]$/) { print $3 " " $2 }
else { print $2 " " $3 } }' \
| xargs printf 'width="%s" height="%s"'
}
_img()
{
local imgs="$1"
local img
echo '<p>'
echo
for img in $imgs
do
resized="`echo \"$img\" | sed 's|\.|-resized.|'`"
convert "$img" -resize 375x "$resized"
cat <<- eof
<a href="$img">
<img src="$resized" alt="$resized"
`_img_size "$resized"` fetchpriority="high">
</a>
eof
done
echo '</p>'
}
case "${1:-}"
in
p)
cat <<- eof
<p>
</p>
eof
;;
a)
case "${2:-}"
in
'')
cat <<- eof
<a href=""></a>
eof
;;
*)
cat <<- eof
<a href="$2">$2</a>
eof
;;
esac
;;
pre)
case "${2:-}"
in
'')
cat <<- eof
<pre></pre>
eof
;;
-)
echo '<pre>'
sed 's|<|\<|g; s|>|\>|g'
echo '</pre>'
;;
esac
;;
img)
case "${2:-}"
in
'')
cat <<- eof
<a href="">
<img src="" alt=""
width="" height="" fetchpriority="high">
</a>
eof
;;
*)
shift
_img "$*"
;;
esac
;;
esac
created [1784287635] 2026-07-17 14:27:15 +0300/EEST, modified [1784294120] 2026-07-17 16:15:20 +0300/EEST