bemjson-markdown
v0.1.9
Published
Bemjson to markdown converter
Downloads
6
Readme
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 Лицензия