Конвертирует данные из формата bemjson в markdown
Для обратного преобразования (markdown в bemjson) используйте модуль markdown-bemjson
npm
npm i bemjson-markdown --savegit
git clone https://github.com/4ok/bemjson-markdown.git// Классический путь
var BemjsonMarkdown = require('bemjson-markdown');
var bemjsonMarkdown = new BemjsonMarkdown();
// Тоже самое, но с сахаром
var bemjsonMarkdown = require('bemjson-markdown')();
var bemjson = {
    block   : 'content',
    content : [
        {
            elem : 'header',
            mods : {
                level : 3
            },
            content : 'Header level 3'
        },
        {
            elem     : 'p',
            content  : [
                'I am using ',
                {
                    elem    : 'strong',
                    content : 'markdown'
                }
            ]
        }
    ]
};
var markdown = bemjsonMarkdown.convert(bemjson.content);
console.log(markdown);
/*
### Header level 3
I am using **markdown**
*/options
Type: object
Настройки
options.masks
Type: object
Коллекция масок.
{
    paragraph : {
        elem : 'p'
    },
    
    list : {
        block : 'list',
        mods  : {
            block : 'content',
            elem  : 'list
        }
    }
}К примеру мы имеем часть bemjson следующего вида:
{
    block : 'block-a',
    mods  : {
        'block' : 'block-b'
    },
    mix : [
        {
           'block' : 'block-c',
        },
        {
            'block' : 'block-d',
            'elem'  : 'elem-d'
        }
    ]
}На него накладываются следующие маски:
{
    block : 'block-a',
    mix : [
        {
           'block' : 'block-c',
        }
    ]
}{
    block : 'block-a',
    mods  : {
        'block' : 'block-b'
    },
    mix : {
        'block' : 'block-d',
        'elem'  : 'elem-d'
    }
}Если маска совпадает, то будет вызвано соответствующее преобразование в markdown.
Правило по которому будет применено преобразование указано как ключ для маски, для примера выше это paragraph и list.
Если ни одна из масок не совпала, то не распознанный bemjson будет обертнут как код javascript:
```javascript
{
    block   : 'block',
    content : 'content
}
```
Маски применяемые по умолчанию
Block level
- code - блок кода
 - blockquote - цитата
 - heading - заголовок
 - hr - горизонтальная линия
 - list - блок списка
 - listitem - элемент списка
 - paragraph - параграф
 - table - таблица
 - tablerow - строка таблицы
 - tablecell - ячейка таблицы
 
Inline level
- strong - выделение текста жирным
 - em - выделение текста курсивом
 - codespan - код инлайн
 - br - перевод строки
 - del - перечеркнутый текст
 - link - ссылка
 - image - изображение
 
bemjson
Type: object
Bemjson
Все это можно оформить в виде issues на GitHub.
MIT Лицензия