Sha256: f33bc6e68c29e4a8cd5f95ef7db80374d9c5d4da8472d93ede05d6aa1977f487

Contents?: true

Size: 973 Bytes

Versions: 11

Compression:

Stored size: 973 Bytes

Contents

description  'XSLT filter which transforms a html page to a S5 presentation'
dependencies 'filters/xslt', 'utils/assets'
export_assets 'ui/**/*', 'ui/default/*'

raise 'Diascope not found' unless File.exists?(File.join(File.dirname(__FILE__), 'ui'))

Page.attributes do
  group :s5 do
    string :presdate
    string :author
    string :company
    string :theme
    string :transitions
    integer :fadeDuration
    integer :incrDuration
  end
end

class S5 < XSLT
  def configure(options)
    super(options.merge(stylesheet: 's5/s5.xsl'))
  end

  def params(context)
    themes = Dir.glob(File.join(File.dirname(__FILE__), 'ui', '*')).map {|name| File.basename(name) }
    themes.delete('common')
    themes.delete('default')
    themes.unshift(context.page.attributes['theme'] || 'default')
    super.merge(context.page.attributes['s5'] || {}).
      merge('themes' => themes.join(' '), 's5_path' => build_path('_/assets/filter/s5'))
  end
end

Filter.register :s5, S5

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
olelo-0.9.15 plugins/filters/s5/main.rb
olelo-0.9.14 plugins/filters/s5/main.rb
olelo-0.9.13 plugins/filters/s5/main.rb
olelo-0.9.12 plugins/filters/s5/main.rb
olelo-0.9.11 plugins/filters/s5/main.rb
olelo-0.9.10 plugins/filters/s5/main.rb
olelo-0.9.9 plugins/filters/s5/main.rb
olelo-0.9.8 plugins/filters/s5/main.rb
olelo-0.9.7 plugins/filters/s5/main.rb
olelo-0.9.6 plugins/filters/s5/main.rb
olelo-0.9.5 plugins/filters/s5/main.rb