82 lines
4.1 KiB
Markdown
Executable file
82 lines
4.1 KiB
Markdown
Executable file
+++
|
|
date = "2007-05-21T18:05:00-07:00"
|
|
title = "BINS Photo Album"
|
|
categories = ["software","photos"]
|
|
tags = ["cli","photos"]
|
|
+++
|
|
|
|
**EDIT 2019-06-22:** It seems like the BINS website is gone. Do not know if this is temporary or not.
|
|
|
|
|
|
BINS Photo Album
|
|
================
|
|
|
|
The BINS Photo Album is a package to
|
|
generate static web pages from the command line. Why would you want to
|
|
do this? Well, most of the dynamic web photo albums require that the
|
|
server do all the work when the client requests the images, thus either
|
|
slowing it down, or requiring a very beefy server. Also, you introduce
|
|
the chance for a script-kiddie from hacking your site. Not good.
|
|
|
|
Enter BINS. Some of its features include \[from the web
|
|
page\]:
|
|
|
|
- generated album is **static** : it's just plain HTML/CSS/Javascript
|
|
files (Javascript is not mandatory to view the album), no need of
|
|
any dynamic language (php, asp, etc.) nor database on server side.
|
|
Album can be burned on CD or DVD.
|
|
- album can contains other albums (**sub albums**): the album can have
|
|
a tree structure ;
|
|
- generation of a **thumbnail** and of **scaled images** for each
|
|
picture ;
|
|
- generated album appearance is **fully customizable** by using **HTML
|
|
templates** (5 different templates sets are currently provided) and
|
|
**configuration parameters**: colors, number and size of thumbnails
|
|
per page, number and size of scaled pictures (in pixels or
|
|
percentage of the original image for the size), fields to display,
|
|
etc. Those parameters can be **set globally** (system wide or per
|
|
user), **per album** or sub album or **per picture** (for example,
|
|
you can change the colors of one sub album or one just one picture
|
|
page in an album by editing its description file) ;
|
|
- several **description fields** (date, location, etc...) can be
|
|
associated with the pictures (in text or HTML format). You can
|
|
easily add or customize these fields ;
|
|
- description fields can be set or modified via a **command line
|
|
interface** or a **GTK+/GNOME-based GUI** ;
|
|
- A **search engine** is included in the album : you can find some
|
|
pictures by searching keywords in their description fields.
|
|
- Album can be generated from pictures managed by
|
|
Zoph.
|
|
- **speed up** album browsing by performing a clean up of HTML code to
|
|
reduce its size and by **pre-loading** thumbnails in browser cache
|
|
using *JavaScript* code ;
|
|
- Exif information and **Digital camera support** :
|
|
|
|
- use the EXIF data structure found on some image files (usually,
|
|
those produced by digital cameras) to fill automatically some
|
|
fields (date and time for example).
|
|
- BINS use the Orientation EXIF tag (which is normally set when
|
|
you rotate a image on you DigiCam) to **rotate the picture to
|
|
correct orientation**.
|
|
- For each image, a page provides all information available on the
|
|
picture and the **DigiCam settings** when the photo was taken.
|
|
- Additional information are provided for **Canon DigiCams**.
|
|
- Tooltips provide information about the meaning of some of the
|
|
fields.
|
|
- All EXIF information is saved in the XML description file,
|
|
preventing they disappear when the image is modified ;
|
|
|
|
- **internationalization** (generation of album in different
|
|
languages) using gettext. Current languages supported are Catalan,
|
|
Dutch, English, Esperanto, Finish, French, German, Hungarian,
|
|
Italian, Japanese, Polish, Russian, Spanish and Traditional Chinese
|
|
;
|
|
- **customizable charset encoding** for HTML generation, including
|
|
**UTF-8 (Unicode)** support by default. Generation of the Apache
|
|
`.htaccess` file for correct encoding charset in HTTP headers ;
|
|
- use of **XML files** to save user description of pictures and
|
|
albums/subalbums and Exif data from image file ;
|
|
- handle correctly file and directory names with spaces or other odd
|
|
characters (excepted '/'), and create **valid escaped URLs** ;
|
|
- generate **valid HTML/XHTML** code. The level of HTML depends of the
|
|
style used. Some of the styles are valid, table free XHTML.
|