Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/brendanhay/ede
Templating language with similar syntax and features to Liquid or Jinja2.
https://github.com/brendanhay/ede
Last synced: about 1 month ago
JSON representation
Templating language with similar syntax and features to Liquid or Jinja2.
- Host: GitHub
- URL: https://github.com/brendanhay/ede
- Owner: brendanhay
- License: other
- Created: 2013-11-08T16:24:48.000Z (about 11 years ago)
- Default Branch: main
- Last Pushed: 2023-06-29T20:28:05.000Z (over 1 year ago)
- Last Synced: 2024-05-01T23:17:16.384Z (8 months ago)
- Language: Haskell
- Homepage:
- Size: 872 KB
- Stars: 47
- Watchers: 8
- Forks: 21
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ED-E
[![MPL2][license-badge]][license]
[![Build][build-badge]][build]
[![Hackage][hackage-badge]][hackage]
[![Nix][nix-badge]][nix]
[![Cachix][cachix-badge]][cachix][license]: https://opensource.org/licenses/MPL-2.0
[license-badge]: https://img.shields.io/badge/license-MPL%202.0-blue.svg
[build]: https://github.com/brendanhay/ede/actions
[build-badge]: https://github.com/brendanhay/ede/workflows/build/badge.svg
[hackage]: http://hackage.haskell.org/package/ede
[hackage-badge]: https://img.shields.io/hackage/v/ede.svg
[nix]: https://nixos.org
[nix-badge]: https://img.shields.io/badge/builtwith-nix-purple.svg
[cachix]: https://amazonka.cachix.org
[cachix-badge]: https://img.shields.io/badge/cachix-amazonka-purple.svg* [Introduction](#introduction)
* [Syntax](#syntax)
* [Contribute](#contribute)
* [Licence](#licence)## 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](http://brendanhay.github.io/ede/Text-EDE.html)
for more information.## Syntax
A set of syntatic/semantic fragments for all supported expressions can be
found in the [tests](test/resources) or the [documentation](http://brendanhay.github.io/ede/Text-EDE.html#syntax).## Contribute
For any problems, comments or feedback please create an issue [here on GitHub](github.com/brendanhay/ede/issues).
## Licence
ED-E is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/)