44 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
defmodule Legendary.Content.Routes do
 | 
						|
  @moduledoc """
 | 
						|
  Routes for the content engine, including blog posts, feeds, and pages.
 | 
						|
  """
 | 
						|
 | 
						|
  defmacro __using__(_opts \\ []) do
 | 
						|
    quote do
 | 
						|
      pipeline :feed do
 | 
						|
        plug :accepts, ["rss"]
 | 
						|
        plug :fetch_session
 | 
						|
        plug :protect_from_forgery
 | 
						|
        plug :put_secure_browser_headers
 | 
						|
      end
 | 
						|
 | 
						|
      scope "/", Legendary.Content do
 | 
						|
        pipe_through([:browser, :require_auth, :require_admin])
 | 
						|
 | 
						|
        put "/posts/preview", PostsController, :preview
 | 
						|
        post "/posts/preview", PostsController, :preview
 | 
						|
      end
 | 
						|
 | 
						|
      scope "/", Legendary.Content do
 | 
						|
        pipe_through :feed # Use the default browser stack
 | 
						|
 | 
						|
        get "/category/:category/feed.rss", FeedsController, :index, as: :category_feed
 | 
						|
        get "/feed.rss", FeedsController, :index, as: :index_feed
 | 
						|
      end
 | 
						|
 | 
						|
      scope "/", Legendary.Content do
 | 
						|
        pipe_through :browser # Use the default browser stack
 | 
						|
 | 
						|
        resources "/comments", CommentController, as: :comment, only: [:create, :delete, :update]
 | 
						|
        get "/page/:page", PostsController, :index_posts, as: :blog_page
 | 
						|
        get "/category/:category", PostsController, :index_posts, as: :category
 | 
						|
        get "/category/:category/page/:page", PostsController, :index, as: :category_page
 | 
						|
        post "/wp-login.php", PostPasswordController, :create
 | 
						|
        get "/", PostsController, :index
 | 
						|
        resources "/sitemap", SitemapController, only: [:index]
 | 
						|
        get "/:id", PostsController, :show
 | 
						|
        get "/*id", PostsController, :show, as: :nested_posts
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |