JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 192545
  • Score
    100M100P100Q179734F
  • 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 Build Status

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

(TOC generated by verb)

Install

Install with npm

$ npm i list-item --save

Usage

var listitem = require('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

API

listitem

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

Params

  • options {Object}: pass options to customize list item characters, indentation, etc.
  • options.nobullet {Boolean}: Pass true if you only want the list iten and identation, but no bullets.
  • options.indent {String}: The amount of leading indentation to use. default is ``.
  • options.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.
  • returns {String}: returns a formatted list item

Example

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'
  • deromanize: Convert roman numerals to arabic numbers (useful for books, outlines, documentation, slide decks, etc) | homepage
  • expand-range: Fast, bash-like range expansion. Expand a range of numbers or letters, uppercase or lowercase. See… more | homepage
  • fill-range: Fill in a range of numbers or letters, optionally passing an increment or multiplier to… more | homepage
  • randomatic: Generate randomized strings of a specified length, fast. Only the length is necessary, but you… more | homepage
  • romanize: Convert numbers to roman numerals (useful for books, outlines, documentation, slide decks, etc) | homepage
  • to-regex-range: Returns a regex-compatible range from two numbers, min and max. Useful for creating regular expressions… 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 © 2015 Jon Schlinkert Released under the MIT license.


This file was generated by verb on December 20, 2015.