Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/revin/markdown-it-task-lists

A markdown-it plugin to create GitHub-style task lists
https://github.com/revin/markdown-it-task-lists

Last synced: 10 days ago
JSON representation

A markdown-it plugin to create GitHub-style task lists

Awesome Lists containing this project

README

        

# markdown-it-task-lists

A [markdown-it](https://www.npmjs.com/package/markdown-it) plugin to create GitHub-style [task lists](https://github.com/blog/1825-task-lists-in-all-markdown-documents)

[![Greenkeeper badge](https://badges.greenkeeper.io/revin/markdown-it-task-lists.svg)](https://greenkeeper.io/)
[![Build Status](https://travis-ci.org/revin/markdown-it-task-lists.svg?branch=master)](https://travis-ci.org/revin/markdown-it-task-lists)
[![Code Climate](https://codeclimate.com/github/revin/markdown-it-task-lists/badges/gpa.svg)](https://codeclimate.com/github/revin/markdown-it-task-lists)

## What it does

- Builds [task/todo lists](https://github.com/blog/1825-task-lists-in-all-markdown-documents) out of markdown lists with items starting with `[ ]` or `[x]`.
- Nothing else

### Why is this useful?

When you have markdown documentation with checklists, rendering HTML checkboxes
out of the list items looks nicer than the raw square brackets.

## Installation

```sh
npm install markdown-it-task-lists
```

## Usage

Use it the same as a normal markdown-it plugin:

```js
var md = require('markdown-it');
var taskLists = require('markdown-it-task-lists');

var parser = md().use(taskLists);

var result = parser.render(...); // markdown string containing task list items
```

The rendered checkboxes are disabled; to change this, pass a truthy value into
the `enabled` property of the plugin options:

```js
var parser = md().use(taskLists, {enabled: true});
```

If you'd like to wrap the rendered list items in a `` element for UX
purposes, pass a truthy value to the `label` property of the plugin options:

```js
var parser = md().use(taskLists, {label: true});
```

To add the label after the checkbox pass a truthy value to `labelAfter` property:

```js
var parser = md().use(taskLists, {label: true, labelAfter: true});
```

**Note:** This option does require the `label` option to be truthy.

The options can be combined, of course.

### Browser Usage

If you use one of the versions of this module available in `dist/` directly in
a browser by including it with a `` element, it will be available
globally in `window.markdownitTaskLists`.

## Tests

```sh
npm install
npm test
```

## License

ISC