Simplates for Elixir
Simplates are a file format for server-side web programming. Used currently in Infuse.
This repository is my future spec for simplates.org
Why Simplates?
Mixing code into templates leads to unmaintainable spaghetti. On the other hand, putting closely-related templates and code in completely separate subdirectories makes it painful to switch back and forth.
Simplates improve web development by bringing code and templates as close together as possible, without mixing them.
What does a Simplate look like?
Here’s an example:
<script>
program = "hellö"
excitement = :rand.uniform(100)
</script>
<template type="text/html" via="EEx">
<h1><%= hello %>, program, my favorite number is <%= num %></h1>
</template>
Installation
Add
simplates
to your list of dependencies inmix.exs
:def deps do [{:simplates, "~> 0.4.0"}] end
Ensure
simplates
is started before your application:def application do [applications: [:simplates]] end
Create & render like so
page = Simplates.Simplate.create_from_string("<template>\nHello\n</template>") {output, _} = Simplates.Simplate.render(page, "text/plain")