A Markdown to HTML converter written in Javascript
—
Core conversion functionality for transforming between Markdown and HTML formats using the showdown.Converter class.
Creates a new Converter instance with optional configuration.
/**
* Creates a new Showdown Converter instance
* @param converterOptions - Optional configuration object
* @returns New Converter instance
*/
new showdown.Converter(converterOptions?: ConverterOptions): ConverterUsage Examples:
// Default converter
const converter = new showdown.Converter();
// Converter with options
const converter = new showdown.Converter({
tables: true,
strikethrough: true,
ghCodeBlocks: true,
tasklists: true
});
// Converter with extensions
const converter = new showdown.Converter({
extensions: ['my-extension']
});Converts Markdown text to HTML.
/**
* Converts a markdown string into HTML
* @param text - Markdown text to convert
* @returns HTML string
*/
converter.makeHtml(text: string): stringUsage Examples:
const converter = new showdown.Converter();
// Basic conversion
const html = converter.makeHtml('# Hello World');
console.log(html); // <h1 id="helloworld">Hello World</h1>
// Complex markdown
const markdown = `
# Title
This is **bold** and *italic* text.
- List item 1
- List item 2
\`\`\`javascript
console.log('Hello');
\`\`\`
`;
const html = converter.makeHtml(markdown);Converts HTML back to Markdown format.
/**
* Converts HTML into Markdown
* @param src - HTML string to convert
* @param HTMLParser - Optional HTML parser to use
* @returns Markdown string
*/
converter.makeMarkdown(src: string, HTMLParser?: any): stringUsage Examples:
const converter = new showdown.Converter();
// Basic HTML to Markdown
const markdown = converter.makeMarkdown('<h1>Hello World</h1>');
console.log(markdown); // # Hello World
// Complex HTML
const html = `
<h1>Title</h1>
<p>This is <strong>bold</strong> and <em>italic</em> text.</p>
<ul>
<li>List item 1</li>
<li>List item 2</li>
</ul>
`;
const markdown = converter.makeMarkdown(html);Alias for makeMarkdown method.
/**
* Alias for makeMarkdown - converts HTML into Markdown
* @param src - HTML string to convert
* @param HTMLParser - Optional HTML parser to use
* @returns Markdown string
*/
converter.makeMd(src: string, HTMLParser?: any): stringUsage Examples:
const converter = new showdown.Converter();
// Same functionality as makeMarkdown
const markdown = converter.makeMd('<p><strong>Bold text</strong></p>');
console.log(markdown); // **Bold text**The conversion methods handle various edge cases:
const converter = new showdown.Converter();
// Empty or falsy input returns the input as-is
console.log(converter.makeHtml('')); // ''
console.log(converter.makeHtml(null)); // null
console.log(converter.makeHtml(undefined)); // undefined
// Invalid HTML for makeMarkdown may produce unexpected results
// Always validate input when converting user-provided HTMLInstall with Tessl CLI
npx tessl i tessl/npm-showdown