Skip to content

Latest commit

 

History

History
29 lines (24 loc) · 1.33 KB

TEMPLATER.md

File metadata and controls

29 lines (24 loc) · 1.33 KB

Функция шаблонизации

Реализовать функцию-шаблонизатор, трансформирующую JSON с конкретными блоками и элементами в валидную HTML-разметку, и сделать нужные элементы интерактивными.

В качестве JSON-формата использовать BEMJSON с некоторыми упрощениями.

Миксы задаются массивами, каждый элемент которого включает в себя название блока и/или элемента:

{
    block: 'my-block`,
    mix: [
        {block: 'other-block', mods: {'mod-name': 'mod-value'}},
        {block: 'other-block', elem: 'second-elem', elemMods: {'elem-mod-name': 'elem-mod-value'}}
    ]
}

Если в свойстве content блока вы описываете его элемент, то необходимо явно указывать название блока:

{
    block: 'my-block',
    content: {
        block: 'my-block',
        elem: 'my-block-element'
    }
}

Функция-шаблонизатор должна поддерживать шаблонизацию на стороне клиента, т.е. в браузере.