md-attr-parser

1.3.0 • Public • Published

md-attr-parser

A node plugin to parse attributes (custom HTML attributes).

Syntax

The syntax is common :

{#thisIsAnId .thisIsAClass thisKey=thisValue}
 
{thatKey="value" thisKey='thatValue'}

Usage

const parseAttr = require('md-attr-parser');
 
 
parseAttr('{ width=500px editable=true }');
 
parseAttr('height=500px');

The output is an object of the form :

{
  prop: {               // Keep the key-value attribute
    class: undefined,   // A list of class
    id: undefined,      // The uniq id
  },
  eaten: '',            // Every characters parsed
}

For example this code will output :

parseAttr('{ width=500px editable=true #unicorn .dangerous .cute }');
{
  prop: {
    class: ['dangerous', 'cute'],
    id: 'unicorn',
    width: '500px',
    editable: 'true',
  },
  eaten: '{ width=500px editable=true #unicorn .dangerous .cute }',
}

Advanced usage

The parsing can start at a positive offset.

parseAttr('SYNTAX{ width=500px editable=true }', len('SYNTAX'));

A configuration can also be specified, actualy, there is only one configuration option. The default value of key without value.

parseAttr('{ width=500px editable }', 0, {defaultValue: true});
// or
parseAttr('{ width=500px editable }', 0, {defaultValue: key => 'NO_VALUE_FOR_'+key.toUpperCase()});

Licence

MIT

Dependencies (0)

    Dev Dependencies (8)

    Package Sidebar

    Install

    npm i md-attr-parser

    Weekly Downloads

    2,458

    Version

    1.3.0

    License

    MIT

    Unpacked Size

    39.2 kB

    Total Files

    6

    Last publish

    Collaborators

    • ache