5150a93e38
- requires the development branch of live_view currently, if you are going to be using live view ci Docs Raise minimum elixir version to 1.9 There is some bug in EEx that was fixed in 1.9 and I can't be bothered to make it backwards compatible with the bug. ugh Remove commented out line
85 lines
2 KiB
Elixir
85 lines
2 KiB
Elixir
defmodule TempleDemoWeb do
|
|
@moduledoc """
|
|
The entrypoint for defining your web interface, such
|
|
as controllers, views, channels and so on.
|
|
|
|
This can be used in your application as:
|
|
|
|
use TempleDemoWeb, :controller
|
|
use TempleDemoWeb, :view
|
|
|
|
The definitions below will be executed for every view,
|
|
controller, etc, so keep them short and clean, focused
|
|
on imports, uses and aliases.
|
|
|
|
Do NOT define functions inside the quoted expressions
|
|
below. Instead, define any helper function in modules
|
|
and import those modules here.
|
|
"""
|
|
|
|
def controller do
|
|
quote do
|
|
use Phoenix.Controller, namespace: TempleDemoWeb
|
|
|
|
import Plug.Conn
|
|
import TempleDemoWeb.Gettext
|
|
alias TempleDemoWeb.Router.Helpers, as: Routes
|
|
end
|
|
end
|
|
|
|
def view do
|
|
quote do
|
|
use Phoenix.View,
|
|
root: "lib/temple_demo_web/templates",
|
|
namespace: TempleDemoWeb
|
|
|
|
# Import convenience functions from controllers
|
|
import Phoenix.Controller, only: [get_flash: 1, get_flash: 2, view_module: 1]
|
|
|
|
import Temple.Component
|
|
alias TempleDemoWeb.Component.Outer
|
|
alias TempleDemoWeb.Component.Flash
|
|
alias TempleDemoWeb.Component.Form
|
|
|
|
# Include shared imports and aliases for views
|
|
unquote(view_helpers())
|
|
end
|
|
end
|
|
|
|
def router do
|
|
quote do
|
|
use Phoenix.Router
|
|
|
|
import Plug.Conn
|
|
import Phoenix.Controller
|
|
end
|
|
end
|
|
|
|
def channel do
|
|
quote do
|
|
use Phoenix.Channel
|
|
import TempleDemoWeb.Gettext
|
|
end
|
|
end
|
|
|
|
defp view_helpers do
|
|
quote do
|
|
# Use all HTML functionality (forms, tags, etc)
|
|
use Phoenix.HTML
|
|
|
|
# Import basic rendering functionality (render, render_layout, etc)
|
|
import Phoenix.View
|
|
|
|
import TempleDemoWeb.ErrorHelpers
|
|
import TempleDemoWeb.Gettext
|
|
alias TempleDemoWeb.Router.Helpers, as: Routes
|
|
end
|
|
end
|
|
|
|
@doc """
|
|
When used, dispatch to the appropriate controller/view/etc.
|
|
"""
|
|
defmacro __using__(which) when is_atom(which) do
|
|
apply(__MODULE__, which, [])
|
|
end
|
|
end
|