md-to-bemjson v1.0.2
md-to-bemjson
Requirements
Install
$ npm install md-to-bemjson
Usage
const toBemjson = require('md-to-bemjson').convertSync;
const bjson = toBemjson('# Hello world');
console.log(JSON.stringify(bjson, null, 4));
Yields:
{
"block": "md-root",
"content": {
"block": "heading",
"content": "Hello world",
"level": 1,
"mods": {
"level": 1
}
}
}
Markdown converter to bemjson
Module use remark with several plugins and custom compiler to convert markdown to bemjson. Plugins divided into two groups: necessary(you can't disable this plugins) and optional.
Necessary plugins:
- remark-inline-links - bemjson don't support references.
Optional plugins:
- remark-github - Github integrations (issues, commits, mentions)
Compiler
- remark-bemjson - custom bemjson compiler
API
- constructor([options])
- convert(markdown)
- convertSync(markdown)
- stringify(markdown)
- stringifySync(markdown)
- static convert(markdown[, options])
- static convertSync(markdown[, options])
- static stringify(markdown[, options])
- static stringifySync(markdown[, options])
constructor([options])
Options
Parameter | Type | Description |
---|---|---|
github | Object, boolean | Enables github support with remark plugin remark-github. Default false . |
exportType | enum | remark-bemjson option. Exports to certain type with .stringify . Supported exports. |
exportName | string | remark-bemjson option. Used with exportType=(modules, umd, YModules) stringify bemjson with exported given name. |
augment | Function, Object | Options for augmentation resulting bemjson by every node. As function accepts bemNode and must return it. |
plugins | Array | Options for additional plugins to be included. Plugin format: { plugin: Function, options: Object } |
Options.augment
Parameter | Type | Description |
---|---|---|
prefix | string | Add prefix to all blocks. Important: for root replace original prefix. |
scope | string | Replace root block with scope. And replace all blocks with elems. |
map | Object | Replace block names with provided in map. Available blocks. |
html | Object | Options for converting html to bemjson with html2bemjson. |
Important: Augmentation flow is serial. Order: map, prefix, scope. Important: Other augmentations does not affect html.
convert(markdown) => Promise
Parameter | Type | Description |
---|---|---|
markdown | string | Markdown text |
Asynchronously converts markdown to bemjson.
const Converter = require('md-to-bemjson');
const md2Bemjson = new Converter();
md2Bemjson.convert('# Hello world').then(bjson => console.log(JSON.stringify(bjson, null, 4)))
Yields:
{
"block": "md-root",
"content": {
"block": "heading",
"content": "Hello world",
"level": 1,
"mods": {
"level": 1
}
}
}
convertSync(markdown) => Bemjson
Parameter | Type | Description |
---|---|---|
markdown | string | Markdown text |
Synchronously converts markdown to bemjson.
const Converter = require('md-to-bemjson');
const md2Bemjson = new Converter();
console.log(JSON.stringify(md2Bemjson.convertSync('# Hello world'), null, 4));
Yields:
{
"block": "md-root",
"content": {
"block": "heading",
"content": "Hello world",
"level": 1,
"mods": {
"level": 1
}
}
}
stringify(markdown [, options]) => Promise
Parameter | Type | Description |
---|---|---|
markdown | string | Markdown text |
options | Object | Options prefixed with export* . Important: Creates new processor. For better performance set options via constructor. |
Asynchronously converts and stringify markdown to bemjson module with exports.
const Converter = require('md-to-bemjson');
const md2Bemjson = new Converter();
md2Bemjson.stringify('# Hello world').then(content => console.log(content))
Yields:
module.exports = {
block: 'md-root',
content: {
block: 'heading',
content: 'Hello world',
"level": 1,
mods: {
'level': 1
}
}
};
stringifySync(markdown [, options]) => String
Parameter | Type | Description |
---|---|---|
markdown | string | Markdown text |
options | Object | Options prefixed with export* . Important: Creates new processor. For better performance set options via constructor. |
Synchronously converts and stringify markdown to bemjson module with exports.
const Converter = require('md-to-bemjson');
const md2Bemjson = new Converter();
console.log(md2Bemjson.stringifySync('# Hello world'));
Yields:
module.exports = {
block: 'md-root',
content: {
block: 'heading',
content: 'Hello world',
level: 1,
mods: {
'level': 1
}
}
};
static convert(markdown [, options]) => Promise
Parameter | Type | Description |
---|---|---|
markdown | string | Markdown text |
options | Object | plugin options |
Asynchronously converts markdown to bemjson.
const toBemjson = require('md-to-bemjson').convert;
toBemjson('# Hello world').then(bjson => console.log(JSON.stringify(bjson, null, 4)))
Yields:
{
"block": "md-root",
"content": {
"block": "heading",
"content": "Hello world",
"level": 1,
"mods": {
"level": 1
}
}
}
static convertSync(markdown [, options]) => Bemjson
Parameter | Type | Description |
---|---|---|
markdown | string | Markdown text |
options | Object | plugin options |
Synchronously converts markdown to bemjson.
const toBemjson = require('md-to-bemjson').convertSync;
console.log(JSON.stringify(toBemjson('# Hello world'), null, 4));
Yields:
{
"block": "md-root",
"content": {
"block": "heading",
"content": "Hello world",
"level": 1,
"mods": {
"level": 1
}
}
}
static stringify(markdown [, options]) => Promise
Parameter | Type | Description |
---|---|---|
markdown | string | Markdown text |
options | Object | plugin options |
Asynchronously converts and stringify markdown to bemjson module with exports.
const toBemjsonString = require('md-to-bemjson').stringify;
toBemjsonString('# Hello world').then(bjson => console.log(JSON.stringify(bjson, null, 4)));
Yields:
module.exports = {
block: 'md-root',
content: {
block: 'heading',
content: 'Hello world',
level: 1,
mods: {
level: 1
}
}
};
static stringifySync(markdown [, options]) => String
Parameter | Type | Description |
---|---|---|
markdown | string | Markdown text |
options | Object | plugin options |
Synchronously converts and stringify markdown to bemjson module with exports.
const toBemjsonString = require('md-to-bemjson').stringifySync;
console.log(toBemjsonString('# Hello world'));
Yields:
module.exports = {
block: 'md-root',
content: {
block: 'heading',
content: 'Hello world',
level: 1,
mods: {
'level': 1
}
}
};
License
Code and documentation copyright 2017 YANDEX LLC. Code released under the Mozilla Public License 2.0.
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago