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.4.0"}]
end

TODO

  • [x] Integration tests using Liquid gem to build fixtures; #3
  • [x] All the standard filters #8
  • [x] Support to custom filters #11
  • [x] 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
    • [x] raw #18
    • [x] cycle #17
    • [x] capture #19
    • [x] increment #16
    • [x] decrement #16
  • [x] Boolean operators #2
  • [ ] Whitespace control #10