If you’re working with HTML documents and looking for a reliable way to convert them to Markdown format, you’ve come to the right place! This guide will walk you through using the **upndown** library in both Node.js and the browser, giving you everything you need to get started.
About upndown
upndown is a fast and reliable tool that converts HTML documents into perfectly whitespace-formatted Markdown documents. It’s designed to simplify the transformation process, making your workflow smoother and more efficient.
Installation and Usage
For the Browser
Standard Loading
To use upndown in the browser, follow these steps:
- Download the zip archive from GitHub.
- Unzip it and copy the folder into your web directory.
- Include the following code in your HTML file:
<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.error(err);
else console.log(markdown); // Outputs: # Hello, World !
});
</script>
Using RequireJS
If you prefer using RequireJS, here’s how you can set it up:
<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.error(err);
else console.log(markdown); // Outputs: # Hello, World !
});
});
</script>
For Node.js
To use upndown in a Node.js environment, follow these steps:
- Install upndown via npm:
npm install upndown
- Then add the following code to your JavaScript file:
var upndown = require("upndown");
var und = new upndown();
und.convert("<h1>Hello, World !</h1>", function(err, markdown) {
if(err) console.error(err);
else console.log(markdown); // Outputs: # Hello, World !
});
Warning for Node.js Users
If you are using Node version 0.12.8, please remember to require a polyfill for the Promise functionality, such as bluebird.
Options
upndown provides options for customization. By default, it decodes all HTML entities. For instance:
<p>I’m an escaped <em>code sample</em>.</p>
This would become:
I’m an escaped *code sample*.
If you want to keep HTML entities encoded, you can pass an option when creating the converter:
var und = new upndown({ decodeEntities: false });
Testing the Conversion
To test upndown in the browser, navigate to test/browser inside the upndown folder. You can execute browser tests using QUnit.
For Node.js, run the tests with the following command:
npm test
Node.js tests are executed using Mocha.
Troubleshooting
If you encounter any issues while using upndown, here are some troubleshooting ideas:
- Ensure you have correctly installed all dependencies.
- Check your console for any error messages that might point towards issues with your input.
- Double-check that your HTML syntax is valid before conversion.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Conclusion
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

