Temple v0.1.0 Temple.Engine View Source
Temple provides a templating engine for use in Phoenix web applications.
You can configure your application to use Temple templates by adding the following configuration.
# config.exs
config :phoenix, :template_engines, exs: Temple.Engine
# your_app_web.ex
def view do
quote do
# ...
use Temple # Replaces the call to import Phoenix.HTML
end
end
Usage
Temple templates use the .exs
extension, because they are written with pure Elixir!
assigns
(@conn, etc) are handled the same as normal Phoenix.HTML.Engine
templates.
Note: The Temple.temple/1
macro is not needed for Temple templates due to the engine taking care of that for you.
# app.html.exs
html lang: "en" do
head do
meta charset: "utf-8"
meta http_equiv: "X-UA-Compatible", content: "IE=edge"
meta name: "viewport", content: "width=device-width, initial-scale=1.0"
title "YourApp · Phoenix Framework"
link rel: "stylesheet", href: Routes.static_path(@conn, "/css/app.css")
end
body do
header do
section class: "container" do
nav role: "navigation" do
ul do
li do: a("Get Started", href: "https://hexdocs.pm/phoenix/overview.html")
end
end
a href: "http://phoenixframework.org/", class: "phx-logo" do
img src: Routes.static_path(@conn, "/images/phoenix.png"),
alt: "Phoenix Framework Logo"
end
end
end
main role: "main", class: "container" do
p get_flash(@conn, :info), class: "alert alert-info", role: "alert"
p get_flash(@conn, :error), class: "alert alert-danger", role: "alert"
partial render(@view_module, @view_template, assigns)
end
script type: "text/javascript", src: Routes.static_path(@conn, "/js/app.js")
end
end
Link to this section Summary
Functions
Callback implementation for Phoenix.Template.Engine.compile/2
.
Link to this section Functions
Link to this function
compile(path, name) View Source
Callback implementation for Phoenix.Template.Engine.compile/2
.