2

waxe

Lightweight, Laravel Blade Inspired template compile/rendering engine...

Waxe

Version Documentation Maintenance Code Climate License: MIT Twitter: elcharitas

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 Latest Release. 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

Jonathan Irhodia

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.

Designed and developed by  Jonathan Irhodia  © 2024