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