Anatomy of a Lightroom HTML Gallery

Lightroom HTML galleries used to be written in a mix of XSLT and XML. The simpler coding in Lua makes it a pleasure to create HTML galleries with. You can write Flash galleries in Lua, but because IE doesn’t allow plugin loading on PC Lightroom, you can’t see them in the preview window. Hence 3rd party Flash galleries use the old method for cross platform compatibility.

Lua galleries were introduced in Version 1.3 and have matured somewhat with V2.0. The new syntax is much tidier and more compact. In fact Matthew Campagna shaved 500 lines off one of his galleries for version 2, and my new website in a gallery LRB Portfolio managed close to that also.

So what comprises a Lua Gallery? Well the absolute minimum a gallery can contain is 3 files: galleryInfo.lrweb, manifest.lrweb and a HTML file. Let’s look at them in a little more detail:

galleryInfo.lrweb: This is the heart of the gallery and the file Lightroom uses to define the internals of the gallery and the contents of the panels in the Right panel. In this file you define the control variables, the checkboxes, the sliders and all the other controls of the gallery. You can create custom style sheet through the code here (however, it’s not truly a Cascading Style Sheet as it doesn’t output in your assigned order).

manifest.lrweb: This file tells Lightroom what files to include with the gallery, along with the HTML pages used. You can include image files, CSS files, Javascript files and others with this file.

HTML file: This is the base file for the gallery. It makes calls to variables defined in galleryInfo.lrweb and the custom.css file that is created from it.

The mix of all three is what builds the gallery. You can add your own CSS files and site HTML to the HTML and easily integrate it into your current site design. We’ll be looking at this in more detail in future posts.

In the next post, we start looking at galleryInfo.lrweb in more detail.

About Sean McCormack