Go gallery is a simple web gallery written in golang to browse a folder hierarchy containing pictures. It displays them in a nice and elegant way.
It sorts folders by month and day based on theis name and by applying the regular expression ^([0-9]+)-([0-9]+)
. It then displays them chronologically.
It recognizes jpeg|jpg|gif|png|bmp
pictures and mp4|m4v|mpeg|mpg|avi
videos and sort them by name, pictures first.
When clicking on a picture or video, a nice fancybox is displayed. Videos are played in it with the help of the <video>
introduced in HTML 5.
Keybinding are enabled in the navigation : →, ←, ESC
The folder hierarchy may be as follows :
├──2013
├──2014
├──2015
└──2016
├── 01-01_NewYear
│ ├── picture1.jpg
│ ├── picture2.jpg
│ ├── video1.mp4
│ └── ...
├── 06-05_Beach
└── ...
This gallery uses convert from ImageMagick in order to generate thumbnails.
On debian :
apt-get install imagemagick
On a mac, the installation requires port to be available and then :
sudo port install ImageMagick
go-gallery
requires golang
in version 1.4.2 at least.
Select an empty folder and run :
export GOPATH=`pwd`
go get gitlab.com/coliss86/go-gallery
It downloads the source from gitlab and compiles it. The resulting binary is located in $GOPATH/bin
.
To run it :
$GOPATH/bin/go-gallery <config file>
- 'config file' : mandatory path to the config file
Here is a example of this config file :
images=/Users/user/Pictures
export=/Users/user/export
cache=/Users/user/temp/cache
port=9090
- Please report issues on Gitlab Issue Tracker.
- In your report, please provide steps to reproduce the issue.
- Before reporting:
- Make sure you are using the latest master.
- Check existing open issues.
- Merge requests, documentation requests, and enhancement ideas are welcome.
"Go gallery" is distributed under GNU GPL v3 license, see LICENSE.
It also uses third-party libraries and programs:
- fancyBox (Creative Commons Attribution-NonCommercial 3.0 License) : http://fancyapps.com/fancybox/
- famfamfam silk icons (Creative Commons Attribution 2.5 License license) : http://www.famfamfam.com/lab/icons/silk/
- woofunction icons (GNU General Public License license) : http://www.iconarchive.com/show/woofunction-icons-by-wefunction.html
- Tag Manager (a jQuery plugin) (Mozilla Public License 2.0 license) : https://maxfavilli.com/jquery-tag-manager
- Icon Author: sa-ki (License: Free for personal non-commercial use) : http://sa-ki.deviantart.com
- A configuration file parser library for Go / Golang (The MIT License) :
https://github.com/jimlawless/cfg/ - Gorilla web toolkit (BSD licensed) : http://www.gorillatoolkit.org/
- Play icon (CC0 1.0 Universal (CC0 1.0) Public Domain Dedication License) : http://www.iconsdb.com/caribbean-blue-icons/video-play-3-icon.html
- jQuery Lazy (MIT License) : http://jquery.eisbehr.de/lazy/