Sha256: 4b6a4aa790ed57bab32aabed59976d1cb45c0834298b38d59158a5c69341809d

Contents?: true

Size: 1.34 KB

Versions: 6

Compression:

Stored size: 1.34 KB

Contents

description    'Gallery aspect'
dependencies   'utils/assets', 'aspects'
export_scripts '*.css'

Aspects::Aspect.create(:gallery, priority: 3, layout: true, hidden: true, cacheable: true) do
  def accepts?(page); !page.children.empty?; end
  def call(context, page)
    @per_row = 4
    per_page = @per_row * 4
    @page_nr = [context.params[:page].to_i, 1].max
    @page = page
    @images = @page.children.select {|p| p.mime.image? }
    @page_count = @images.size / per_page + 1
    @images = @images[((@page_nr - 1) * per_page) ... (@page_nr * per_page)].to_a
    render :gallery
  end
end

__END__
@@ gallery.slim
= pagination(@page, @page_count, @page_nr, aspect: 'gallery')
table.gallery
  - @images.each_slice(@per_row) do |row|
    tr
      - row.each do |image|
        ruby:
          thumb_path = build_path(image, aspect: 'image', geometry: '150x150>')
          info_path  = build_path(image)
          description = image.attributes['description'] || image.attributes['title'] || \
            image.name.gsub(/([^\s])[_\-]/, '\1 ')
        td
          a.fancybox href=info_path rel="gallery" title=description
            img src=thumb_path alt=''
          a.title href=info_path = description
@@ locale.yml
cs:
  aspect_gallery: 'Galerie'
de:
  aspect_gallery: 'Bildergalerie'
en:
  aspect_gallery: 'Image Gallery'
fr:
  aspect_gallery: "Galerie d'images"

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
olelo-0.9.15 plugins/aspects/gallery/main.rb
olelo-0.9.14 plugins/aspects/gallery/main.rb
olelo-0.9.13 plugins/aspects/gallery/main.rb
olelo-0.9.12 plugins/aspects/gallery/main.rb
olelo-0.9.11 plugins/aspects/gallery/main.rb
olelo-0.9.10 plugins/aspects/gallery/main.rb