Sha256: d07663df4aa9e2a1ba5c59e64df3c6376c9c2a4d2ffecde469fb1f924931c871

Contents?: true

Size: 1.54 KB

Versions: 13

Compression:

Stored size: 1.54 KB

Contents

module Middleman
  module Helpers
    def page_classes(*additional)
      path = request.path_info
      path << options.index_file if path.match(%r{/$})
      path.gsub!(%r{^/}, '')
  
      classes = []
      parts = path.split('.')[0].split('/')
      parts.each_with_index { |path, i| classes << parts.first(i+1).join('_') }

      classes << "index" if classes.empty?
      classes += additional unless additional.empty?
      classes.join(' ')
    end
    
    def link_to(title, url="#", params={})
      params.merge!(:href => url)
      params = params.map { |k,v| %Q{#{k}="#{v}"}}.join(' ')
      %Q{<a #{params}>#{title}</a>}
    end
    
    def asset_url(path, prefix="")
      base_url = File.join(options.http_prefix, prefix)
      path.include?("://") ? path : File.join(base_url, path)
    end

    def image_tag(path, params={})
      params[:alt] ||= ""
      params = params.merge(:src => asset_url(path, options.images_dir))
      params = params.map { |k,v| %Q{#{k}="#{v}"}}.join(' ')
      "<img #{params} />"
    end

    def javascript_include_tag(path, params={})
      params = params.merge(:src => asset_url(path, options.js_dir), :type => "text/javascript")
      params = params.map { |k,v| %Q{#{k}="#{v}"}}.join(' ')
      "<script #{params}></script>"
    end

    def stylesheet_link_tag(path, params={})
      params[:rel] ||= "stylesheet"
      params = params.merge(:href => asset_url(path, options.css_dir), :type => "text/css")
      params = params.map { |k,v| %Q{#{k}="#{v}"}}.join(' ')
      "<link #{params} />"
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
middleman-0.9.17 lib/middleman/helpers.rb
middleman-0.9.16 lib/middleman/helpers.rb
middleman-0.9.15 lib/middleman/helpers.rb
middleman-0.9.14 lib/middleman/helpers.rb
middleman-0.9.13 lib/middleman/helpers.rb
middleman-0.9.12 lib/middleman/helpers.rb
middleman-0.9.11 lib/middleman/helpers.rb
middleman-0.9.10 lib/middleman/helpers.rb
middleman-0.9.9 lib/middleman/helpers.rb
middleman-0.9.8 lib/middleman/helpers.rb
middleman-0.9.7 lib/middleman/helpers.rb
middleman-0.9.6 lib/middleman/helpers.rb
middleman-0.9.5 lib/middleman/helpers.rb