Skip to content

reidmit/toast

Repository files navigation

Toast

╔═══════════╗ ╔════╗ ╔═══════════╗
╚══╗ ╔══════╝ ║ ╔╗ ║ ╚══════╗ ╔══╝
   ║ ║ ╔════╗ ║ ║║ ║ ╔════╗ ║ ║
   ║ ║ ║ ╔╗ ║ ║ ╚╝ ║ ║ ╔══╝ ║ ║
   ║ ║ ║ ╚╝ ║ ║ ╔╗ ║ ║ ╚══╗ ║ ║
   ║ ║ ╚════╝ ║ ║║ ║ ╚══╗ ║ ║ ║
   ║ ║ ▐████▌ ║ ║║ ║ ╔══╝ ║ ║ ║
   ╚═╝  ▀▀▀▀  ╚═╝╚═╝ ╚════╝ ╚═╝
                  version 0.0.1

Toast is a transpiler for template languages (Jinja2, Jade, Dust, Liquid, Mustache, etc). It will parse as many of these languages as possible into an abstract syntax tree of a single, standard form. It can then turn that tree back into code in any of the languages it supports.

Toast is currently in its early stages. At this point, it can translate to and from HTML and Omelet (a new template language that I wrote). I'm actively working on adding support for other languages.

The parser for each language going forward will be generated by PEG.js. That means first writing a parsing expression grammar (PEG) and then generating the parser with PEG.js.

This project adheres to the [Open Code of Conduct][code-of-conduct]. By participating, you are expected to honor this code. [code-of-conduct]: https://github.com/reid47/toast/blob/master/CONDUCT.md

About

A universal template language transpiler

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published