make-photo-pages (mpp.py) is a free Python software that generates static web albums (HTML) based on Google Picasa's export to XML feature or from a directory of pictures. It's 100% template based and supports i18n, exif and other features common on software of this type.
It was created for a personal need: even on this flickr era, I like to keep my pictures on my personal website and it was a nightmare to sync my local repository with the web. I tried several approaches and different softwares for more than two years, but none worked well or scaled enough on my scenario:
* Static pages (no sql, no php, no cgi)
* Templates based
* Support multi-language albums (i18n)
* Support image captions
* Support descriptions on albums (arbitrary text/html)
* Support (show) EXIF information
* Import pictures from a local directory
* Import pictures from Google Picasa(TM)
* Open Source
* Simple, fast, etc..
Using it is quite simple: it doesn't require installation, so all you have to do is create a .ini file with information about the albums (see below) and run mpp.py inside your albums root directory.
Step-by-step guide
1. If you're using Google Picasa, export your pictures as an html album and choose the XML format;
2. Create a .ini file with information about the albums (examples below);
3. Run mpp.py on the albums root directory (destination). mpp.py will create the album directories, thumbnails, rescale pictures, extract exif information, etc;
4. If you want, edit on each albums the files captions.txt (image captions) and html-description.txt (html text added on the album main page);
5. Run mpp.py again at any time if you've made any modifications on the config file, on the .txt files or if you deleted/added pictures. You can use --local_only if don't want to reimport the files;
6. See --help.
Some highlights:
* When importing data from Google Picasa's XML, mpp.py merges image captions imported with the ones written by hand (via captions.txt);
* mpp.py avoids rescaling pictures if they're already of the correct size;
* By default mpp.py creates a bkp/ directory inside every album before overwriting files;
* Implementing or changing a template is trivial. All you have to do is insert text variables inside the html code and mpp.py will replace them with the real information. See mpp-templates/README for more details.
You may be interested in a complete albums.ini example, including comments on each option, but a minimal yet full-featured .ini example is below:
[global]
albums = dot, curitiba
embedded_label = "http://www.mydomain.com/"
[dot]
title = "Pictures from dot, my little cat"
title2 = Dot
period = December 2006 - present day
from_dir = /home/ademar/picasa-exports/album-dot
[curitiba]
extra_langs = pt_BR
title = "Pictures from Curitiba - Paraná - Brazil"
title2 = "Curitiba - Paraná - Brazil"
title.pt_BR = "Fotos de Curitiba - Paraná"
title2.pt_BR = "Curitiba - Paraná"
from_dir = /home/ademar/pictures/album-curitiba
Product's homepage
Requirements:
· Python
· ImageMagick
· PIL
· A program to extract EXIF (optional)
What's New in This Release: [ read full changelog ]
· Improve/fix the validation of the picasa XML file
· Use xml.etree.ElementTree to parse XML (and get rid of xml2obj)
· Fix call with --album= if is not a valid album
· Implement support for multilanguage canonical urls
· Use ISO-639 language codes for templates
· Fix call to imagemagic convert utility on some platforms
· Strip jpg when creating thumbnail
· Update/improve the default template
· Copy extra template files to album destination
· Rename --local_only to --local
· Properly format img-exif-info in html (__IMG_EXIF__)
· Documentation improvements
· Escape special chars from html code in several parts
· Fixing thumbs table generation when # of imgs is even to # of collums
· Add support for title3 (used for shorter img {title,alt})
· Add support for a description tag on each album
· Lots of internal refactorings
· Fix processing of captions containing ':'
· Report a failure when the exif-extractor isn't found
· Move the thumbnails anchor '' from mpp.py to the template