Plan 9 from Bell Labs’s /usr/web/sources/contrib/boyd/sys/src/cmd/mkthumb

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


#!/bin/sh

#
# mkthumb *.jpg ...
#
# Create an index.html with thumbnails with hyper-links to the full size jpegs.
#
# Boyd Roberts <boyd@fr.inter.net>
# April 2000 (things happen to me in April, maybe I was a Marine in a former
# life -- ``things happen to Marines''.
#

myname="`basename \"$0\"`"

year="`date '+%Y'`"
name='Boyd Roberts'
email='boyd@fr.inter.net'
index='index.html'
thumb='thumb'

scale()
{
	djpeg -pnm "$1" | pnmscale -width 160 -height 120 | cjpeg
}

header='<html>
<head>
<title>
title
</title>
</head>
<body>
<h1>
title
</h1>
<p>
text
<p>
<br>'

footer="<hr>
&copy; $year, $name:
<a href="mailto:$email">$email</a>
</body>
</html>"

case $# in
0)
	echo "usage: $myname [ *.jpeg | *.jpg ] ..." 1>&2
	exit 1
	;;
esac

if [ ! -d "$thumb" ]
then
	if mkdir "$thumb"
	then
		:
	else
		echo "$myname:  Could not mkdir '$thumb'." 1>&2
		exit 1
	fi
fi

(
	echo "$header"

	n=

	for j
	do
		# get extension

		x="`expr \"$j\" : '.*\.\(.*\)'`"

		case "$x" in
		jpg|JPG|jpeg|JPEG)
			;;

		*)
			echo "$myname: Can't convert '$j'." 1>&2
			continue
			;;
		esac

		echo "<a href=\"$j\"><img src=\"$thumb/$j\" hspace=4 vspace=4></a>"

		scale "$j" > "$thumb/$j"

		case "$n" in
		...)
			echo '<br>'
			n=''
			;;

		*)
			n="$n."
			;;
		esac
		
	done

	case "$n" in
	'')
		;;

	*)
		echo '<br>'
		;;
	esac

	echo "$footer"
) > "$index"



Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.