Skip to content

Latest commit

 

History

History
138 lines (100 loc) · 4.32 KB

.verb.md

File metadata and controls

138 lines (100 loc) · 4.32 KB

{%= 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).

Why should I use breakdance?

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

HTML-to-markdown example

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>&lt;tbody&gt;</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.

About

Community

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.

Related projects

{%= section("related", related(verb.related.list)) %}

Contributing

{%= include("contributing") %}

Contributors

{%= gh.contributors() %}

Release history

{%= increaseHeadings(increaseHeadings(changelog('changelog.md', { changelogFooter: true, stripHeading: true, repo: repo }))) %}

Running tests

{%= include("running-tests") %}

Author

Jon Schlinkert

License

Copyright © 2017, Jon Schlinkert. Released under the MIT license.


{%= include("footer") %}

{%= reflinks(verb.reflinks) %}