Skip to content

vithar/markdown-bemjson

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Простой пример

// Классический путь
var MarkdownBemjson = require('markdown-bemjson');
var markdownBemjson = new MarkdownBemjson();

// Тоже самое, но с сахаром
var markdownBemjson = require('markdown-bemjson')();

var markdown = 'I am using __markdown__';
var bemjson  = markdownBemjson.convert(markdown);

console.log(bemjson);
/*
{
    block: 'content',
    content : [
        {
            elem    : 'p',
            content : [
            	'I am using ',
            	{
            		elem    : 'strong',
            		content : ['markdown']
        		}
    		]
        }
    ]
}
*/

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

@contructor([options])

options

Type: object

Настройки


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

Правила преобразования.
Если передана строка, то она будет считаться путем до файла который возвращает правила.

Пример правил:

function (options) {
    return {
        paragraph : function (text) {

            return {
                elem    : 'p',
                content : text
            }
        },

        heading : function (text, level, raw) {

            return {
                elem : 'header',
                elemMods : {
                    level : 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 Лицензия

About

Markdown to bemjson converter

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%