module Middleman module Helpers def page_classes(*additional) path = request.path_info path << "index.html" 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{#{title}} end def asset_url(path) path.include?("://") ? path : "/#{path}" end def image_tag(path, options={}) options[:alt] ||= "" params = options.merge(:src => asset_url(path)) params = params.map { |k,v| %Q{#{k}="#{v}"}}.join(' ') "" end def javascript_include_tag(path, options={}) params = options.merge(:src => asset_url(path), :type => "text/javascript") params = params.map { |k,v| %Q{#{k}="#{v}"}}.join(' ') "" end def stylesheet_link_tag(path, options={}) options[:rel] ||= "stylesheet" params = options.merge(:href => asset_url(path), :type => "text/css") params = params.map { |k,v| %Q{#{k}="#{v}"}}.join(' ') "" end end end