JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 192545
  • Score
    100M100P100Q179620F
  • License MIT

Generate a single formatted list item, allowing you to easily generate lists with proper indentation, bullets, numbers or other leading characters.

Package Exports

  • list-item

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (list-item) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

list-item NPM version

Generate a single formatted list item, allowing you to easily generate lists with proper indentation, bullets, numbers or other leading characters.

Install with npm

npm i list-item --save

Usage

var listitem = require('list-item');

API

listitem

Returns a function to generate a plain-text/markdown list-item, allowing options to be cached for subsequent calls.

  • options {String}

    • nobullet {Boolean}: Pass true if you only want the list iten and identation, but no bullets.
    • indent {String}: The amount of leading indentation to use. default is .
    • chars {String|Array}: If a string is passed, expand-range will be used to generate an array of bullets (visit expand-range to see all options.) Or directly pass an array of bullets, numbers, letters or other characters to use for each list item. Default ['-', '*', '+', '~']
  • fn {Function}: pass a function expand-range to modify the bullet for an item as it's generated. See the [examples].

var li = listitem(options);

li(0, 'Level 0 list item');
//=> '- Level 0 list item'

li(1, 'Level 1 list item');
//=> '  * Level 1 list item'

li(2, 'Level 2 list item');
//=> '    + Level 2 list item'

Examples

Basic list

Generate a list using default bullets and indentation:

var listitem = require('list-item');
var li = listitem();
var res = '';

['a', 'b', 'c', 'd', 'e'].forEach(function (ele, i) {
  res += li(i, ele) + '\n';
});

Results in:

- a
  * b
    + c
      ~ d
        - e

Roman numerals

Generate roman numerals in increments of 10.

var listitem = require('list-item');
var romanize = require('romanize');

// specify `chars` to be passed to expand-range (lib), 
// and use the callback to modify generated numerals
var li = listitem({chars: '1..100..10'}, function (ch) {
  return romanize(ch) + '.';
});

// generate a formatted list!
['a', 'b', 'c', 'd', 'e'].forEach(function (ele, i) {
  res += li(i, ele) + '\n';
});

Results in:

I. a
  XI. b
    XXI. c
      XXXI. d
        XLI. e

Run 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 (c) 2015 Jon Schlinkert
Released under the license


This file was generated by verb on February 21, 2015.