Work the Shell - Displaying Image Directories in Apache, Part IV
With all of this tucked into the script, we can use a skeleton table to organize things neatly. In a rough form, it'll look like this:
<table border="0"><tr> <td align="center">image</td> <td align="center">image</td> <td align="center">image</td> </tr></table>
Dropping it into the script, the key block that both displays the image, scaled, and keeps track of when we need to produce a new row in the table is:
if [ $linecount -eq $maxperline ] ; then # new row of table echo "</tr><tr>" linecount=0 fi echo "<td align='center' valign='bottom'>" echo "<a href=$name><img src=$name border=0" echo " alt=$name height=$height width=$width />" echo "<br>$name</a><br>($height x $width)</td>" linecount=$(( $linecount + 1 ))
Now, because I want to write a highly readable script, it's worth highlighting that the top section lets you configure the heck out of this:
maxsize=150 # max thumbnail size, in pixels maxperline=3 # max images per table row
Both of these constants can be tweaked as needed. The result? See Figure 1. Sweet!
The full script is pretty cool. If you'd like to get a copy of it, please pop over to my site: www.intuitive.com/wicked/imagedir.txt. Save it as index.cgi in an image directory on your Web server.
Dave Taylor is a 26-year veteran of UNIX, creator of The Elm Mail System, and most recently author of both the best-selling Wicked Cool Shell Scripts and Teach Yourself Unix in 24 Hours, among his 16 technical books. His main Web site is at www.intuitive.com, and he also offers up tech support at AskDaveTaylor.com.
Dave Taylor has been hacking shell scripts for over thirty years. Really. He's the author of the popular "Wicked Cool Shell Scripts" and can be found on Twitter as @DaveTaylor and more generally at www.DaveTaylorOnline.com.
Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report
August 27, 2015
12:00 PM CDT
DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.
Free to Linux Journal readers.Register Now!
- Hacking a Safe with Bash
- Django Models and Migrations
- Secure Server Deployments in Hostile Territory, Part II
- Home Automation with Raspberry Pi
- Huge Package Overhaul for Debian and Ubuntu
- The Controversy Behind Canonical's Intellectual Property Policy
- Shashlik - a Tasty New Android Simulator
- Embed Linux in Monitoring and Control Systems
- KDE Reveals Plasma Mobile
- diff -u: What's New in Kernel Development