# File lib/staticmatic/mixins/render.rb, line 51
  def generate_partial(name, options = {})
    partial_dir, partial_name = File.dirname(self.current_file), name  # default relative to current file
    partial_dir, partial_name = File.split(name) if name.index('/') # contains a path so it's absolute from src/pages dir
    partial_name = "_#{partial_name}.haml"

    partial_path = File.join(@src_dir, 'pages', partial_dir, partial_name)
    unless File.exists?(partial_path)
      # couldn't find it in the pages subdirectory tree so try old way (ignoring the path)
      partial_dir = 'partials'
      partial_name = "#{File.basename(name)}.haml"
      partial_path = File.join(@src_dir, partial_dir, partial_name)
    end
  
    if File.exists?(partial_path)
      partial_rel_path = "/#{partial_dir}/#{partial_name}".gsub(/\/+/, '/')
      @current_file_stack.unshift(partial_rel_path)
      begin
        generate_html_from_template_source(File.read(partial_path), options)
      rescue Exception => e
        raise StaticMatic::TemplateError.new(partial_path, e)
      ensure
        @current_file_stack.shift
      end
    else
      raise StaticMatic::Error.new("", name, "Partial not found")
    end
  end