View Source Getting Started

Install

Welcome!

Temple is a HTML DSL for Elixir, let's get started!

First, make sure you are using Elixir V1.13 or higher.

Add :temple to your deps and run mix deps.get

{:temple, "~> 0.9.0-rc.0"}

Now you must prepend the Temple compiler to your projects :compilers configuration in mix.exs. There is a chance that your project doesn't set this option at all, but don't worry, it's really easy to add!

defmodule MyApp.MixProject do
  use Mix.Project

  def project do
    [
      # ...
      compilers: [:temple] ++ Mix.compilers(),
      # ...
    ]
  end

# ...

end

All done, Now let's start building our app!

Configuration

Temple works out of the box without any configuration, but here are a couple of conifg options that you could need to use.

Engine

By default, Temple uses the built in Phoenix.HTML.Engine. If you want to use a different engine, this is as easy as setting the :engine configuration option.

You can also configure the function that is used for runtime attributes. By default, Temple uses Phoenix.HTML.attributes_escape/1.

# config/config.exs

config :temple,
  engine: EEx.SmartEngine,
  attributes: {Temple, :attributes}

Aliases

Temple code will reserve some local function calls for HTML tags. If you have a local function that you would like to use instead, you can create an alias for any tag.

Common aliases for Phoenix projects look like this:

config :temple,
  aliases: [
    label: :label_tag,
    link: :link_tag,
    select: :select_tag,
    textarea: :textarea_tag
  ]