This project was started at a time when I was frustrated with PHP for its — at least back then — very frequent security issues and I wanted to get rid of all server-sided scripts, which I could get rid off easily. «Why shouldn't one just build a gallery offline», it occurred to me one day. After all, just displaying a few images doesn't really require any advanced server-sided scripting support, right? And so it began.
The fundamental objectives were to create a tool to locally build a web gallery from a given directory tree, which then can be uploaded to a web server. The tool itself is implemented as a simple shell script. Hence, it should be working on any POSIX-ish system. In good Un*x tradition, I built around the powerful ImageMagick-framework for all the image manipulations. Also, one shall have good control over the results with a thumbnail preview per directory and a very sleek and simple navigation. After all, the images shall speak for themselves, without all to much «bloatiness» distracting from the presentation.
The code is more or less work in progress and I do the development mostly for my own pleasure and to fit my own image publishing needs.
As an example, my photo galleries are generated using
Still, I am open for suggestion on how to improve the quality of the code, produce better output, or features to keep in mind for future development.
Yet, it may not be very well suited for those faint of shell.
In the past, this tool has been used successfully on a variety of BSD-, Linux- and Cygwin systems.
And although today I run and develop
tngal.sh using Mac OS X I keep portability in mind.
Nevertheless, if you run into problems, please let me know.
This is an incomplete list of available features:
- (0.9) Option for creating high-resolution images on high-resolution screens, provided the original image size is sufficient.
- (0.9) Keyboard navigation
- (0.9) I18N support. The user may provide translations through configuration file settings.
- Recurse through entire input directory-trees.
- Supports global, per-user, and per-directory configuration presets.
- Optional automatic image manipulations:
- down-sampling and USM-sharpening,
- provide hooks for user-provided image filtering,
- ICC profile conservation or transplantation.
- Images can be titled and annotated.
- (0.9) Title and annotations are derived from IPTC metadata
- Thumbnail index can tie in user-provided header and footer texts.
- Extract and easily display EXIF metadata from images.
- Supports flexible CSS theming.
- Generate ATOM and RSS feeds of your photostream for syndication.
- ImageMagick with lcms-Support
- recommended: Exiv2
- recommended: jhead or exifautotran
This tool is released under the terms of a BSD-style Licence. Enjoy!