DEPRECATED
!import use !include instead!variable use !property instead!boolean don’t use it more!number don’t use it more!include compile time tagcomponents field in root of YAML file (see !ref)index.yaml or index.yml and if so include this file (you can include components like !include ./components/button instead of !include ./components/button/index.yml)Syntax:
Short version (without properties):
!include ./path/file.ext
Long version (with properties):
!include file: ./path/file.ext
property1: 'some'
property2: 123
Examples:
list:
- !include ./info.md
- !include file: ./more_info.yml
title: 'Hello'
withoutHeader: true
something: !include ./something.yml
!ref compile time tagcomponents field in root of YAML filecomponents fieldSyntax:
!ref components: component_name
Examples:
components:
header: !include file: ./components/header.yml
title: "Default title"
bodyItem: !include ./components/body-item.yml
footer: !include ./components/footer.yml
...
items:
- !ref components: header
title: 'Welcome'
- !ref components: bodyItem
name: 'First one'
- !ref components: bodyItem
name: 'Second one'
- !ref components: footer
!property compile time tagdefault value (only in long version) which can contain any valid YAML value (not only string or number, but also arrays or complex obejcts)required: true mark (only in long version) which throw error message while build target, when value is not filled (default value don’t have any impact if required: true is set)undefined, and field will not exist in output JSONSyntax:
Short version (without default):
!property some_prop
Long version (with default or required):
!property name: some_prop
default: 'Some default value'
required: true
Examples:
items:
- !property prop1
- !property name: prop2
default: 'Prop2 is not here :-)'
- !property name: prop3
required: true
!condition compile time taginclude or omit (include leave object in structure if expression is truly value, omit removes object from structure if expression have truly value)Syntax:
!condition include: typeof some_prop === "boolean" && some_prop === true
!condition omit: typeof some_prop === "string" && some_prop !== "foo"
Examples:
items:
- name: 'this item is not here :-('
!condition include: typeof some_falsy_prop === "boolean" && some_falsy_prop === true
- name: 'this item is here :-)'
!condition omit: typeof some_falsy_prop === "boolean" && some_falsy_prop === true
!component run time tagSyntax:
!component as: some_component
property: 'foo'
Examples:
items:
- !component as: div
items:
- !component as: h1
items: 'Hello'
- !component as: HubClientMagicComponent
doMagic: true
!repeat run time tagSyntax:
!repeat some_item:
- name: 'Some 1'
- name: 'Some 2'
- name: 'Some 3'
component:
!component as: span
items: !expression some_item.name
Examples:
items:
- !repeat car: !expression export.cars
component:
!component as: span
items: !expression car.name
- !repeat pair:
- name: 'Some 1'
value: 'Val 1'
- name: 'Some 2'
value: 'Val 2'
- name: 'Some 3'
value: 'Val 3'
component:
!component as: div
items:
- !component as: span
items: !expression pair.name
- !component as: span
items: "!expression '(' + pair.value + ')'"
!expression run time tagSyntax:
Short version (without parameters):
!expression 'some_expression'
Long version (with parameters):
!expression eval: 'some_expression'
parameter_one: 'Some parameter value'
Examples:
items:
- !component as: span
items:
- !expression 'exports.someExportField'
- !component as: span
max:
!expression eval: 'parseInt(param1) - param2'
param1: !expression 'exports.someExportField'
param2: !property test1
!function run time tagSyntax:
Short version (without parameters):
!function 'some_expression'
Long version (with parameters):
!function eval: 'some_expression'
parameter_one: 'Some parameter value'
Examples:
items:
- !component as: div
onClick: !function 'setSomething(arg1 + "A")'
- !component as: div
onClick:
!function eval: 'doSomething(parseInt(param1) - param2)'
param1: !expression 'exports.someExportField'
param2: !property test1
- !component as: div
onClick: !function |
var a = "A";
var b = "B";
return a + b + " = done";
!t run time tagSyntax:
Short version (without params):
!t Some text
Long version (with params):
!t text: Some text with {paramOne} and {paramTwo}
paramOne: 'Zenoo'
paramTwo: !expression 'exports.someExportField'
Examples:
items:
- !component as: span
items:
- !expression 'exports.someExportField'
!cx run time tagcx(...) method call in hub-client-core expressionsargs)Syntax:
!cx args:
- 'classOne'
- 'classTwo'
- !expression 'exports.someClassName'
Examples:
items:
- !component as: span
className:
!cx args:
- 'classOne'
- 'classTwo'
- !expression 'exports.someClassName'