Note: You probably want to use
remark-retext.
npm:
npm install mdast-util-to-nlcstvar 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)Transform an MDAST syntax tree and corresponding virtual file into an NLCST tree.
Syntax tree, with positional information (MDASTNode).
Virtual file (VFile).
Constructor of an NLCST parser (Function). For example, parse-english, parse-dutch, or parse-latin.
List of node types to ignore (Array.<string>).
'table', 'tableRow', and 'tableCell' are always ignored.
List of node types to mark as source (Array.<string>).
'inlineCode' is always marked as source.
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)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)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
See contributing.md in syntax-tree/mdast for ways to get started.
This organisation has a Code of Conduct. By interacting with this repository, organisation, or community you agree to abide by its terms.