Provided by: lazygal_0.10.5-1_all bug

NAME

       lazygal - static web gallery generator

SYNOPSIS

       lazygal -h | -v | options albumdir

DESCRIPTION

       This  manual  page  explains  the  lazygal  program.  This program is a static web gallery
       generator written in Python.

       lazygal works so: you should have  an  original  store  of  files  -  possibly  containing
       subdirectories  (their names serving as headings if not using the album metadata feature).
       This is the source file hierarchy.  It will never be  modified  by  lazygal.   Then,  when
       launching:

       $ lazygal -o /var/www/MyAlbum /home/user/SourceDir

       lazygal  will  analyze the contents of the source hierarchy and will (re)create the target
       hierarchy, with all the bells and whistles defined by the templates.  Only  missing  parts
       or  parts  that  are  not  up  to  date  will be generated.  There is a limitation to this
       mechanism though: although updates in the source directory, in  the  metadata  or  in  the
       themes  are  detected,  changes in command line options and configuration files since last
       generation are not and the user should manually delete files that  need  to  be  generated
       again.

       lazygal  source  directory  crawling will follow symbolic links on directories so that you
       can arrange what you want to publish in any  way  that  suits  you  without  copying  data
       around.

OPTIONS

       These  programs  follow the usual GNU command line syntax, with long options starting with
       two dashes (`-').  A summary of options is included below.  For  a  complete  description,
       see the -h switch.

       -v --version
              Show program's version number and exit.

       -h --help
              Show summary of options.

       --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.  This is actually the filename (no  extension)
              of the CSS stylesheet of the theme that is not marked as alternate, thus should get
              used as default or preferred by the web browser.

       --template-vars=TPL_VARS
              Common variables to load  all  templates  with,  e.g.   --template-vars='footer=foo
              bar,color=baz'.   For longer variable contents, it is easier to use a configuration
              file (see LAZYGAL-CONF).

       -f --force-gen-pages
              Force rebuild  of  web  pages,  regardless  of  the  modification  times  of  their
              dependencies.   This  is handy when changing a configuration option affecting these
              (theme, directory flattening, etc.).

       --clean-destination
              Clean destination directory of files that should not be there.

       --preserve=PATTERN
              Specify a file pattern (or name) which should be  ignored  during  cleanup  of  the
              destination.   May  be  specified  more  than  once.   Values given here will be in
              addition to those specified in configuration files.

       --exclude=PATTERN
              Specify a file pattern (or name) which should be ignored during processing.  May be
              specified more than once.  Values given here will be in addition to those specified
              in configuration files.

       --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=xxy, ..., eg.   small=800x600,medium=1024x768.   The
              special  dimensions  0x0  use original size.  Refer to the IMAGE RESIZE DESCRIPTION
              section for more information on the available syntax.  The number of sizes provided
              will   define   the   number   of   sizes   that   will   be   generated:  --image-
              size="medium=800x600" will only generate all images for a  medium  size  (no  small
              size)  --image-size="small=640x480,medium=800x600,large=1024x768"  will  generate 3
              sizes for all images (small, medium, large)

       -T THUMBNAIL_SIZE --thumbnail-size=THUMBNAIL_SIZE
              Size of thumbnails, eg.  150x113.  Refer to the IMAGE  RESIZE  DESCRIPTION  section
              for more information on the available syntax.

       -q QUALITY --quality=QUALITY
              Quality of generated JPEG images (default is 85).

       -O --original
              Include original photos in output.

       --orig-base=RELATIVE_PATH
              Do  not  copy  original  photos  in  output  directory,  instead  link  them  using
              RELATIVE_PATH as base for those links (discarded without -O).

       --orig-symlink
              Do not copy original photos in output directory, instead create symlinks  to  their
              original  locations.  This is useful when you plan transferring the whole directory
              which `generated to some other location, perhaps withrsync`, and you wish to  avoid
              creating an extra copy of each photo.

                     Caution

                     This  option  is  not  available  on  Windows;  if you try to use it on that
                     operating system, lazygal will immediately exit with an exit status of 1.

       --puburl=PUB_URL
              Publication URL (only useful for feed generation).

       -m --generate-metadata
              Generate metadata description files where they  don't  exist  in  the  source  tree
              instead of generating the web gallery.  This disables all other options.

       -n THUMBS_PER_PAGE --thumbs-per-page=THUMBS_PER_PAGE
              Maximum  number  of  thumbs  per  index  page.  This enables index pagination (0 is
              unlimited).

       --filter-by-tag=TAG
              If set, lazygal will only export the pictures that have one of  their  (IPTC)  tags
              matching TAG.  It is also possible to use an equivalent of AND and OR boolean tests
              to filter tags.  For more details, read below the section TAG FILTERING.

       --pic-sort-by=ORDER
              Sort order for images in a subgallery, among  'mtime',  'filename',  'numeric',  or
              'exif'.   (default  is  'exif'  which  is  by  EXIF date if EXIF data is available,
              filename otherwise, sorting EXIF-less images before).   'numeric'  does  a  numeric
              sort on the numeric part of the filename.  Add ':reverse' to reverse the sort order
              (e.g. --pic-sort-by=mtime:reverse).

       --subgal-sort-by=ORDER
              Sort order for subgalleries, among 'exif' (EXIF date of the latest picture in  sub-
              gallery),  'mtime', 'dirname', or 'numeric' (default is 'dirname').  'numeric' does
              a numeric sort on the numeric part of the dirname.  Add ':reverse' to  reverse  the
              sort order (e.g. --subgal-sort-by=dirname:reverse).

       --dir-flattening-depth=LEVEL
              Level  below  which  the  directory  tree  is  flattened.  Default is no flattening
              ('No').

              This option makes the program include the web gallery index of child  galleries  in
              their  parent's  gallery  index, if their level is greater than the supplied LEVEL.
              The level of the album root is 0.

              Index pages with multiple galleries (which happens when this section is used)  show
              the pictures links in gallery sections.

              The  following  examples  show  the  produced  indexes  for  a sample album (2 sub-
              galleries, 1 sub-sub-gallery, 1 picture in each one of those).

              Example 1. –dir-flattening-depth=No (default)

                     index.html <- sub-gallery links
                     subgal1/index.html <- index with img1
                     subgal1/img1.html
                     subgal1/subsubgal1/index.html <- index with img2
                     subgal1/subsubgal1/img2.html
                     subgal2/index.html <- index with img3
                     subgal2/img3.html

              Example 2. –dir-flattening-depth=0

                     index.html <- contains index for all pics
                     subgal1/img1.html
                     subgal1/subsubgal1/img2.html
                     subgal2/img3.html

              Example 3. –dir-flattening-depth=1

                     index.html <- contains index for all pics
                     subgal1/index.html <- index with img1 and img2
                     subgal1/img1.html
                     subgal1/subsubgal1/img2.html
                     subgal2/index.html <- index with img3
                     subgal2/img3.html

       -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.

       --webalbum-pic-type=WEBALBUMPIC_TYPE
              What  type  of web album thumbnails to generate.  By default, lazygal generates the
              well-loved "messy" thumbnails with randomly selected pictures from the  album  each
              rotated by a random amount and pasted together.  This default can also be forced by
              specifying 'messy' as WEBALBUMPIC_TYPE.

              On the other hand, specifying 'tidy' as the value of this option forces lazygal  to
              skip the rotations, resulting in more regularly shaped thumbnails which can also be
              more densely packed.  This can be an advantage if not all users of your albums have
              huge screens :-)

       --keep-gps-data
              Do  not  remove  GPS data from EXIF tags.  By default the location tags are removed
              for privacy reasons.  However, there are situations when having the  location  data
              makes sense and is desired.  This is mostly meant to be used with holiday photos.

       --no-video
              Do not process videos nor include them in indexes.

THEMES

       A theme maps to a directory that contains the following items:

       theme/SHARED_*
              Files  to  put in the web gallery directory shared, e.g. CSS, Javascript, images or
              other resources common to all galleries.

       theme/browse.thtml
              The XHTML template for the theme browse page (displaying one picture).

       theme/dirindex.thtml or theme/dynindex.thtml
              The XHTML template for the directory index page (pictures and sub-galleries links).

       Depending on which index file is present, the theme will be:

       dirindex.thtml: fully static
              one HTML page per picture, per size and one index per size, or

       dynindex.thtml: dynamic
              only one index per directory is to be generated.

       theme/*.thtml must be valid XML.   See  http://genshi.edgewall.org/wiki/Documentation/xml-
       templates.html  for  syntax.   Dependencies  for  statically included templates (i.e. with
       filenames not computed from  variables)  are  automatically  computed:  when  an  included
       template  is  modified,  the  software  will  automatically  figure out which pages to re-
       generate.  Missing template files will be searched for in the default theme.

       theme/SHARED_* files (common resources for the directory shared) are renamed to strip  the
       SHARED_ prefix and:

       • Processed       using      the      Genshi      text      template      engine      (see
         http://genshi.edgewall.org/wiki/Documentation/text-templates.html for syntax.) if  their
         file extension starts with t,

       • Copied to the web album destination otherwise.

       Using  the  theme  manifest theme/manifest.json file, it is possible to include files from
       other directories to be copied into the web album shared files.

              {
                  "shared": [
                      # copy as shared/lib.js
                      { "path": "../lib-2.1.js", "dest": "lib.js" },

                      # copy as shared/js/lib-2.1.js
                      { "path": "../lib-2.1.js", "dest": "js/" }

                      # copy first found as shared/lib.js
                      # instruct ./setup.py dl_assets to download it from url otherwise
                      { "path": [ "/usr/share/javascript/lib-2.1.js", "lib.js"],
                        "dest": "lib.js",
                        "url": "https://lib.com/lib-latest.js"
                      },

                      # copy prefixed files in shared/
                      { "path": "SHARED_*" },
                  ]
              }

       Please refer to the examples supplied in /usr/share/lazygal/themes.

ALBUM METADATA

       If a directory from the source album  contains  a  file  named  album_description,  it  is
       processed  as  a  source  of  album  metadata.   The format is borrowed from another album
       generating tool - Matew.  Each line is treated as one  possible  tag,  unknown  lines  are
       simply ignored.  Example content of this file follows:

              Album name "My album"
              Album description "Description, which can be very long."
              Album image identifier relative/path/to/image.jpg

       Otherwise, the user can provide metadata in the following files.

       SOURCE_DIR/album-name
              The title to use for this album directory.

       SOURCE_DIR/album-description
              The  description  for  this album directory.  HTML tags are used verbatim from this
              file.

       SOURCE_DIR/album-picture
              The relative path to the image to use at the top of the album picture stack.

       SOURCE_DIR/PICTURE_FILENAME.comment
              The description to use for this particular image.  Please note that HTML  tags  are
              taken as provided in this file for output in the templates.

       Lazygal also extracts information from many metadata tags in image files.  Regarding image
       description, Lazygal searches for comments in this order:

       1. pic.jpeg.comment file

       2. Exif.Photo.UserComment

       3. Exif.Image.ImageDescription

       4. Iptc.Application2.ObjectName

       5. JPEG comment

FILES

       ~/.lazygal
              User configuration directory.

       ~/.lazygal/themes
              User themes directory.

CONFIGURATION FILES

       Multiple configuration files are processed by DHPACKAGE.  The configuration  is  initially
       set  up with the defaults.  The defaults can be found in the DHPACKAGE source distribution
       in lazygal/defaults.json.

       Then, the configuration files are processed in the following  order,  each  newly  defined
       value overloading formerly defined values.

       Finally,  any  command-line-provided  parameter takes precedence on any configuration file
       value.

       ~/.lazygal/config
              User configuration file.  See LAZYGAL-CONF for format.

       SOURCE_DIR/.lazygal
              Album root configuration file.  See LAZYGAL-CONF for format.

       SOURCE_DIR/gal/.lazygal
              Web gallery configuration file.  Only the webgal and template-vars sections are red
              in  these  files.   The  configuration  applies  to  the  gallery  representing the
              directory of the configuration file, and all of its sub-directories, unless another
              configuration  file  in a sub-directory overloads some of the defined configuration
              values.  See LAZYGAL-CONF for format.

SIZE DESCRIPTION

       The size string follows the same syntax as ImageMagick's.

       scale% Height and width both scaled by specified percentage.

       xscale%yscale%
              Height and width individually scaled by specified percentages.

       width  Width given, height automatically selected to preserve aspect ratio.

       xheight
              Height given, width automatically selected to preserve aspect ratio.

       widthxheight
              Maximum values of height and width given, aspect ratio preserved.

       widthxheight^
              Minimum values of width and height given, aspect ratio preserved.

       widthxheight!
              Width and height emphatically given, original aspect ratio ignored.

       widthxheight>
              Change as per the supplied dimensions but only if  an  image  dimension  exceeds  a
              specified dimension.

       widthxheight<
              Change dimensions only if both image dimensions exceed specified dimensions.

       pixels@
              Resize image to have specified area in pixels.  Aspect ratio is preserved.

TAG FILTERING

       Tag  filtering  supports  regular expression matching thanks to the 're' module of Python.
       All the filter matchings can be indicated to lazygal by successive uses of the 'filter-by-
       tag' option, or by giving a coma-separated list of keywords.

       We illustrate here how more elaorated tag filtering can be done.

       We want to export only the images that have the tags 'lazygal' AND 'hiking'.

       $ lazygal --filter-by-tag=lazygal --filter-by-tag=hiking

       or:

       $ lazygal --filter-by-tag=lazygal,hiking

       We want to export the images that have the tags 'lazygal' OR 'hiking'.

       $ lazygal --filter-by-tag="(lazygal|hiking)"

       We  want  to  export  the  images  that have one of the tags 'hiking_2012', 'hiking_2013',
       'hiking_France', etc.

       $ lazygal --filter-by-tag="hiking_.*"

       We want to  export  the  images  that  have  the  tag  'lazygal',  AND  one  of  the  tags
       'hiking_2012', 'hiking_2013', 'hiking_France', etc.

       $ lazygal --filter-by-tag="lazygal,hiking_.*"

SEE ALSO

       lazygal.conf(5)

       More       information       is      available      on      the      program      website:
       https://sml.zincube.net/~niol/repositories.git/lazygal/about/.

AUTHOR

       This manual page was  written  for  the  DEBIAN  system  (but  may  be  used  by  others).
       Permission  is  granted to copy, distribute and/or modify this document under the terms of
       the GNU General Public License, Version 2 any later version published by the Free Software
       Foundation.

       On  Debian  systems,  the  complete text of the GNU General Public License can be found in
       /usr/share/common-licenses/GPL.

AUTHORS

       Alexandre Rossi.

                                                                                       LAZYGAL(1)