3.1.1 • Published 8 years ago

markdown-bemjson v3.1.1

Weekly downloads
5
License
MIT
Repository
github
Last release
8 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

8 years ago

3.0.6

9 years ago

3.0.5

9 years ago

3.0.4

9 years ago

3.0.3

9 years ago

3.0.2

9 years ago

3.0.1

9 years ago

3.0.0

9 years ago

2.0.2

9 years ago

2.0.1

9 years ago

2.0.0

9 years ago

1.0.0

9 years ago

0.3.6

9 years ago

0.3.5

10 years ago

0.3.4

10 years ago

0.3.3

10 years ago

0.3.1

10 years ago

0.3.0

10 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.15

10 years ago

0.0.14

10 years ago

0.0.13

10 years ago

0.0.12

10 years ago

0.0.11

10 years ago

0.0.10

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago