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