open-index/open-npm huggingface dataset:
npm package: @quenk/tendril-show-wml
Description: Provides a tendril show function for WML views.
Latest version: 0.0.9

# Tendril Show WML

This module allows [@quenk/wml][1] to be used as a show function in tendril 
projects.

[1]: https://github.com/quenktechnologies/wml

# License

Apache-2.0 (C) 2019 Quenk Technologies Limited
npm package: @quenk/wml
Description: (WML) is a DSL for describing user interfaces in web applications.
Author: Quenk Technologies Limited
Latest version: 2.15.3

Widget Markup Language
=====================

# Introduction

The Widget Markup Language (WML) is a DSL for describing user interfaces in 
web applications.

It is the main templating language used by [Quenk Technologies](https://quenk.com).
WML is meant to be a straightforward alternative to using the DOM constructor 
functions directly. It also adds syntax for loops, conditionals and user defined 
elements (not custom elements) referred to as "widgets".

Widgets are created from JavaScript objects referred to as components. The
language provides syntax for their construction in views. A view is the main
output of a WML file and is a grouping of one or more DOM nodes or widgets
in a tree like fashion, that serves as a template for creating content.

A WML file is intended to be compiled to a [TypeScript](https://www.typescriptlang.org).

## Installation

Installing the wml module gives the library files as well as an executable for
converting wml files into typescript.

```sh
npm install --save-dev @quenk/wml
```

This will make the `wmlc` executable available.

## Usage

The `wmlc` executable, given a path, will convert all `*.wml` files underneath
it into typescript.

### Writing WML

The example below demonstrates a view called "Main" which when converted to
typescript will produce a class called "Main" that takes a "MainContext" as its
sole constructor argument.

```wml
{% import (Panel) from "@quenk/wml-widgets/lib/layout/panel" %}
{% import (PanelHeader) from "@quenk/wml-widgets/lib/layout/panel" %}
{% import (PanelBody) from "@quenk/wml-widgets/lib/layout/panel" %}

{% view Main (MainContext) %}
<Panel>

    <PanelHeader><span>{{@title}}</span></PanelHeader>

    <PanelBody>

      This is the panel body.

    </PanelBody>

</Panel>

```

In this view, the root wml element is a widget called `Panel` which forms the 
root of our tree. In wml, capitalization is to indicate a widget constructor
and lowercase is used to indicate a DOM node constructor.

For more details on syntax, consult the [spec.md](spec.md) file.

## License

Apache-2.0 (c) Quenk Technologies Limited 2021
npm package: @quenk/wml-cli
Description: CLI tool for converting wml files to javascript.
Author: Lasana Murray
Latest version: 0.4.0

WML CLI
=======

# Installation
```sh

npm install -g @quenk/wml-cli

```

# Usage

``` sh

$: wml path/to/files

```

`wml` will search recursively for any files ending with `.wml` and create a corresponding
js file. 

# WARNING

This tool will overwrite on any naming conflicts so don't have a `Something.js` 
and a `Something.wml` in your codebase!
npm package: @quenk/wml-parser
Description: WML parser.
Author: Quenk Technologies Limited
Latest version: 0.19.6

# WML Parser

## Install

```sh

npm install --save-dev @quenk/wml-parser

```

## Usage

Exports a single parse function that can be used to parse a string
into a WML AST.

See the API docs for more info.

## License

Apache-2.0 (C) Quenk Technologies Limited
npm package: @quenk/wml-runtime
Description: Runtime for compiled wml files.
Author: Lasana Murray
Latest version: 0.4.5

wml-runtime
===========

This package contains runtime classes and types used by WML programs.

It should be installed alongside any application using wml to generate 
application views.

## Installation

```sh

  npm install --save-dev @quenk/wml-runtime

```

### LICENSE
Apache-2.0