Nine Pedestrians Mesmerized

    angular-html-parser
    TypeScript icon, indicating that this package has built-in type declarations

    4.0.0 • Public • Published

    angular-html-parser

    npm

    An HTML parser extracted from Angular with some modifications

    Changelog

    Install

    # using npm
    npm install --save angular-html-parser
    
    # using yarn
    yarn add angular-html-parser

    Usage

    import {parse} from 'angular-html-parser';
    
    const {rootNodes, errors} = parse(`
    <!DOCTYPE html>
    <html>
      <head>
        <title>Hello world!</title>
      </head>
      <body>
        <div>Hello world!</div>
      </body>
    </html>
    `);

    API

    declare function parse(input: string, options?: Options): ng.ParseTreeResult;
    
    interface Options {
      /**
       * any element can self close
       *
       * defaults to false
       */
      canSelfClose?: boolean;
      /**
       * support [`htm`](https://github.com/developit/htm) component closing tags (`<//>`)
       *
       * defaults to false
       */
      allowHtmComponentClosingTags?: boolean;
      /**
       * do not lowercase tag names before querying their tag definitions
       *
       * defaults to false
       */
      isTagNameCaseSensitive?: boolean;
      /**
       * customize tag content type
       *
       * defaults to the content type defined in the HTML spec
       */
      getTagContentType?: (
        tagName: string,
        prefix: string,
        hasParent: boolean,
        attrs: Array<{prefix: string; name: string; value?: string | undefined}>
      ) => void | ng.TagContentType;
    }

    Modifications

    • add CDATA node
    • add DocType node
    • add nameSpan field to Element and Attribute
    • allow case-insensitive closing tags for non-foreign elements
    • fix Comment#sourceSpan
    • support bogus comments (<!...>, <?...>)
    • support full named entities (fixed upstream)
    • add type property to nodes
    • value span for attributes includes quotes

    Development

    # build
    yarn run build
    
    # test
    yarn run test

    License

    MIT © Ika

    Keywords

    none

    Install

    npm i angular-html-parser

    DownloadsWeekly Downloads

    101,658

    Version

    4.0.0

    License

    MIT

    Unpacked Size

    1.15 MB

    Total Files

    45

    Last publish

    Collaborators

    • thorn0
    • fisker
    • ikatyang