module StaticMatic module Helpers module TagHelper self.extend self # Generates HTML tags: # # tag(:br) ->
# tag(:a, :href => 'test.html') { "Test" } -> Test # def tag(name, options = {}, &block) options[:id] ||= options[:name] if options[:name] output = "<#{name}" options.keys.sort { |a, b| a.to_s <=> b.to_s }.each do |key| output << " #{key}=\"#{options[key]}\"" if options[key] end if block_given? output << ">" output << yield output << "" else format = @staticmatic.configuration.engine_options['haml'][:format] if format.nil? || format == :xhtml output << "/>" else output << ">" end end output end end end end