Waxe
A zero dependency, Laravel blade styled template engine for JavaScript
Introduction
Waxe, pronounced as Wax (/wæks/), came out of the need for a fast, less redundant, lightweight and pluggable JavaScript template engine.
Waxe's core parser was highly inspired by doT's except Waxe is built to be pluggable whereas doT is built to be customizable.
Waxe syntax is much similar to Laravel's Template engine: Blade. However, more importantly Waxe uses certain terminologies used in Blade like: directives and conditionals apart from which Waxe is pretty neat on its own.
Latest Release
The latest stable release of Waxe is . Release notes can be found on the github repo.
Changelogs for each release are also available in the CHANGELOG.md
file.
Install
Installing Waxe is pretty straight forward. Whether you're precompiling/rendering your templates or you simply want to use Waxe on the fly!
Via NPM or Yarn?
Installing via npm or yarn is advised for production (remember to always precompile templates) or if you wish to use Waxe CLI
$ npm i -D waxe # With NPM
$ yarn add waxe # With Yarn
Via Includes or CDNs
This is ideal for testing purposes or in cases where in the use just cant be avoided. I advise you avoid using this
<script src="/path/to/waxe.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/waxe/dist/waxe.min.js"></script>
Usage
Frankly, the only method you need to get familiar with is Wax.template
which takes two arguments, the name
of the template and its source
.
This method returns a callable function much similar to doT's which can be reused anywhere by simply passing the context to use as an argument.
const pagefn = Wax.template("sample", `@yield('Hello World')`)
console.log(
pagefn({})
); //outputs 'Hello World'
For more help on which directives Waxe supports and how to use the CLI, check the official docs
Author
- Twitter: @elcharitas
- Github: @elcharitas
- LinkedIn: @elcharitas
Contributing
Contributions, issues and feature requests are welcome!
Feel free to check issues page. You can also take a look at the contributing guide.
Show your support
Give a ⭐️ if this project helped you!
License
Copyright © 2021 Jonathan Irhodia.
This project is MIT licensed.