JavaScript HTML
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib Updated dependencies Mar 7, 2017
src Updated dependencies Mar 7, 2017
test Allow option to *not* decode HTML entities Aug 10, 2016
.babelrc Updated dependencies Mar 7, 2017
.eslintrc Fix an error when <a> tag does not have a href Aug 21, 2015
.gitignore Implemented browser tests Mar 27, 2014
.npmignore
.travis.yml Update .travis.yml Jul 12, 2015
LICENSE Added tests Mar 27, 2014
README.md Merge pull request #15 from praveenscience/patch-1 Mar 7, 2017
package.json Updated dependencies Mar 7, 2017

README.md

upndown

Javascript HTML to Markdown converter, for Node.js and the browser.

Live demo here.

About

upndown converts HTML documents to Markdown documents.

upndown is designed to offer a fast, reliable and whitespace perfect conversion for HTML documents.

Install / Usage

Browser

Standard loading

Download the zip archive on github, unzip, copy in your web folder, and in your HTML:

<script type="text/javascript" src="/assets/upndown/lib/upndown.bundle.min.js"></script>
<script type="text/javascript">

    var und = new upndown();
    und.convert('<h1>Hello, World !</h1>', function(err, markdown) {
        if(err) { console.err(err); }
        else { console.log(markdown); } // Outputs: # Hello, World !
    });

</script>

Using RequireJS

Download the zip archive on github, unzip, copy in your web folder, and in your HTML:

<script type="text/javascript" src="http://requirejs.org/docs/release/2.1.11/minified/require.js"></script>
<script type="text/javascript">

require.config({
    paths: {
        'upndown': '/assets/upndown/lib/upndown.bundle.min'
    }
});

require(['upndown'], function(upndown) {
    var und = new upndown();
    und.convert('<h1>Hello, World !</h1>', function(err, markdown) {
        if(err) { console.err(err);
        else { console.log(markdown); } // Outputs: # Hello, World !
    });
});
</script>

Nodejs

Install

npm install upndown

Use

var upndown = require('upndown');

var und = new upndown();
und.convert('<h1>Hello, World !</h1>', function(err, markdown) {
    if(err) { console.err(err);
    else { console.log(markdown); } // Outputs: # Hello, World !
});

Warning: With Node < 0.12.8, you'll have to require a polyfill for the Promise functionnality (like https://www.npmjs.com/package/bluebird); see #10 on how to do that.

Options

decodeEntities

By default Updown will decode all html entities, so source HTML like this:

<p>I'm an escaped &lt;em&gt;code sample&lt;/em&gt;.</p>

Will become:

I'm an escaped *code sample*.

If your use case does not call for that behavior and you wish HTML entities to stay encoded, you can pass an option to the constructor:

var und = new upndown({decodeEntities: false})

Then just use as normal.

Test

In the browser

Navigate to test/browser/ inside the upndown folder. Browser tests are executed by QUnit.

Nodejs

To run the tests, simply execute:

npm test

Nodejs tests are executed using mocha.

Maintainer

upndown is produced by Net Gusto. Drop us a line at contact@netgusto.com