list-item
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');
var li = listitem({chars: '1..100..10'}, function (ch) {
return romanize(ch) + '.';
});
['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
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');
li(1, 'Level 1 list item');
li(2, 'Level 2 list item');
Related projects
- 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.