Sha256: 5fe453997092278f921d19b1cc826f93d09b652dd7d3040fcd2eb363802a3680

Contents?: true

Size: 1.02 KB

Versions: 8

Compression:

Stored size: 1.02 KB

Contents

# A Liquid Tag for retrieving path information for theme specific media
#
# Returns the path based on the file extension
#
class Themeitem < Liquid::Block

   @@image_exts = %w( .png .jpg .jpeg .jpe .gif )
   @@stylesheet_exts = %w( .css )
   @@javascript_exts = %w( .js .htc )
                                      
   def render(context)
      # Which, if either, of these are correct?
      base_url = context['request'].relative_url_root || ActionController::Base.asset_host.to_s
      theme_name = @theme_name || context['active_theme']

      filename = @nodelist.join('').strip
      ext = File.extname( filename )

      if @@image_exts.include?( ext )
         "#{base_url}/themes/#{theme_name}/images/#{filename}"

      elsif @@stylesheet_exts.include?( ext )
         "#{base_url}/themes/#{theme_name}/stylesheets/#{filename}"
         
      elsif @@javascript_exts.include?( ext )
         "#{base_url}/themes/#{theme_name}/javascripts/#{filename}"
      end
   end   
end

Liquid::Template.register_tag( 'themeitem', Themeitem )

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
theme_support-3.0.7 lib/theme_support/helpers/liquid_theme_tags.rb
theme_support-3.0.6 lib/theme_support/helpers/liquid_theme_tags.rb
theme_support-3.0.5 lib/theme_support/helpers/liquid_theme_tags.rb
theme_support-3.0.4 lib/theme_support/helpers/liquid_theme_tags.rb
theme_support-3.0.3 lib/theme_support/helpers/liquid_theme_tags.rb
theme_support-3.0.2 lib/theme_support/helpers/liquid_theme_tags.rb
theme_support-3.0.1 lib/theme_support/helpers/liquid_theme_tags.rb
theme_support-3.0.0 lib/theme_support/helpers/liquid_theme_tags.rb