Lazygal

About

lazygal is another static web gallery generator written in Python.

It can be summed up by the following features :

  • Commande line based (thus scriptable).
  • Reusable engine (to make a GUI for instance).
  • Lazy : do not build what's already there.
  • Recursive : generates subgalleries.
  • Does not change your original pictures directories (the source argument).
  • Tells you what should not be in your generated directories (and delete it if you want to).
  • Can generate multiple sizes to browse pictures according to your screen.
  • Sort pictures in the same directory by EXIF date if available, else file modification time.
  • Theming.
  • XHTML and CSS compliance for provided themes.
  • Support for per folder meta data.
  • RSS feed generation for your album updates.
  • Optional generation of ZIP archives of original pictures.
  • Output internationalization.
  • Optional breaking of big galleries (directories) on multiple pages.
  • Multiple sorting options for pictures and galleries.

A huge gallery shows Lazygal in action : Album. Another example using album images: Photos from Japan.

Requirements

lazygal requires :

Building a lazygal installation requires :

  • msgfmt for translations. intltool-update and xgettext are also needed to update translation files. All are included in the GNU gettext package.
  • xsltproc to build manpages from docbook sources. It is included in the libxslt package.

Usage

Usage is straightforward :

usage: lazygal [options] albumdir

Options:
  -h, --help            Show this help message and exit.
  --quiet               Don't output anything except for errors.
  --debug               Output everything that lazygal is doing.
  -o DEST_DIR, --output-directory=DEST_DIR
                        Directory where web pages, slides and thumbs will be
                        written (default is current directory).
  -t THEME, --theme=THEME
                        Theme name (looked up in theme directory) or theme
                        full path.
  --default-style=DEFAULT_STYLE
                        Default style to apply to the theme.
  --template-vars=TPL_VARS
                        Common variables to load all templates with.
  --clean-destination   Clean destination directory of files that should not
                        be there.
  -v, --version         Display program version.
  --check-all-dirs      Exhaustively go through all directories regardless of
                        source modification time.
  -s IMAGE_SIZE, --image-size=IMAGE_SIZE
                        Size of images, define as <name>=<x>x<y>,..., eg.
                        small=800x600,medium=1024x768. The special dimensions
                        0x0 use original size.
  -T THUMBNAIL_SIZE, --thumbnail-size=THUMBNAIL_SIZE
                        Size of thumbnails, define as <x>x<y>, eg. 150x113.
  -q QUALITY, --quality=QUALITY
                        Quality of generated JPEG images (default is 85).
  -O, --original        Include original photos in output.
  --orig-base=ORIG_BASE
                        Do not copy original photos in output directory,
                        instead link them using submitted relative path as
                        base.
  --puburl=PUB_URL      Publication URL (only usefull for feed generation).
  -m, --generate-metadata
                        Generate metadata description files where they don't
                        exist.
  -n THUMBS_PER_PAGE, --thumbs-per-page=THUMBS_PER_PAGE
                        Maximum number of thumbs per index page. This enables
                        index pagination (0 is unlimited).
  -z, --make-dir-zip    Make a zip archive of original pictures for each
                        directory.
  --webalbum-pic-bg=WEBALBUMPIC_BG
                        Webalbum picture background color. Default is
                        transparent, and implies the PNG format. Any other
                        value, e.g. red, white, blue, uses JPEG.
  --optimize            Run an extra optimization pass an each image.
  --progressive         Generate Progressive JPEG images.
  --pic-sort-by=ORDER   Sort order for images in a folder: filename, mtime, or
                        exif. Add ':reverse' to reverse the chosen order.
  --subgal-sort-by=ORDER
                        Sort order for sub galleries in a folder: filename or
                        mtime. Add ':reverse' to reverse the chosen order.

If you want to force lazygal into checking a directory's contents, simply touch the source directory to modify its modification time :

$ touch album_source/gallery_to_check

Download & Changelog

(full log of changes may be browsed in Lazygal's repository browser)

Lazygal is part of Debian (and thus Ubuntu universe), which should make it one aptitude install away if you use one of those.

Contributing

Code

Code may be downloaded using darcs :

darcs get --partial http://sousmonlit.dyndns.org/~niol/repository/lazygal/

It is browsable online in Lazygal's repository browser.

There should be an up to date snapshot of the repository available in the Snapshots directory.

Patches are very welcome and darcs makes it really easy to exchange changesets.

Translations

To start a new translation, for example cs_CZ, you can proceed as follows. The first script requires intltool-update and xgettext from the GNU gettext package.

$ devscripts/update-po
$ cp locale/lazygal.pot locale/cz_CZ.po
$ $EDITOR locale/cz_CZ.po

(do not bother committing or sending in changes to lazygal.pot, they contain a lot of noise because of changes in line numbers)

Another side-note : in templates, translatable strings are declared in a character noisy way (I hope to fix this one day). As an example :

<p><a href="..">Parent</a></p>

becomes

<p><a href="..">${_('Parent')}</a></p>

Bugs & feature requests

This project has too few users/contributors to justify the use of a dedicated bug tracking application.

For now, bug reports and feature requests may go in :

  • by e-mail, directly to alexandre.rossi@gmail.com (please put lazygal somewhere in the subject),
  • through the Debian Bug Tracking System to which I think I subscribed,
  • and even through darcs send as patches to a ./TODO file in the source, preferably with TODO at the beginning of the commit message.
Back to top
 

oss/lazygal.txt · Last modified: 2009/05/21 11:46 by niol

Creative Commons License

Powered by DokuWiki