class Lookbook::PagesController

def self.controller_path

def self.controller_path
  "lookbook/pages"
end

def index

def index
  landing = Lookbook.pages.find(&:landing?) || Lookbook.pages.first
  if landing.present?
    redirect_to lookbook_page_path(landing.path)
  else
    show_404
  end
end

def page_controller

def page_controller
  controller_class = Lookbook.config.page_controller.constantize
  controller = controller_class.new
  controller.request = request
  controller
end

def show

def show
  @page = @pages.find_by_path(params[:path])
  if @page
    @next_page = @pages.next(@page)
    @previous_page = @pages.previous(@page)
    begin
      @page_content = page_controller.render_page(@page)
      @title = @page.title
    rescue => exception
      render_in_layout "lookbook/error",
        layout: "lookbook/page",
        error: Lookbook::Error.new(exception, file_path: @page.file_path, source_code: @page.content)
    end
  else
    show_404
  end
end

def show_404

def show_404
  render "lookbook/404", locals: {
    message: "Page not found",
    description: "The page may have been removed or renamed."
  }
end