All Projects → edgurgel → Solid

edgurgel / Solid

Licence: mit
Liquid template engine in Elixir

Programming Languages

elixir
2628 projects

Projects that are alternatives of or similar to Solid

Demoinfocs Golang
High performance CS:GO demo parser for Go (demoinfo)
Stars: ✭ 288 (+323.53%)
Mutual labels:  hacktoberfest, parser
Verible
Verible is a suite of SystemVerilog developer tools, including a parser, style-linter, and formatter.
Stars: ✭ 384 (+464.71%)
Mutual labels:  hacktoberfest, parser
Termimad
A library to display rich (Markdown) snippets and texts in a rust terminal application
Stars: ✭ 293 (+330.88%)
Mutual labels:  hacktoberfest, parser
Yii2 Smarty
Yii 2 Smarty Extension.
Stars: ✭ 67 (-1.47%)
Mutual labels:  hacktoberfest, template-engine
Php Mime Mail Parser
A fully tested email parser for PHP 7.2+ (mailparse extension wrapper).
Stars: ✭ 687 (+910.29%)
Mutual labels:  hacktoberfest, parser
liquidpy
A port of liquid template engine for python
Stars: ✭ 49 (-27.94%)
Mutual labels:  template-engine, liquid
Anglesharp
👼 The ultimate angle brackets parser library parsing HTML5, MathML, SVG and CSS to construct a DOM based on the official W3C specifications.
Stars: ✭ 4,018 (+5808.82%)
Mutual labels:  hacktoberfest, parser
Getjs
A tool to fastly get all javascript sources/files
Stars: ✭ 190 (+179.41%)
Mutual labels:  hacktoberfest, parser
Liquidjs
A simple, expressive, safe and Shopify compatible template engine in pure JavaScript.
Stars: ✭ 638 (+838.24%)
Mutual labels:  liquid, template-engine
Valveresourceformat
🔬 Valve's Source 2 resource file format parser and decompiler
Stars: ✭ 638 (+838.24%)
Mutual labels:  hacktoberfest, parser
dry
Dry is a new template engine and language, and is a superset of Shopify's Liquid, with first-class support for advanced inheritance features, and more. From the creators of Enquirer, Assemble, Remarkable, and Micromatch.
Stars: ✭ 66 (-2.94%)
Mutual labels:  template-engine, liquid
Phug
Phug - The Pug Template Engine for PHP
Stars: ✭ 43 (-36.76%)
Mutual labels:  hacktoberfest, template-engine
liquid.cr
Kind of liquid template engine for Crystal [WIP]
Stars: ✭ 64 (-5.88%)
Mutual labels:  template-engine, liquid
korte
Kotlin cORoutines Template Engine for Multiplatform Kotlin
Stars: ✭ 69 (+1.47%)
Mutual labels:  template-engine, liquid
liquid
A Python engine for the Liquid template language.
Stars: ✭ 40 (-41.18%)
Mutual labels:  template-engine, liquid
Pug
Pug template engine for PHP
Stars: ✭ 341 (+401.47%)
Mutual labels:  hacktoberfest, template-engine
Rats
Movie Ratings Synchronization with Python
Stars: ✭ 156 (+129.41%)
Mutual labels:  hacktoberfest, parser
Readability
Readability is Elixir library for extracting and curating articles.
Stars: ✭ 188 (+176.47%)
Mutual labels:  hacktoberfest, parser
Alembic
⚗️ A Jekyll boilerplate theme designed to be a starting point for any Jekyll website
Stars: ✭ 501 (+636.76%)
Mutual labels:  hacktoberfest, liquid
Expr Eval
Mathematical expression evaluator in JavaScript
Stars: ✭ 752 (+1005.88%)
Mutual labels:  hacktoberfest, parser

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].