adobe / htlengine

An HTL (Sightly) Interpreter/Compiler for Node.js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HTL Engine for Javascript

This engine can parse HTL scripts and builds a command stream. The command stream can either be intepreted or used to generate code. This project provides a Javascript (ES6) generator and runtime which allows to execute the scripts and use-classes.

Status

codecov CircleCI GitHub license GitHub issues

LGTM Code Quality Grade: JavaScript

Install

npm install @adobe/htlengine

Build

npm install

run

currently not very cool. just passes the given file into the HTML parser and outputs the tree again.

node src/cli.js test/simple2.html

Webpack

Compile the HTL templates wth webpack using the htl-loader

API

You can also use the API directly:

const { Compiler } = require('@adobe/htlengine');

const compiler = new Compiler()
      .withDirectory('')
      .includeRuntime(true)
      .withRuntimeGlobalName('it');

const js = await compiler.compileToString(code);
// the result can be saved as a file or eval'd

examples

test

The tests are more comprehensive. They validate if the the HTL expressions are parsed and re-created using the generated parse tree.

npm test

rebuild generated nearley grammar

npm run build

About

An HTL (Sightly) Interpreter/Compiler for Node.js

License:Apache License 2.0


Languages

Language:HTML 77.0%Language:JavaScript 18.2%Language:Ruby 4.6%Language:Nearley 0.1%Language:Shell 0.0%