markdown-bemjson v3.1.1
markdown-bemjson
Конвертирует данные из формата markdown в bemjson
Для обратного преобразования (bemjson в markdown) используйте модуль bemjson-markdown
Содержание
- Зависимости
- Установка
- Простой пример
- Документация
- Авторы
- Идеи, замечания и пожелания
- Лицензия
Дополнительная информация
Зависимости
Установка
npm
npm i markdown-bemjson --save
git
git clone https://github.com/bem-contrib/markdown-bemjson.git
Простой пример
const MarkdownBemjson = require('markdown-bemjson');
const markdownBemjson = new MarkdownBemjson();
const markdown = 'I am using __markdown__';
const bemjson = markdownBemjson.convert(markdown);
console.log(bemjson);
В результате получим следующий bemjson:
{
"block": "content",
"content" : [
{
"elem" : "p",
"content" : [
"I am using ",
{
"elem" : "strong",
"content" : ["markdown"]
}
]
}
]
}
Документация
@contructor(options)
options
Type: object
Настройки
options.isEscapeHtml
Type: boolean
Default: true
Экранировать html или нет. Если установить опцию в false
то для каждого текстового узла будет добавлена обертка { html: ... }
. Подробнее об это можно почитать тут
options.wrapper
Type: object|false
Default: { block : 'content }
Bemjson обертка, content-ом которого будет bemjson объект результата парсинга. Если значение установить в false
, то обертки не будет.
options.markdown
Type: object
Настройки для markdown парсинга.
options.markdown.gfm
Type: boolean
Default: true
Включает GitHub flavored markdown.
options.markdown.tables
Type: boolean
Default: true
Включает GFM tables.
Для это опции необходимо установить опцию gfm
в true.
options.markdown.breaks
Type: boolean
Default: false
Включает GFM line breaks.
Для это опции необходимо установить опцию gfm
в true.
options.markdown.pedantic
Type: boolean
Default: false
Пытаться максимально соответствовать markdown.pl
и не устранять ошибки и нестандартное поведение оригинального markdown.
options.markdown.sanitize
Type: boolean
Default: false
Игнорировать любой HTML-код.
options.markdown.smartLists
Type: boolean
Default: true
Использовать интелектуальное поведение в отличие от оригинального markdown.
options.markdown.smartypants
Type: boolean
Default: false
Использовать "правильные" типографические знаки препинания, например кавычки и тире.
options.markdown.highlight
Type: function
A function to highlight code blocks. See https://github.com/chjj/marked#highlight
options.rules
Type: function|string
Правила преобразования.
Если передана строка, то она будет считаться путем до файла который возвращает правила.
Пример правил:
{
paragraph() {
return {
elem : 'p',
content : text
}
},
heading() {
return {
elem : 'h' + level,
content : text
}
}
}
Доступные свойства для правил:
Block level
- code(string code, string language)
- blockquote(string quote)
- html(string html)
- heading(string text, number level)
- hr()
- list(string body, boolean ordered)
- listitem(string text)
- paragraph(string text)
- table(string header, string body)
- tablerow(string content)
- tablecell(string content, object flags)
flags
содержит следуюшие свойства:
{
header: true || false,
align: 'center' || 'left' || 'right'
}
Inline level
- strong(string text)
- em(string text)
- codespan(string code)
- br()
- del(string text)
- link(string href, string title, string text)
- image(string href, string title, string text)
Правила применяемые по умолчанию
options.tag
Type: boolean
Default: false
Флаг для контроля вывода в результирующий BEMJSON
поля tag
с HTML-тегами по умолчанию.
convert(markdown)
markdown
Type: string
Markdown строка
Авторы
Идеи, замечания и пожелания
Все это можно оформить в виде issues на GitHub.
Лицензия
MIT Лицензия
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago