# Task Lists [![Build Status](http://img.shields.io/travis/deckar01/task_list.svg)][travis] [travis]: https://travis-ci.org/deckar01/task_list This is a community fork of GitHub's archived [`task_list`][task_list] gem. [task_list]: https://github.com/github-archive/task_list ```md - [x] Get - [x] More - [ ] Done ``` > - [x] Get > - [x] More > - [ ] Done ## Components The Task List feature is made of several different components: * Markdown Ruby Filter * Summary Ruby Model: summarizes task list items * JavaScript: frontend task list update behavior * CSS: styles Markdown task list items ## Usage & Integration The backend components are designed for rendering the Task List item checkboxes, and the frontend components handle updating the Markdown source (embedded in the markup). ### Backend: Markdown pipeline filter Rendering Task List item checkboxes from source Markdown depends on the `TaskList::Filter`, designed to integrate with the [`html-pipeline`](https://github.com/jch/html-pipeline) gem. For example: ``` ruby require 'html/pipeline' require 'task_list/filter' pipeline = HTML::Pipeline.new [ HTML::Pipeline::MarkdownFilter, TaskList::Filter ] pipeline.call "- [ ] task list item" ``` ### Frontend: Markdown Updates Task List updates on the frontend require specific HTML markup structure, and must be enabled with JavaScript. Rendered HTML (the `