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

Dependents (13)

Package Sidebar

Install

npm i md-attr-parser

Weekly Downloads

2,146

Version

1.3.0

License

MIT

Unpacked Size

39.2 kB

Total Files

6

Last publish

Collaborators

  • ache