{%= name %} {%= badge('npm') %} {%= badge('npm-downloads-monthly') %} {%= badge('npm-downloads-total') %} {%= ifExists(["test", "test.js"], badge("travis")) %} {%= ifExists("appveyor.yml", badge('appveyor')) %}
{%= description %}
Breakdance is a node.js library for converting HTML to markdown. You can use breakdance to:
- Migrate HTML blog posts to markdown
- Convert wiki pages to markdown
- Convert HTML documentation to markdown
- Convert HTML presentations or slide decks to markdown
- Convert busy web pages into readable markdown documents.
Visit [breakdance.io]({%= homepage %}) for detailed documentation, [examples]({%= homepage %}/examples), [recipes]({%= homepage %}/recipes), and advice on [authoring and finding plugins]({%= homepage %}/plugins.html).
Breakdance uses [cheerio][] to parse HTML, and [snapdragon][] for rendering, which provides granular control over the entire conversion process in a way that is easy to understand, reason about, and [customize]({%= homepage %}/plugins.html). If you see something you don't like, it's easy to change!
Generates well-formatted markdown
- Comprehensive HTML tag coverage.
- Granular control over every HTML element and attributes
- Even converts HTML tables to markdown!
Extremely pluggable
Every part of the conversion is customizable:
- [options]({%= homepage %}/plugins.html) are available for customizing output of any HTML tag if you don't like the defaults
- [plugins]({%= homepage %}/plugins.html) are easy to write if you'd like to share your customizations with the world
Tables
The following HTML table from bootstrap's docs:
<h2 id=tables-hover-rows>Hover rows</h2>
<p>Add <code>.table-hover</code> to enable a hover state on table rows within a <code><tbody></code>.</p>
<div class=bs-example data-example-id=hoverable-table>
<table class="table table-hover">
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Username</th>
</tr>
</thead>
<tbody>
<tr>
<th scope=row>1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope=row>2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope=row>3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
</div>
Would render to the following markdown:
## Hover rows
Add `.table-hover` to enable a hover state on table rows within a `<tbody>`.
| # | First Name | Last Name | Username |
| --- | --- | --- | --- |
| 1 | Mark | Otto | @mdo |
| 2 | Jacob | Thornton | @fat |
| 3 | Larry | the Bird | @twitter |
See [the documentation]({%= homepage %}/examples.html) for more examples.
Get updates on Breakdance's development and chat with the project maintainers and community members.
- Follow @breakdancejs on Twitter.
- Join the conversation on Gitter
- Implementation help may be found on Stack Overflow (please use the tag
breakdance
). - For maximum discoverability, plugin developers should use the keyword
breakdance
on packages which modify or add to the functionality of Breakdance when distributing through npm or similar delivery mechanisms.
{%= section("related", related(verb.related.list)) %}
{%= include("contributing") %}
{%= gh.contributors() %}
{%= increaseHeadings(increaseHeadings(changelog('changelog.md', { changelogFooter: true, stripHeading: true, repo: repo }))) %}
{%= include("running-tests") %}
Jon Schlinkert
Copyright © 2017, Jon Schlinkert. Released under the MIT license.
{%= include("footer") %}
{%= reflinks(verb.reflinks) %}