Solid Build Status

Solid is an implementation in Elixir of the template engine Liquid. It uses nimble_parsec to generate the parser.

Basic Usage

iex> template = "My name is {{ user.name }}"
iex> {:ok, template} = Solid.parse(template)
iex> Solid.render(template, %{ "user" => %{ "name" => "José" } }) |> to_string
"My name is José"

Installation

The package can be installed with:

def deps do
  [{:solid, "~> 0.2.0"}]
end

TODO

  • [x] Integration tests using Liquid gem to build fixtures; #3
  • [ ] All the standard filters #8
  • [x] Support to custom filters #11
  • [ ] Tags (if, case, unless, etc)

    • [x] for

      • [x] else
      • [x] break
      • [x] continue
      • [x] limit
      • [x] offset
      • [x] Range (3..5)
      • [x] reversed
      • [x] forloop object
    • [ ] raw#18
    • [ ] cycle#17
    • [x] capture#19
    • [x] increment#16
    • [x] decrement#16
  • [x] Boolean operators #2
  • [ ] Whitespace control #10