https://github.com/elcharitas/waxe
Lightweight, Laravel Blade Inspired template compile/rendering engine
https://github.com/elcharitas/waxe
template template-engine template-language waxe
Last synced: about 1 year ago
JSON representation
Lightweight, Laravel Blade Inspired template compile/rendering engine
- Host: GitHub
- URL: https://github.com/elcharitas/waxe
- Owner: elcharitas
- License: mit
- Created: 2021-01-06T12:18:19.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-01-18T22:27:12.000Z (over 5 years ago)
- Last Synced: 2024-02-22T03:43:28.502Z (over 2 years ago)
- Topics: template, template-engine, template-language, waxe
- Language: TypeScript
- Homepage: https://waxe.now.sh
- Size: 319 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Waxe
[![Version][1]][2]
[][5]
[](https://github.com/elcharitas/waxe/graphs/commit-activity)
[](https://codeclimate.com/github/elcharitas/waxe/maintainability)
[][3]
[](https://twitter.com/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](https://laravel.com/docs/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][1]][2]. Release notes can be found on the [github repo][0].
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
``` sh
$ 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
``` html
```
## 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.
``` js
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][5]
## Author
[**Jonathan Irhodia**](https://elcharitas.com.ng)
* Twitter: [@elcharitas](https://twitter.com/elcharitas)
* Github: [@elcharitas](https://github.com/elcharitas)
* LinkedIn: [@elcharitas](https://linkedin.com/in/elcharitas)
## Contributing
Contributions, issues and feature requests are welcome!
Feel free to check [issues page](https://github.com/elcharitas/waxe/issues). You can also take a look at the [contributing guide](https://github.com/elcharitas/waxe/blob/master/CONTRIBUTING.md).
## Show your support
Give a ⭐️ if this project helped you!
## License
Copyright © 2021 [Jonathan Irhodia](https://github.com/elcharitas).
This project is [MIT][3] licensed.
[0]: https://github.com/elcharitas/waxe
[1]: https://img.shields.io/badge/version-0.0.8-yellow.svg
[2]: https://npmjs.org/package/waxe
[3]: https://github.com/elcharitas/waxe/blob/master/LICENSE
[5]: https://github.com/elcharitas/waxe#readme
[doT's]: https://github.com/olado/doT