3.1.1 • Published 6 years ago

markdown-bemjson v3.1.1

Weekly downloads
5
License
MIT
Repository
github
Last release
6 years ago

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 Лицензия

3.1.1

6 years ago

3.0.6

8 years ago

3.0.5

8 years ago

3.0.4

8 years ago

3.0.3

8 years ago

3.0.2

8 years ago

3.0.1

8 years ago

3.0.0

8 years ago

2.0.2

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago

1.0.0

8 years ago

0.3.6

8 years ago

0.3.5

9 years ago

0.3.4

9 years ago

0.3.3

9 years ago

0.3.1

9 years ago

0.3.0

9 years ago

0.2.2

9 years ago

0.2.1

9 years ago

0.2.0

9 years ago

0.1.2

9 years ago

0.1.1

9 years ago

0.1.0

9 years ago

0.0.15

9 years ago

0.0.14

9 years ago

0.0.13

9 years ago

0.0.12

9 years ago

0.0.11

9 years ago

0.0.10

9 years ago

0.0.9

9 years ago

0.0.8

9 years ago

0.0.7

9 years ago

0.0.6

9 years ago

0.0.5

9 years ago

0.0.4

9 years ago

0.0.3

9 years ago