npm.io
0.1.1 • Published 10 years ago

to-list

Licence
MIT
Version
0.1.1
Deps
0
Vulns
0
Weekly
0
Stars
4

to-list NPM version Build Status

Parse a string into a list object with text and level properties.

Install

Install with npm:

$ npm i to-list --save

Usage

var toList = require('to-list');

API

The following list is assumed to be the source string in all examples:

- This is item 1
- This is item 2
- This is item 3
  * This is sub-item A
  * This is sub-item B
  * This is sub-item C

Example

var list = toList(str);
//=> list[0].level === 0
//=> list[3].level === 2

Results in

The list is parsed into any array that looks something like:

[ { text: 'This is item 1',
    lead: [ '- ', index: 0, input: '- This is item 1' ],
    level: 0 },
  { text: 'This is item 2',
    lead: [ '- ', index: 0, input: '- This is item 2' ],
    level: 0 },
  { text: 'This is item 3',
    lead: [ '- ', index: 0, input: '- This is item 3' ],
    level: 0 },
  { text: 'This is sub-item A',
    lead: [ '  * ', index: 0, input: '  * This is sub-item A' ],
    level: 2 },
  { text: 'This is sub-item B',
    lead: [ '  * ', index: 0, input: '  * This is sub-item B' ],
    level: 2 },
  { text: 'This is sub-item C',
    lead: [ '  * ', index: 0, input: '  * This is sub-item C' ],
    level: 2 } ]
Item function

Pass a function as the second argument to customize each item object as it's created:

var list = toList(str, function(item) {
  item.level = item.level / 2;
  return item;
});

//=> list[0].level === 0
//=> list[3].level === 1
  • bullets: Generate a plain-text and markdown formatted lists or tables of contents, with proper indentation, bullets,… more | homepage
  • list-item: Generate a single formatted list item, allowing you to easily generate lists with proper indentation,… more | homepage

Running tests

Install dev dependencies:

$ npm i -d && npm test

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Author

Jon Schlinkert

License

Copyright 2016 Jon Schlinkert Released under the MIT license.


This file was generated by verb on January 19, 2016.