class Middleman

def self.run!(options={}, &block)

def self.run!(options={}, &block)
  set options
  handler      = detect_rack_handler
  handler_name = handler.name.gsub(/.*::/, '')
  puts "== The Middleman is standing watch on port #{port}"
  handler.run self, :Host => host, :Port => port do |server|
    trap(:INT) do
      ## Use thins' hard #stop! if available, otherwise just #stop
      server.respond_to?(:stop!) ? server.stop! : server.stop
      puts "\n== The Middleman has ended his patrol"
    end
    
    if block_given?
      block.call
      ## Use thins' hard #stop! if available, otherwise just #stop
      server.respond_to?(:stop!) ? server.stop! : server.stop
    end
  end
rescue Errno::EADDRINUSE => e
  puts "== The Middleman is already standing watch on port #{port}!"
end

def link_to(title, url="#", params={})

def link_to(title, url="#", params={})
  params = params.map { |k,v| %Q{#{k}="#{v}"}}.join(' ')
  %Q{<a href="#{url}" #{params}>#{title}</a>}
end

def page_classes(*additional)

def page_classes(*additional)
  classes = []
  parts = @full_request_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 sprite(name)

def sprite(name)
  image_tag("spacer.gif", :class => "#{name}-img")
end