0.1.9 • Published 9 years ago

bemjson-markdown v0.1.9

Weekly downloads
3
License
MIT
Repository
github
Last release
9 years ago

bemjson-markdown

Конвертирует данные из формата bemjson в markdown

Для обратного преобразования (markdown в bemjson) используйте модуль markdown-bemjson

Содержание

  • Зависимости
  • Установка
  • Простой пример
  • Документация
  • Авторы
  • Идеи, замечания и пожелания
  • Лицензия

Дополнительная информация

Зависимости

Установка

npm

npm i bemjson-markdown --save

git

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**
*/

Документация

@contructor(options)

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:

Маски применяемые по умолчанию

Доступные правила

Block level

  • code - блок кода
  • blockquote - цитата
  • heading - заголовок
  • hr - горизонтальная линия
  • list - блок списка
  • listitem - элемент списка
  • paragraph - параграф
  • table - таблица
  • tablerow - строка таблицы
  • tablecell - ячейка таблицы

Inline level

  • strong - выделение текста жирным
  • em - выделение текста курсивом
  • codespan - код инлайн
  • br - перевод строки
  • del - перечеркнутый текст
  • link - ссылка
  • image - изображение

convert(bemjson)

bemjson

Type: object

Bemjson

Авторы

Идеи, замечания и пожелания

Все это можно оформить в виде issues на GitHub.

Лицензия

MIT Лицензия

0.1.9

9 years ago

0.1.8

10 years ago

0.1.7

10 years ago

0.1.6

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago