This is a Jekyll plugin that generates galleries from directories full of images. It uses RMagick to create thumbnails.
This plugin is quite minimalist. It generates galleries with no pagination, no sub-galleries, and no descriptions. See my gallery for an example of what it looks like.
-
Install the
jekyll-gallery-generatorgem, either by runninggem install jekyll-gallery-generatoror by addinggem 'jekyll-gallery-generator'to yourGemfileand runningbundle. -
Add
jekyll-gallery-generatorto the plugins list in your_config.yml:
plugins: - jekyll-gallery-generator
- Copy your image directories into
jekyll-site/photos/. Here's what my directory structure looks like:
$ ls jekyll-site/photos best/ chile_trip/ japan_trip/ $ ls jekyll-site/photos/chile_trip IMG_1039.JPG IMG_1046.JPG IMG_1057.JPG
- Run
jekyll buildand be patient. It can take a while to generate all the thumbnails on the first run. After that, you should have pretty pictures.
- ImageMagick
- RMagick
- exifr
- Ruby >= 2.1
brew install imagemagick rbenv rbenv install 2.4.0 rbenv global 2.4.0 gem install rmagick exifr
apt install libmagick++-dev gem install rmagick exifr
This plugin reads several config options from _config.yml. The following options are supported (default settings are shown):
gallery: dir: photos # Path to the gallery symlink: false # false: copy images into _site. true: create symbolic links (saves disk space) title: "Photos" # Title for gallery index page title_prefix: "Photos: " # Title prefix for gallery pages. Gallery title = title_prefix + gallery_name sort_field: "date_time" # How to sort galleries on the index page. # Possible values are: title, date_time, best_image thumbnail_size: x: 400 # max width of thumbnails (in pixels) y: 400 # max height of thumbnails (in pixels) # The following options are for individual galleries. galleries: chile_trip: best_image: IMG_1068.JPG # The image to show on the gallery index page. Defaults to the last image. japan_trip: best_image: IMG_0690.JPG name: "日本の旅" # Defaults to directory name, replacing _ with spaces & capitalizing words. awesome_stuff: best_image: snaileo_gonzales.jpg sort_reverse: true # Reverse sort images in gallery. secret_stuff: hidden: true # Don't show this gallery on the index page. People must guess the URL. with_info: info: desc: "Gallery Description" # Info fields can be used in custom templates.
If you want to customize the templates used by this generator, copy gallery_index.html and gallery_page.html to your Jekyll site's _layouts:
cp lib/gallery_index.html jekyll-site/_layouts/
cp lib/gallery_page.html jekyll-site/_layouts/