mdast-util-to-nlcst
mdast utility to transform to nlcst.
Note
: You probably want to use
remark-retext.
Install
npm:
npm install mdast-util-to-nlcst
Usage
var toNLCST = require('mdast-util-to-nlcst')
var inspect = require('unist-util-inspect')
var English = require('parse-english')
var remark = require('remark')
var vfile = require('vfile')
var file = vfile('Some *foo*sball.')
var tree = remark().parse(file)
var nlcst = toNLCST(tree, file, English)
console.log(inspect(nlcst))
Yields:
RootNode[1] (1:1-1:17, 0-16)
└─ ParagraphNode[1] (1:1-1:17, 0-16)
└─ SentenceNode[4] (1:1-1:17, 0-16)
├─ WordNode[1] (1:1-1:5, 0-4)
│ └─ TextNode: "Some" (1:1-1:5, 0-4)
├─ WhiteSpaceNode: " " (1:5-1:6, 4-5)
├─ WordNode[2] (1:7-1:16, 6-15)
│ ├─ TextNode: "foo" (1:7-1:10, 6-9)
│ └─ TextNode: "sball" (1:11-1:16, 10-15)
└─ PunctuationNode: "." (1:16-1:17, 15-16)
API
toNlcst(tree, file, Parser[, options])
Transform a tree in mdast, with a corresponding virtual file, into nlcst.
Parameters
node
Tree in mdast with positional information (MdastNode).
file
Virtual file (VFile).
parser
nlcst parser (Function).
For example, parse-english, parse-dutch, or
parse-latin.
options.ignore
List of types to ignore (Array.<string>).
'table', 'tableRow', and 'tableCell' are always ignored.
options.source
List of types to mark as source (Array.<string>).
'inlineCode' is always marked as source.
Returns
Examples
ignore
Say we have the following file example.md:
A paragraph.
> A paragraph in a block quote.
…and if we now transform with ignore: ['blockquote'], we get:
RootNode[2] (1:1-3:1, 0-14)
├─ ParagraphNode[1] (1:1-1:13, 0-12)
│ └─ SentenceNode[4] (1:1-1:13, 0-12)
│ ├─ WordNode[1] (1:1-1:2, 0-1)
│ │ └─ TextNode: "A" (1:1-1:2, 0-1)
│ ├─ WhiteSpaceNode: " " (1:2-1:3, 1-2)
│ ├─ WordNode[1] (1:3-1:12, 2-11)
│ │ └─ TextNode: "paragraph" (1:3-1:12, 2-11)
│ └─ PunctuationNode: "." (1:12-1:13, 11-12)
└─ WhiteSpaceNode: "\n\n" (1:13-3:1, 12-14)
source
Say we have the following file example.md:
A paragraph.
> A paragraph in a block quote.
…and if we now transform with source: ['blockquote'], we get:
RootNode[3] (1:1-3:32, 0-45)
├─ ParagraphNode[1] (1:1-1:13, 0-12)
│ └─ SentenceNode[4] (1:1-1:13, 0-12)
│ ├─ WordNode[1] (1:1-1:2, 0-1)
│ │ └─ TextNode: "A" (1:1-1:2, 0-1)
│ ├─ WhiteSpaceNode: " " (1:2-1:3, 1-2)
│ ├─ WordNode[1] (1:3-1:12, 2-11)
│ │ └─ TextNode: "paragraph" (1:3-1:12, 2-11)
│ └─ PunctuationNode: "." (1:12-1:13, 11-12)
├─ WhiteSpaceNode: "\n\n" (1:13-3:1, 12-14)
└─ ParagraphNode[1] (3:1-3:32, 14-45)
└─ SentenceNode[1] (3:1-3:32, 14-45)
└─ SourceNode: "> A paragraph in a block quote." (3:1-3:32, 14-45)
Related
remark-retext— retext support for remarkhast-util-to-nlcst— Transform hast to nlcsthast-util-to-mdast— Transform hast to mdastmdast-util-to-hast— Transform mdast to hast
Contribute
See contributing.md in syntax-tree/.github for ways to get
started.
See support.md for ways to get help.
This project has a Code of Conduct. By interacting with this repository, organisation, or community you agree to abide by its terms.