ede: Templating language with similar syntax and features to Liquid or Jinja2.

[ library, mpl, program, template, text, web ] [ Propose Tags ]
This version is deprecated.

ED-E is a templating language written in Haskell with a specific set of features:

  • Logicless within reason. A small set of consistent predicates and expressions for formatting and presentational logic are provided.

  • Secure. No arbitrary code evaluation, with input data required to be fully specified at render time.

  • Stateless. Parsing and rendering are separate steps so that loading, parsing, include resolution, and embedding of the compiled template can optionally be done ahead of time, amortising cost.

  • Markup agnostic. ED-E is used to write out everything from configuration files for system services, to HTML and formatted emails.

  • Control over purity. Users can choose pure or IO-based resolution of include expressions.

  • No surprises. All parsing, type assurances, and rendering steps report helpful error messages with line/column metadata. Variable shadowing, unprintable expressions, implicit type coercion, and unbound variable access are all treated as errors.


[Skip to Readme]

Flags

Manual Flags

NameDescriptionDefault
build-executable

Whether to build the ed-e executable.

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.2.1, 0.2.2, 0.2.3, 0.2.3.1, 0.2.4, 0.2.5, 0.2.6, 0.2.7, 0.2.8, 0.2.8.1, 0.2.8.2, 0.2.8.3, 0.2.8.4, 0.2.8.5, 0.2.8.6, 0.2.8.7, 0.2.9, 0.3.0.0, 0.3.1.0, 0.3.2.0, 0.3.3.0 (info)
Dependencies aeson (>=0.7), ansi-wl-pprint (>=0.6.6), base (>=4.6 && <5), bifunctors (>=4), bytestring (>=0.9), directory (>=1.2), filepath (>=1.2), lens (>=4.0), mtl (>=2.2), parsers (>=0.12.1.1), scientific (>=0.3.1), semigroups (>=0.15), text (>=1.2 && <1.3), text-format (>=0.3), text-manipulate (>=0.1), trifecta (>=1.5.1), unordered-containers (>=0.2.3), vector (>=0.7.1) [details]
License LicenseRef-OtherLicense
Copyright Copyright (c) 2013-2014 Brendan Hay
Author Brendan Hay
Maintainer Brendan Hay <brendan.g.hay@gmail.com>
Category Text, Template, Web
Home page http://github.com/brendanhay/ede
Source repo head: git clone git://github.com/brendanhay/ede.git
Uploaded by BrendanHay at 2014-10-20T10:53:53Z
Distributions
Reverse Dependencies 5 direct, 1 indirect [details]
Executables ed-e
Downloads 15625 total (131 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for ede-0.2.1

[back to package description]

ED-E

Introduction

ED-E is a templating language written in Haskell with a specific set of features:

  • Logicless (within reason): A small set of consistent predicates and expressions for formatting and presentational logic are provided.
  • Secure: No arbitrary code evaluation, with input data required to be fully specified at render time.
  • Stateless: Parsing and rendering are separate steps so that loading, parsing, include resolution, and embedding of the compiled template can optionally be done ahead of time, amortising cost.
  • Markup agnostic: ED-E is used to write out everything from configuration files for system services, to HTML and formatted emails.
  • Control over purity: Users can choose pure or IO-based resolution of include expressions.
  • No surprises: All parsing, type assurances, and rendering steps report helpful error messages with line/column metadata. Variable shadowing, unprintable expressions, implicit type coercion, and unbound variable access are all treated as errors errors.

Please see the documentation for more information.

Syntax

A set of syntatic/semantic fragments for all supported expressions can be found in the tests or the documentation.

Contribute

For any problems, comments or feedback please create an issue here on GitHub.

Licence

ED-E is released under the Mozilla Public License Version 2.0