A Radiant (radiantcms.org) extension by Andrea Franz (gravityblast.com) and maintained by Thomas Cowell (eightsquarestudio.com) that allows to manage galleries of images, photos and all kind of files.
-
Multiple nested galleries
-
Multiple upload
-
Import from ftp
-
Images/Files sorting by drag-n-drop
-
Automatic thumbnail generation for images after upload
-
Preview in lightwindow for images
After the Radiant installation you must install the attachment_fu plugin:
cd /path/to/radiant git clone git://github.com/technoweenie/attachment_fu.git vendor/plugins/attachment_fu
Then install the Gallery extension:
git clone git://github.com/hairballopolis/radiant-gallery.git vendor/extensions/gallery cd vendor/extensions/gallery git checkout 0.8.1 or the latest stable version in line with the current radiant version
Now you can run the install task:
rake RAILS_ENV=production radiant:extensions:gallery:install
The installation task creates a file called gallery.yml under /path/to/radiant/config/extensions/gallery/. Inside that file there are some variables you can edit:
-
path_prefix: The galleries folder path.
-
processor: The processor used to create thumbnails (rmagick | image_science | mini_magick).
-
default_thumbnails: a list of thumbnails that will be generated after each upload.
-
max_size: size in kilobytes for the maximum allowed size of image to be processed and added.
-
storage: The type of storage to use (:file_system | :db_file | :s3 | :cloud_files) ], the default is :file_system
path_prefix: public/galleries processor: rmagick
max_size: 3000 #file max size in kilobytes
storage: file_system # default gallery_based: no default_thumbnails: admin_thumb: 300x300 # do not remove admin_preview: 500x500 # do not remove small: 150x large: 450x
storage can be updated by also config/environment.rb
config/environment.rb config.after_initialize do … Radiant::Config = “file_system” end
After the installation you will be able to see the ‘Galleries’ tab in the Radiant administration panel. Click on it and start creating galleries and uploading images. Now create a new page, choose one of the layouts created during the gallery extension installation, and set ‘Gallery’ as page type. Publish the new page and go to its url.
<r:gallery id="GALLERY_ID"> <ul> <r:gallery:items:each by="position" sort="asc"> <li><r:gallery:item:path /></li> </r:gallery:items:each> </ul> </r:gallery>
<ul> <r:galleries:each level="all|top|bottom|current"> <li><r:gallery:name /></li> </r:galleries:each> </ul>
The value of the level attribute could be:
-
all (default): displays all galleries
-
top: displays galleries without a parent
-
bottom: displays galleries without children
-
current: displays children of the current gallery. If the current gallery is not set, it displays all the top galleries.
<ul> <r:gallery:items:each by="created_at" sort="desc" scope="all"> <li><r:gallery:item:thumb width="100" height="100" prefix="small" geometry="c50x50"/></li> </r:gallery:items:each> </ul>
The value of the scope attribute could be:
-
gallery (default): displays images of the current gallery
-
all: displays all uploaded images
Create a gallery tree like the following:
- Languages | - Ruby | - Python | - Java
Now create a Gallery page (with gallery as page type) called gallery. Go to its url (localhost:3000/gallery). In that page the current gallery is not set, but if you go to ‘/gallery/languages’, the current gallery is Languages, under ‘/gallery/languages/ruby’ the current gallery is Ruby and so on.
Otherwise you can set the current gallery using the gallery tag:
<r:gallery id="GALLERY_ID"> <r:galleries:each level="current"> <!-- loop through the current gallery children --> </r:galleries> <r:gallery:items> <!-- loop through the current gallery images --> </r:gallery:items> <r:gallery>
Thumbnails are generated on the fly with the gallery:item:thumb tag. Inside a page you can write:
<r:gallery id="GALLERY_ID"> <r:gallery:item:thumb width="200" height="100" prefix="small" position="first" geometry="c50x50"/> </r:gallery>
The first time you will open that page, the system will generate a thumbnail for the first image of the gallery with id GALLERY_ID. The signature of that thumbnail will be: ‘small_200x100’. The next time the system will not generate the thumbnail if that image already has a thumbnail with that signature.
If you want to generate that thumbnail just after the upload of the image, add that signature inside the gallery.yml configuration file:
default_thumbnails: admin_thumb: 300x300 # do not remove admin_preview: 500x500 # do not remove small: 200x100 # this is the signature you use in the page. square: c90x90 # specific sized images with a center crop
-
Version: 0.3.0 - Adam Salter - 10outta10.com
-
Version: 0.7 - 0.8.* - Tom Cowell - eightsquarestudio.com
Icons by www.famfamfam.com/