Have ideas to improve npm?Join in the discussion! »

    mdast-util-to-nlcst
    TypeScript icon, indicating that this package has built-in type declarations

    5.0.2 • Public • Published

    mdast-util-to-nlcst

    Build Coverage Downloads Size Sponsors Backers Chat

    mdast utility to transform to nlcst.

    Note: You probably want to use remark-retext.

    Install

    This package is ESM only: Node 12+ is needed to use it and it must be imported instead of required.

    npm:

    npm install mdast-util-to-nlcst

    Use

    import {VFile} from 'vfile'
    import {ParseEnglish} from 'parse-english'
    import {inspect} from 'unist-util-inspect'
    import fromMarkdown from 'mdast-util-from-markdown'
    import {toNlcst} from 'mdast-util-to-nlcst'
    
    var file = new VFile('Some *foo*sball.')
    var mdast = fromMarkdown(file)
    var nlcst = toNlcst(mdast, file, ParseEnglish)
    
    console.log(inspect(nlcst))

    Yields:

    RootNode[1] (1:1-1:17, 0-16)
    └─0 ParagraphNode[1] (1:1-1:17, 0-16)
        └─0 SentenceNode[4] (1:1-1:17, 0-16)
            ├─0 WordNode[1] (1:1-1:5, 0-4)
            │   └─0 TextNode "Some" (1:1-1:5, 0-4)
            ├─1 WhiteSpaceNode " " (1:5-1:6, 4-5)
            ├─2 WordNode[2] (1:7-1:16, 6-15)
            │   ├─0 TextNode "foo" (1:7-1:10, 6-9)
            │   └─1 TextNode "sball" (1:11-1:16, 10-15)
            └─3 PunctuationNode "." (1:16-1:17, 15-16)
    

    API

    This package exports the following identifiers: toNlcst. There is no default export.

    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

    NlcstNode.

    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)
    ├─0 ParagraphNode[1] (1:1-1:13, 0-12)
    │   └─0 SentenceNode[4] (1:1-1:13, 0-12)
    │       ├─0 WordNode[1] (1:1-1:2, 0-1)
    │       │   └─0 TextNode "A" (1:1-1:2, 0-1)
    │       ├─1 WhiteSpaceNode " " (1:2-1:3, 1-2)
    │       ├─2 WordNode[1] (1:3-1:12, 2-11)
    │       │   └─0 TextNode "paragraph" (1:3-1:12, 2-11)
    │       └─3 PunctuationNode "." (1:12-1:13, 11-12)
    └─1 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)
    ├─0 ParagraphNode[1] (1:1-1:13, 0-12)
    │   └─0 SentenceNode[4] (1:1-1:13, 0-12)
    │       ├─0 WordNode[1] (1:1-1:2, 0-1)
    │       │   └─0 TextNode "A" (1:1-1:2, 0-1)
    │       ├─1 WhiteSpaceNode " " (1:2-1:3, 1-2)
    │       ├─2 WordNode[1] (1:3-1:12, 2-11)
    │       │   └─0 TextNode "paragraph" (1:3-1:12, 2-11)
    │       └─3 PunctuationNode "." (1:12-1:13, 11-12)
    ├─1 WhiteSpaceNode "\n\n" (1:13-3:1, 12-14)
    └─2 ParagraphNode[1] (3:1-3:32, 14-45)
        └─0 SentenceNode[1] (3:1-3:32, 14-45)
            └─0 SourceNode "> A paragraph in a block quote." (3:1-3:32, 14-45)
    

    Security

    Use of mdast-util-to-nlcst does not involve hast so there are no openings for cross-site scripting (XSS) attacks.

    Related

    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, organization, or community you agree to abide by its terms.

    License

    MIT © Titus Wormer

    Install

    npm i mdast-util-to-nlcst

    DownloadsWeekly Downloads

    191,349

    Version

    5.0.2

    License

    MIT

    Unpacked Size

    16.9 kB

    Total Files

    5

    Last publish

    Collaborators

    • avatar
    • avatar